数据存取方法及使用此方法的内存控制器与储存装置的制作方法

文档序号:6355364阅读:308来源:国知局

专利名称::数据存取方法及使用此方法的内存控制器与储存装置的制作方法
技术领域
:本发明涉及一种数据存取方法,且特别涉及一种用于通过多个执行绪模块的存取可复写式非易失性内存模块的数据存取方法及使用此方法的内存控制器与内存储存装置。
背景技术
:数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性内存(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型计算机。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。可复写式非易失性内存储存装置具有多个实体区块(physicalblock),且每一实体区块具有多个实体页面(physicalpage),其中在实体区块中写入数据时必须依据实体页面的顺序依序地写入数据。此外,已被写入数据的实体页面并需先被抹除后才能再次用于写入数据。特别是,实体区块为抹除的最小单位,并且实体页面为程序化(亦称写入)的最小单元。因此,在闪存储存系统的管理中,实体区块会被区分为数据区与闲置区。数据区的实体区块是用以储存主机系统所储存的数据。具体来说,内存管理电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映像至数据区的实体区块的实体页面。也就是说,闪存模块的管理上数据区的实体区块是被视为已被使用的实体区块(例如,已储存主机系统所写入的数据)。例如,内存管理电路会使用逻辑区块-实体区块映像表来记载逻辑区块与数据区的实体区块的映像关系,其中逻辑区块中的逻辑页面是依序的对应所映像的实体区块的实体页面。闲置区的实体区块是用以轮替数据区中的实体区块。具体来说,如上所述,已写入数据的实体区块必须被抹除后才可再次用于写入数据,而闲置区的实体区块是被设计用于写入更新数据以替换原先映像逻辑区块的实体区块。基此,在闲置区中的实体区块为空或可使用的区块,即无记录数据或标记为已没用的无效数据。由于数据区的实体区块与闲置区的实体区块是以轮替方式来以储存主机系统所写入的数据。为了能够让主机系统能够顺利地存取以轮替方式储存数据的实体区块,可复写式非易失性内存储存装置会提供逻辑区块并且将主机系统所存取的逻辑存取地址对应至这些逻辑区块内的逻辑页面。具体来说,可复写式非易失性内存储存装置会将主机所存取的逻辑存取地址转换至对应的逻辑区块,并且通过在逻辑区块-实体区块映像表(logicalblock-physicalblockmappingtable)中记录与更新逻辑区块与数据区的实体区块之间的映像关系来反映实体区块的轮替。所以,主机仅需依据逻辑存取地址进行存取,而闪存储存系统会依据逻辑区块-实体区块映像表在所映像的实体区块上进行数据的读取或写入。具体来说,当主机系统欲将数据储存于一逻辑存取地址时,闪存储存系统的控制电路会识别此逻辑存取地址所属的逻辑区块,从闲置区中提取一实体区块并且将新数据会写入至从闲置区中提取的实体区块(亦称为子实体区块),以替换原先映像此逻辑区块的实体区块(亦称为母实体区块)。在此,一个逻辑区块映像母实体区块和子实体区块的运作称为开启母子区块。之后,当主机系统欲写入数据至另一个逻辑区块时,闪存储存系统必须进行数据合并程序,以将目前映像母实体区块和子实体区块的逻辑区块的有效数据合并(即,将属于此逻辑区块的数据都合并至一个实体区块中)。例如,在数据合并过程中,可复写式非易失性内存储存装置会将母实体区块内的有效数据复制到子实体区块,并且将此逻辑区块重新映像至子实体区块(即,此子实体区块将被关联至数据区)。此外,可复写式非易失性内存储存装置会将原本数据区的母实体区块进行抹除并关联至闲置区。随着一个逻辑区块的容量越来越大,可复写式非易失性内存储存装置必须花费更长的时间来进行上述数据合并程序,以执行下一个写入指令。此外,当内存储存装置仅被配置一个数据总线来连接控制电路与可复写式非易失性内存模块并且多个执行绪模块被配置来存取此可复写式非易失性内存模块时,由于这些执行绪模块是共享一个数据总线来传输数据,因此使得执行写入指令的所需时间更长。例如,倘若以背景方式处理数据的存取的背景执行绪模块正在执行上述数据合并程序以写入数据并且前景执行绪模块接收到主机系统的写入指令时,前景执行绪模块必须等待背景执行绪模块完成数据合并程序之后才能执行此写入指令。特别是,前景执行绪模块在执行此写入指令之前可能亦需先执行数据合并程序,因此,执行此写入指令所需的时间会变的相当长,使得前景执行绪模块无法实时响应主机系统,而造成逾时(timeout)问题。
发明内容本发明提供一种数据存取方法、内存控制器与内存储存装置,其能够在以多执行绪存取非易失性内存模块的架构下避免逾时问题。本发明范例实施例提出一种数据存取方法,用于通过多个执行绪模块在一可复写式非易失性内存模块上存取数据,此可复写式非易失性内存模块具有多个实体区块并且每一实体区块具有依序排列的多个实体页面,这些执行绪模块包括第一执行绪模块与第二执行绪模块,第二执行绪模块执行一写入指令以将多个页面数据写入至这些实体区块之中的第二实体区块中。本数据存取方法包括指派一存取执行权给此第二执行绪模块并且藉由此第二执行绪模块将上述页面数据之中预定数量的页面数据经由一数据总线写入至第二实体区块的预定数量的实体页面中,其中第二执行绪模块在将预定数量的页面数据经由数据总线写入至第二实体区块之后释放此存取执行权并且此预定数量小于任一实体区块所具有的页面数。本数据存取方法也包括在第二执行绪模块释放此存取执行权之后,判断是否接收到应由第一执行绪模块所执行的存取指令。本数据存取方法还包括,当判断接收到应由第一执行绪模块所执行的存取指令时,指派此存取执行权给第一执行绪模块并且藉由第一执行绪模块在这些实体区块之中的第一实体区块上执行此存取指令,其中第一执行绪模块在执行此存取指令之后释放此存取执行权。在本发明的一实施例中,上述的数据存取方法还包括在第一执行绪模块释放存取执行权之后,指派上述存取执行权给第二执行绪模块并且藉由第二执行绪模块将上述页面数据之中的另一预定数量的页面数据经由上述数据总线写入至第二实体区块的另一预定数量的实体页面中,其中第二执行绪模块在将预定数量的页面数据经由数据总线写入至第二实体区块之后释放此存取执行权。在本发明的一实施例中,上述的数据存取方法还包括当判断未接收到应由第一执行绪模块所执行的存取指令时,则指派存取执行权给第二执行绪模块并且藉由第二执行绪模块将这些页面数据之中的另一预定数量的页面数据经由数据总线写入至第二实体区块的另一预定数量的实体页面中,其中第二执行绪模块在将页面数据经由数据总线写入至第二实体区块之后释放此存取执行权。在本发明的一实施例中,上述的数据存取方法还包括配置多个逻辑区块以映像至少部分的实体区块;将这些逻辑区块划分为一第一分割区与一第二分割区;藉由第一执行绪模块独立地存取映像第一分割区的逻辑区块的实体区块;以及藉由第二执行绪模块独立地存取映像第二分割区的逻辑区块的实体区块,其中第一实体区块映像第一分割区的逻辑区块的其中之一,并且第二实体区块映像第二分割区的逻辑区块的其中之一。在本发明的一实施例中,上述的数据存取方法还包括藉由第一执行绪模块处理第一指令;以及藉由第二执行绪模块处理第二指令,其中当第一指令及第二指令皆需被处理时,第一指令优先于第二指令并且上述存取指令属于第一指令。本发明范例实施例提出一种数据存取方法,用于通过多个执行绪模块在可复写式非易失性内存模块上存取数据,此可复写式非易失性内存模块具有多个实体区块并且每一实体区块具有依序排列的多个实体页面,这些执行绪模块包括第一执行绪模块与第二执行绪模块,第二执行绪模块执行一写入指令以将多个页面数据写入至这些实体区块之中的第二实体区块中。本数据存取方法包括判断这些页面数据之中尚未被写入的页面数据的数目是否小于预设门坎值。本数据存取方法还包括,当判断这些页面数据之中尚未被写入的页面数据的数目小于此预设门坎值时,则指派此存取执行权给第二执行绪模块并且藉由第二执行绪模块将这些页面数据之中尚未被写入的页面数据经由数据总线写入至第二实体区块中。本数据存取方法亦包括,当判断这些页面数据之中尚未被写入的页面数据的数目非小于此预设门坎值时,则判断是否接收到应由第一执行绪模块所执行的存取指令。本数据存取方法还包括,当判断接收到应由第一执行绪模块所执行的存取指令时,指派此存取执行权给第一执行绪模块并且藉由此第一执行绪模块经由此数据总线在这些实体区块之中的第一实体区块上执行此存取指令,其中第一执行绪模块在执行此存取指令之后释放此存取执行权。在本发明的一实施例中,上述的数据存取方法还包括指派存取执行权给第二执行绪模块并且藉由第二执行绪模块将这些页面数据之中预定数量的页面数据经由数据总线写入至第二实体区块的中预定数量的实体页面中,其中第二执行绪模块在将预定数量的页面数据经由数据总线写入至第二实体区块之后释放此存取执行权。在此,上述判断页面数据之中尚未被写入的页面数据的数目是否小于预设门坎值的步骤是在第二执行绪模块释放此存取执行权之后被执行。在本发明的一实施例中,当第一执行绪模块及第二执行绪模块皆需被执行时,第一执行绪模块是以前景模式执行,并且第二执行绪模块是以背景模式执行。本发明实施例提出一种内存控制器,用于控制可复写式非易失性内存模块,其中此可复写式非易失性内存模块具有多个实体区块,并且每一实体区块具有依序排列的多个实体页面。本内存控制器包括内存接口与内存管理电路。内存接口用以电性连接至可复写式非易失性内存模块。内存管理电路电性连接至内存接口,并且用以执行一写入指令以将多个页面数据写入至这些实体区块之中的第二实体区块中。在此,内存管理电路包括第一执行绪模块、第二执行绪模块以及电性连接至此第一执行绪模块与第二执行绪模块的资源分配模块。数据指派电路用以指派存取执行权给第二执行绪模块并且第二执行绪模块将这些页面数据之中的预定数量的页面数据经由一数据总线写入至第二实体区块的预定数量的实体页面中,其中第二执行绪模块在将预定数量的页面数据经由数据总线写入至第二实体区块之后释放此存取执行权并且预定数量小于任一实体区块所具有的页面数。此外,在第二执行绪模块释放此存取执行权之后,资源分配模块判断是否接收到应由第一执行绪模块所执行的存取指令。并且,当判断接收到应由第一执行绪模块所执行的存取指令时,此资源分配模块指派此存取执行权给第一执行绪模块并且第一执行绪模块经由数据总线在这些实体区块之中的第一实体区块上执行此存取指令,其中第一执行绪模块在执行此存取指令之后释放此存取执行权。在本发明的一实施例中,在第一执行绪模块释放上述存取执行权之后,上述的资源分配模块指派此存取执行权给第二执行绪模块并且第二执行绪模块将这些页面数据之中的另一预定数量的页面数据经由上述数据总线写入至第二实体区块的另一预定数量的实体页面中,其中第二执行绪模块在将此预定数量的页面数据经由此数据总线写入至第二实体区块之后释放此存取执行权。在本发明的一实施例中,当判断未接收到应由第一执行绪模块所执行的存取指令时,上述的资源分配模块指派存取执行权给第二执行绪模块并且第二执行绪模块将这些页面数据之中的另一预定数量的页面数据经由上述数据总线写入至第二实体区块的另一预定数量的实体页面中,其中第二执行绪模块在将此预定数量的页面数据经由此数据总线写入至第二实体区块之后释放此存取执行权。在本发明的一实施例中,上述的内存管理电路配置多个逻辑区块以映像至少部分的上述实体区块并且将这些逻辑区块划分为第一分割区与第二分割区。在此,第一执行绪模块独立地存取映像第一分割区的逻辑区块的实体区块,并且第二执行绪模块独立地存取映像第二分割区的逻辑区块的实体区块,其中第一实体区块映像第一分割区的逻辑区块的其中之一,并且第二实体区块映像第二分割区的逻辑区块的其中之一。本发明范例实施例提出一种内存控制器,用于控制可复写式非易失性内存模块,其中此可复写式非易失性内存模块具有多个实体区块,并且每一实体区块具有依序排列的多个实体页面。本内存控制器包括内存接口与内存管理电路。内存接口用以电性连接至可复写式非易失性内存模块。内存管理电路电性连接至内存接口,并且用以执行一写入指令以将多个页面数据写入至这些实体区块之中的第二实体区块中。在此,内存管理电路包括第一执行绪模块、第二执行绪模块以及电性连接至此第一执行绪模块与第二执行绪模块的资源分配模块。资源分配模块判断这些页面数据之中尚未被写入的页面数据的数目是否小于一预设门坎值。并且,当判断这些页面数据之中尚未被写入的页面数据的数目小于预设门坎值时,资源分配模块指派此存取执行权给第二执行绪模块并且第二执行绪模块将这些页面数据之中尚未被写入的页面数据经由此数据总线写入至第二实体区块中。另外,当判断这些页面数据之中尚未被写入的页面数据的数目非小于预设门坎值时,资源分配模块会判断是否接收到应由第一执行绪模块所执行的存取指令。并且,当判断接收到应由第一执行绪模块所执行的存取指令时,资源分配模块指派此存取执行权给第一执行绪模块并且第一执行绪模块经由此数据总线在这些实体区块之中的第一实体区块上执行此存取指令,其中第一执行绪模块在执行此存取指令之后释放此存取执行权。在本发明的一实施例中,上述的资源分配模块指派存取执行权给第二执行绪模块并且第二执行绪模块将这些页面数据之中的预定数量的页面数据经由一数据总线写入至第二实体区块的预定数量的实体页面中,其中第二执行绪模块在将预定数量的页面数据经由数据总线写入至第二实体区块之后释放此存取执行权。此外,资源分配模块在第二执行绪模块释放此存取执行权之后,判断这些页面数据之中尚未被写入的页面数据的数目是否小于上述预设门坎值。在本发明的一实施例中,上述第一执行绪模块用以处理第一指令,并且第二执行绪模块用以处理第二指令,其中当第一指令及第二指令皆需被处理时,第一指令优先于第二指令。并且,上述的存取指令属于第一指令。本发明范例实施例提出一种内存储存装置,其包括上述可复写式非易失性内存模块与上述内存控制器。基于上述,本发明范例实施例的数据存取方法、内存控制器与内存储存装置能够有效地避免以多执行绪存取非易失性内存模块可能产生的逾时问题。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。图IA是根据本发明第一范例实施例显示主机系统与内存储存装置。图IB是根据本发明范例实施例显示的计算机、输入/输出装置与内存储存装置的示意图。图IC是根据本发明另一范例实施例显示的主机系统与内存储存装置的示意图。图2是图IA所示的内存储存装置的概要方块图。图3与图4是根据本发明第一范例实施例显示的管理实体区块的示意图。图5图7是根据本发明第一范例实施例显示的写入数据的范例。图8是根据本发明第一范例实施例显示的内存控制器的概要方块图。图9是根据本发明第一范例实施例显示的数据存取方法的流程图。图10是根据本发明第二范例实施例显示的数据存取方法的流程图。主要组件符号说明1000:主机系统1100:计算机1102:微处理器1104:随机存取内存1106:输入/输出装置1108:系统总线1110:数据传输接口1202:鼠标1204:键盘1206:显示器1208:打印机1212:随身碟1214:记忆卡1216:固态硬盘1310:数字相机1312SD卡1314:MMC卡1316:记忆棒1318:CF卡1320:嵌入式储存装置100:内存储存装置102:连接器104:内存控制器106:可复写式非易失性内存模块106a:数据总线310(0)310(R):实体区块502:数据区504:闲置区506:系统区508:取代区510(0)510(H):逻辑区块610:第一分割区620:第二分割区710(0)710(M):逻辑存取地址202:内存管理电路204:主机接ロ206:内存接ロ252:缓冲存储器254:电源管理电路、256:错误检查与校正电路282:第一执行绪模块284:第二执行绪模块286:资源分配模块S901、S903、S905、S907、S909、S911:数据存取的步骤S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017:数据存取的步骤具体实施例方式第一范例实施例图IA是根据本发明第一范例实施例显示主机系统与内存储存装置。请參照图1A,主机系统1000—般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取内存(randomaccessmemory,RAM)1104、系统总线1108与数据传输接ロ1110。输入/输出装置1106包括如图IB的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图IB所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。在本发明实施例中,内存储存装置100是通过数据传输接ロ1110与主机系统1000的其它组件电性连接。藉由微处理器1102、随机存取内存1104与输入/输出装置1106的运作可将数据写入至内存储存装置100或从内存储存装置100中读取数据。例如,内存储存装置100可以是如图IB所示的随身碟1212、记忆卡1214或固态硬盘(SolidStateDrive,SSD)1216等的非易失性内存储存装置。一般而言,主机系统1000可实质地为可储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,非易失性内存储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得ー提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。图2是图IA所示的内存储存装置的概要方块图。请參照图2,内存储存装置100包括连接器102、内存控制器104与可复写式非易失性内存模块106。在本范例实施例中,连接器102为安全数字(SecureDigital,SD)接ロ连接器。然而,必须了解的是,本发明不限于此,连接器102亦可以是通用序列总线(UniversalSerialBus,USB)连接器、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394连接器、高速周边零件连接接ロ(PeripheralComponentInterconnectExpress,PCIExpress)连接器、序列先进附件(SerialAdvancedTechnologyAttachment,SATA)连接器、记忆棒(MemoryStick,MS)接ロ连接器、多媒体储存卡(MultiMediaCard,MMC)接ロ连接器、小型快闪(CompactFlash,CF)接ロ连接器、整合式驱动电子接ロ(IntegratedDeviceElectronics,IDE)连接器或其它适合的连接器。内存控制器104用以执行以硬件型式或韧体型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性内存模块106中进行数据的写入、读取与抹除等运作。可复写式非易失性内存模块106是电性连接至内存控制器104,并且用以储存主机系统1000所写入的数据。特别是,可复写式非易失性内存模块106是经由単一数据总线106a电性连接至内存控制器104。可复写式非易失性内存模块106具有实体区块310(0)310(R)。每ー实体区块分别具有复数个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其它任意个实体页面所组成。更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的记忆胞。实体页面为程序化的最小单位。即,实体页面为写入数据的最小单位。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是扇区(Sector)或其它大小。每一实体页面通常包括数据位区D与冗余位区R。数据位区D用以储存使用者的数据,而冗余位区R用以储存系统的数据(例如,错误检查与校正码)。在本范例实施例中,可复写式非易失性内存模块106为多阶记忆胞(MultiLevelCell,MLC)NAND闪存模块。然而,本发明不限于此,可复写式非易失性内存模块106亦可是单阶记忆胞(SingleLevelCell,SLC)NAND闪存模块、其它闪存模块或其它具有相同特性的内存模块。图3与图4是根据本发明第一范例实施例显示的管理实体区块的示意图。请参照图3,内存控制器104会将实体区块310(0)310(R)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。逻辑上属于数据区502与闲置区504的实体区块是用以储存数据。具体来说,数据区502是已储存数据的实体区块,而闲置区504的实体区块是用以替换数据区502的实体区块。因此,闲置区504的实体区块为空或可使用的实体区块,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区504中的实体区块已被执行抹除运作,或者当闲置区504中的实体区块被提取用于储存数据之前所提取的实体区块会被执行抹除运作。因此,闲置区504的实体区块为可被使用的实体区块。逻辑上属于系统区506的实体区块是用以记录系统数据,其中此系统数据包括关于可复写式非易失性内存模块的制造商与型号、可复写式非易失性内存模块的实体区块数、每一实体区块的实体页面数等。逻辑上属于取代区508中的实体区块是用以取代坏实体区块。例如,非易失性内存模块106于出厂时会预留4%的实体区块作为更换使用。也就是说,当数据区502、闲置区504与系统区506中的实体区块损毁时,预留于取代区508中的实体区块会被用来取代损坏的实体区块。因此,倘若取代区508中仍存有正常的实体区块且发生实体区块损毁时,内存控制器104会从取代区508中提取正常的实体区块来更换损毁的实体区块。倘若取代区508中无正常的实体区块且发生实体区块损毁时,则内存控制器104会将整个内存储存装置100宣告为写入保护(writeprotect)状态,而无法再写入数据。特别是,数据区502、闲置区504、系统区506与取代区508的实体区块的数量会依据不同的内存规格而有所不同。此外,必须了解的是,在内存储存装置100的运作期间,实体区块关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的实体区块损坏而被取代区的实体区块取代时,则原本取代区508的实体区块会被关联至闲置区504。请参照图4,如上所述,数据区502与闲置区504的实体区块是以轮替方式来储存主机系统1000所写入的数据。在本范例实施例中,内存控制器104会配置逻辑区块510(0)510(H)以映像以上述轮替方式来储存数据的实体区块。特别是,内存控制器104会将逻辑区块510(O)510(H)划分为包含逻辑区块510(O)510(L)的第一分割区610与包含逻辑区块510(L+1)510(H)的第二分割区620。在此,第一分割区610是用以提供给主机系统1000识别与一般存取的分割区。例如,当内存储存装置100电性连接至主机系统1000时,在信号交换(handshaking)之后主机系统1000就会识别内存储存装置100为大容量储存类别并且可存取空间为第一分割区610。例如,内存控制器104会将逻辑区块510(0)510(L)的逻辑页面映像至主机系统1000所存取的逻辑存取地址710(O)710(M),以利主机系统1000来存取数据。例如,内存控制器104会初始地将第一分割区逻辑区块510(O)510(L)映像至属于数据区502的实体区块。具体来说,当内存储存装置100被完成制造时,逻辑区块510(O)510(L)分别地映像至数据区502的实体区块310(O)310(L)。也就是说,一个逻辑区块会映像数据区502中的一个实体区块。在此,内存控制器104会建立逻辑区块-实体区块映像表(logicalblock-physicalblockmappingtable),以记录逻辑区块与实体区块之间的映像关系。也就是说,内存控制器104会将主机系统1000欲存取的逻辑存取地址转换成对应的逻辑区块的逻辑页面,由此通过查询逻辑区块-实体区块映像表于实体页面中存取数据。第二分割区620是属于特定应用的储存区。例如,在本发明ー范例实例中,第二分割区620是用于存放经过复杂的加解密机制(例如,符合联邦信息处理标准(FederalInformationProcessingStandards,FIPS)140-2的第三等级或更高等级或者符合EMVEL的第三等级或更高等级的加解密机制)所加密的安全数据,并且主机系统1000仅能通过特定沟通软件与身份识别才能存取储存于第二分割区620的数据。也就是说,当内存储存装置100电性连接至主机系统1000时,主机系统1000的档案系统无法识别出第二分割区620的存在。例如,第二分割区620的储存空间可作为智能卡(smartcard)应用程序的数据储存区,其中主机系统1000必须使用此智能卡应用程序且通过身份认证后方可存取第二分割区620中的安全数据。图5图7是根据本发明第一范例实施例显示的写入数据的范例。在此,是以写入数据至第一分割区610的逻辑区块为例来进行说明,然而,其运作方式亦适用于写入数据至第二分割区620的逻辑区块。请同时參照图5图7,例如,在逻辑区块510(0)是映像至实体区块310(0)的状态下,当内存控制器104从主机系统1000中接收到写入指令而欲写入数据至属于逻辑区块510(0)的逻辑页面吋,内存控制器104会依据逻辑区块-实体区块映像表识别逻辑区块510(0)目前是映像至实体区块310(0)并且从闲置区504中提取实体区块310(D+1)作为替换实体区块来轮替实体区块310(0)。然而,当内存控制器104将新数据写入至子实体区块310(D+1)的同时,内存控制器104不会立刻将实体区块310(0)中的所有有效数据搬移至实体区块310(D+1)而抹除实体区块310(0)。具体来说,内存控制器104会将实体区块310(0)中欲写入实体页面之前的有效数据(即,实体区块310(0)的第O实体页面与第I实体页面中的数据)复制至实体区块310(D+1)的第O实体页面与第I实体页面中(如图5所示),并且将新数据写入至实体区块310(D+1)的第24个实体页面中(如图6所示)。此时,内存控制器104即完成写入的运作。因为实体区块310(0)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体区块310(0)中的其它有效数据搬移至实体区块310(D+1)可能会造成无谓的搬移。此外,数据必须依序地写入至实体区块内的实体页面,因此,内存控制器104仅会先搬移欲写入实体页面之前的有效数据(即,储存在实体区块310(0)的第0实体页面与第0实体页面中数据),并且暂不搬移其余有效数据(即,储存在实体区块310(0)的第5(K-I)实体页面中数据)。在本范例实施例中,暂时地维持此等瞬时关系的运作称为开启(open)母子区块,并且原实体区块(例如,上述实体区块310(0))称为母实体区块而替换实体区块(例如,上述与实体区块310(D+1))称为子实体区块。之后,当需要将实体区块310(0)与实体区块310(D+1)的数据合并(merge)时,内存控制器104会将实体区块310(0)与实体区块310(D+1)的数据整并至一个实体区块,由此提升实体区块的使用效率。在此,合并母子区块的运作称为数据合并程序或关闭(close)母子区块。例如,如图7所示,当进行关闭母子区块时,内存控制器104会将实体区块310(0)中剩余的有效数据(即,实体区块310(0)的第5(K-I)实体页面中的数据)复制至替换实体区块310(D+1)的第5实体页面第(K-I)实体页面中,然后对实体区块310(0)执行抹除操作并将抹除后的实体区块310(0)关联至闲置区504,同时,将实体区块310(D+1)关联至数据区502。也就是说,内存控制器104会在逻辑区块-实体区块映像表中将逻辑区块510(0)重新映像至实体区块310(D+1)。此外,在本范例实施例中,内存控制器104会建立闲置区实体区块表(未绘示)来记录目前被关联至闲置区的实体区块。值得一提的是,闲置区504中实体区块的数目是有限的,基此,在内存储存装置100运作期间,开启的母子区块的组数亦会受到限制。因此,当内存储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子区块的组数达到上限时,内存控制器104需关闭至少一组目前已开启的母子区块后才可执行此写入指令。例如,在内存储存装置100为SD记忆卡的例子中,可开启的母子区块的组数的上限一般是设定为I。例如,当在如图6所示的状态下并且内存控制器104从主机系统1000中接收到写入指令而欲写入数据至属于逻辑区块510(1)的逻辑存取地址时,内存控制器104必须先关闭母子区块(如图7所示),并且之后,再从闲置区504提取一个实体区块来开启母子区块(如图56所示)以完成数据写入。图8是根据本发明第一范例实施例显示的内存控制器的概要方块图。请参照图8,内存控制器104包括内存管理电路202、主机接口204与内存接口206。内存管理电路202用以控制内存控制器104的整体运作。具体来说,内存管理电路202具有多个控制指令,并且在内存储存装置100运作时,这些控制指令会被执行以在可复写式非易失性内存模块106中进行数据的写入、读取与抹除等运作。特别是,在本范例实施例中,内存管理电路202的控制指令会以多个执行绪来在可复写式非易失性内存模块106中进行数据的写入、读取与抹除等运作。在本范例实施例中,内存管理电路202的控制指令是以韧体型式来实作。例如,内存管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且这些控制指令是被烧录至此只读存储器中。当内存储存装置100运作时,这些控制指令会由微处理器单元来执行以进行数据的写入读取与抹除等运作。在本发明另一范例实施例中,内存管理电路202的控制指令亦可以程序代码型式储存于可复写式非易失性内存模块106的特定区域(例如,内存模块中专用于存放系统数据的系统区)中。此外,内存管理电路202具有微处理器単元(未绘示)、只读存储器(未绘示)及随机存取内存(未绘示)。特别是,此只读存储器具有驱动码段,并且当内存控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性内存模块106中的控制指令加载至内存管理电路202的随机存取内存中。之后,微处理器单元会运转这些控制指令以执行数据的写入、读取与抹除等运作。此外,在本发明另一范例实施例中,内存管理电路202的控制指令亦可以ー硬件型式来实作。主机接ロ204是电性连接至内存管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接ロ204来传送至内存管理电路202。在本范例实施例中,主机接ロ204是对应连接器102为SD接ロ。。然而,必须了解的是本发明不限于此,主机接ロ204亦可以是USB接ロ、PATA接ロ、IEEE1394接ロ、PCIExpress接ロ、SATA接ロ、MS接ロ、MMC接ロ、CF接ロ、IDE接ロ或其它适合的数据传输接ロ。内存接ロ206是电性连接至内存管理电路202并且用以存取可复写式非易失性内存模块106。也就是说,欲写入至可复写式非易失性内存模块106的数据会经由内存接ロ206转换为可复写式非易失性内存模块106所能接受的格式。在本发明ー范例实施例中,内存控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至内存管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性内存模块106的数据。在本发明ー范例实施例中,内存控制器104还包括电源管理电路254。电源管理电路254是电性连接至内存管理电路202并且用以控制内存储存装置100的电源。在本发明ー范例实施例中,内存控制器104还包括错误检查与校正电路256。错误检查与校正电路256是电性连接至内存管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当内存管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,ECCCode),并且内存管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性内存模块106中。之后,当内存管理电路202从可复写式非易失性内存模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。在本范例实施例中,内存管理电路202包括第一执行绪模块282、第二执行绪模块284与资源分配模块286。第一执行绪模块282与第二执行绪模块284是通过内存接ロ206与数据总线106a来存取可复写式非易失性内存模块106。例如,本范例实施例中,第一执行绪模块282用以独立地管理与存取第一分割区610,并且第二执行绪模块284用以独立地管理与存取第二分割区620。也就是说,在本范例实施例中,第一执行绪模块282仅能存取第一分割区610而无法存取第二分割区620,并第二执行绪模块284仅能存取第二分割区620而无法存取第一分割区610。值得ー提的是,在本发明范例实施例中,第一执行绪模块282与第二执行绪模块284是共同地使用数据区502与闲置区504的实体区块来写入欲储存于第一分割区610与第二分割区620的逻辑区块的数据。因此,第一执行绪模块282与第二执行绪模块284是使用相同的内存管理规则(例如,如图37所示)来存取可复写式非易失性内存模块106的实体区块。然而,在本发明另一范例实施例中,第一执行绪模块282与第二执行绪模块284亦可个别使用不同的内存管理规则来存取可复写式非易失性内存模块106的实体区块。例如,可复写式非易失性内存模块106的实体区块会被区分为独立指派给第一执行绪模块282的实体区块与独立指派给第二执行绪模块284的实体区块,基此,第一执行绪模块282与第二执行绪模块284就可根据本身的管理规则来分组实体区块以映像逻辑区块。例如,在本发明范例实施例中,第一执行绪模块282相对于第二执行绪模块284,是用以处理具有较严格的数据处理时限要求的数据类型的指令(在此,称为第一指令)。例如,第一执行绪模块282用以执行是来自于主机系统1000的属于安全数字卡(SecureDigitalCard)指令或MMC(MultiMediaCard)卡指令的存取指令,以将欲储存至第一分割区610的数据写入至实体区块或从第一分割区610的逻辑区块所映像的实体区块中读取数据。在本范例实施例中,第一执行绪模块282用以执行优先等级较高的程序指令的模块,亦即当多任务的主机系统1000同时在处理多个程序时,第一执行绪模块282在处理的程序或指令,会成为目前使用中的程序,亦即成为以前景(foreground)模式执行的模块。例如,在本发明范例实施例中,第二执行绪模块284相对于第一执行绪模块282,是用以处理具有较宽松的数据处理时限要求的数据类型的指令(在此,称为第二指令)。例如,第二执行绪模块284是用以处理属于智能卡(SmartCard)指令或USB(UniversalSerialBus)指令的存取指令。在本范例实施例中第二执行绪模块284用以执行优先等级较低的程序指令的模块,亦即当多任务的主机系统1000同时在处理多个程序时,第二执行绪模块284在处理的程序或指令,是处于非使用中的程序,亦即成为以背景(background)模式执行的模块。其中,在另一范例实施例中,主机系统1000上的作业程序,只会将例如特定装置的控制权交予第一执行绪模块,而第二执行绪模块对此特定装置的控制权则会自动被释放。具体来说,当主机系统1000通过特定智能卡应用程序传送的指令-应用程序协议数据单兀(Command-ApplicationProtocolDataUnit,C-APDU)给内存储存装置100时,内存管理电路202会识别出此智能卡指令并且第二执行绪模块284会以背景方式来执行此智能卡指令。也就是说,当第二执行绪模块284执行指令时,内存管理电路202仍会通过主机接口204接收来自于主机系统1000的指令。例如,当第二执行绪模块284执行写入指令以将数据写入至映像第二分割区620的逻辑区块的实体区块时,内存管理电路202仍可从主机系统1000中接收用以存取第一分割区610的存取指令。资源分配模块286用以指派可复写式非易失性内存模块106的存取执行权给第一执行绪模块282与第二执行绪模块284。具体来说,第一执行绪模块282与第二执行绪模块284都必须通过内存接口206与数据总线106a来存取可复写式非易失性内存模块106,因此,为了使存取信道(即,内存接口206与数据总线106a)能够轮替地传送第一执行绪模块282与第二执行绪模块284所下达的指令,资源分配模块286被配置以协调存取信道的使用权。例如,资源指派单元1046为实时操作系统(RealTimeOperationSystem,RT0S)。然而,必须了解的是,本发明不限于此。值得ー提的是,在本范例实施例中,当内存管理电路202接收到欲存取第一分割区610的存取指令,第一执行绪模块282必须尽速完成此存取指令,否则会发生逾时问题。如上所述,当第二执行绪模块284以背景方式执行写入指令吋,内存管理电路202仍可能从主机系统1000接收到欲存取第一分割区610的存取指令。倘若第一执行绪模块282等待第二执行绪模块284完成写入指令后再执行所接收到的存取指令吋,内存储存装置100可能会发生逾时问题。例如,在内存储存装置100为SD记忆卡的例子中,执行写入指令的时间必须小于250毫秒(millisecond,ms),而执行读取指令的时间必须小于150ms。然而,一般来说,执行上述数据合并程序需耗费150ms。例如,假设第一执行绪模块282等待150ms(即,第二执行绪模块284完成写入指令所需的时间)后再进行数据合并程序以执行写入指令时,第ー执行绪模块282完成此写入指令的时间必定超过250ms。再者,假设第一执行绪模块282等待150ms(即,第二执行绪模块284完成写入指令所需的时间)后再进行数据读取时,第ー执行绪模块282完成此读取指令的时间亦必定超过150ms。为避免上述逾时问题,在本发明范例实施例中,当第二执行绪模块284欲以背景方式执行写入指令以将数据写入至实体区块时,资源分配模块286会指派存取执行权给第ニ执行绪模块284并且在第二执行绪模块284完成预定数量的实体页面的写入吋,资源分配模块286会要求第二执行绪模块284释放存取执行权并且判断是否将存取执行权指派给第一执行绪模块282。具体来说,可复写式非易失性内存模块106是以实体页面为单元来写入数据,因此,第二执行绪模块284会将欲写入的数据分成多个页面数据并且以每ー页面数据会分批地被传送至可复写式非易失性内存模块106中。并且,在第二执行绪模块284传送预定数量的页面数据至可复写式非易失性内存模块106之后,资源分配模块286会立刻要求第二执行绪模块284释放存取执行权并且确认内存储存装置100是否接收到应由第一执行模块282所执行的存取指令。特别是,当接收到应由第一执行模块282所执行的存取指令,资源分配模块286会将存取执行权指派给第一执行模块282,以暂停第二执行绪模块284以背景方式所执行的写入指令。之后,在第一执行模块282所执行的存取指令完成此存取指令并且释放存取执行权之后,资源分配模块286会再将存取执行权指派给第二执行绪模块284,以使第二执行绪模块284继续执行写入指令将另ー预定数量的页面数据传送给可复写式非易失性内存模块106。在本范例实施例中,预定数量为1,但必须了解的是,本发明不限于此,预定数量可以是小于ー个实体区块所具有的实体页面的数目(即,页面数)的任意数。由于第二执行绪模块284是以背景方式来处理的写入指令,因此,延迟第二执行绪模块284执行写入指令的时间将不会造成内存储存装置100的逾时。图9是根据本发明第一范例实施例所显的数据存取方法的流程图,其绘示当第二执行绪模块284以背景方式来执行写入指令以将多笔页面数据写入至实体区块(以下称为第二实体区块)时存取数据的步骤。请參照图9,首先,在步骤S901中,将存取执行权指派给第二执行绪模块284。之后,在步骤S903中,藉由第二执行绪模块284将这些页面数据之中预定数量的页面数据经由数据总线106a依序地写入至第二实体区块的预定数量的实体页面中并且在写入此预定数量的页面数据之后使第二执行绪模块284释放存取执行权。然后,在步骤S905中,判断是否接收到应由第一执行绪模块282所执行的存取指令。倘若未接收到应由第一执行绪模块282所执行的存取指令时,则在步骤S907中,判断欲写入至第二实体区块的页面数据是否皆已被写入。倘若欲写入至第二实体区块的页面数据之中仍有还未被写入的页面数据时,执行步骤S901。倘若欲写入至第二实体区块的页面数据皆已被写入时,结束图9的流程。倘若接收到应由第一执行绪模块282所执行的存取指令时,则在步骤S909中,将存取执行权指派给第一执行绪模块282。并且,在步骤S911中,藉由第一执行绪模块282在映像的实体区块(以下称为第一实体区块)上执行此存取指令并且在执行此存取指令之后使第一执行绪模块282释放存取执行权。之后,步骤S907会被执行。第二范例实施例本发明第二范例实施例的内存储存装置与主机系统本质上是相同于第一范例实施例的内存储存装置与主机系统,其中差异仅在于第二范例实施例的内存控制器的资源分配模块更会根据第二执行绪模块的执行状况来决定存取执行权的指派。以下将利用第一范例实例的图式与参考编号来说明第二范例实施例与第一范例实施例的差异之处。在第二范例实施例中,当第二执行绪模块284欲以背景方式执行写入指令以将页面数据写入至实体区块时,资源分配模块286会指派存取执行权给第二执行绪模块284。特别是,资源分配模块286会判断第二执行绪模块284欲写入至实体区块的页面数据之中尚未被写入的页面数据的数目是否小于一预设门坎值。倘若尚未被写入的页面数据的数目小于此预设门坎值时,资源分配模块286会指派存取执行权给第二执行绪模块284,并且在将这些尚未被写入的页面数据写入至实体区块后再释放存取执行权。倘若尚未被写入的页面数据的数目非小于此预设门坎值时,资源分配模块286会指派存取执行权给第二执行绪模块284。并且,资源分配模块286会在第二执行绪模块284完成一个实体页面的写入时要求第二执行绪模块284释放存取执行权,并且判断是否将存取执行权指派给第一执行绪模块282。也就是说,倘若第一执行绪模块282在等待第二执行绪模块284将尚未被写入的页面数据写入至实体区块之后再执行存取指令并不会造成逾时问题时,资源分配模块286会直接将存取执行权给第二执行绪模块284,直到第二执行绪模块284完成写入指令为止。在此,预设门坎值是根据内存储存装置100能够承受的最大延迟时间来估计。例如,第一执行绪模块282需于250ms内响应主机系统1000的写入指令并且执行此写入指令需耗费150ms时,则最大延迟时间为100ms。倘若假设第二执行绪模块284写入一个页面数据需要2ms时,则此预设门坎值会被设定为50。基此,可避免频繁地指派与释放存取执行权。图10是根据本发明第二范例实施例显示的数据存取方法的流程图,其绘示当第二执行绪模块284以背景方式来执行写入指令以将多笔页面数据写入至实体区块(以下称为第二实体区块)时存取数据的步骤。请参照图10,首先,在步骤S1001中,将存取执行权指派给第二执行绪模块284。之后,在步骤S1003中,藉由第二执行绪模块284将这些页面数据之中的预定数量的页面数据经由数据总线106a依序地写入至第二实体区块的预定数量的实体页面中并且在写入此页面数据之后使第二执行绪模块284释放存取执行权。然后,在步骤S1005中,判断是否接收到应由第一执行绪模块282所执行的存取指令。倘若未接收到应由第一执行绪模块282所执行的存取指令吋,则在步骤S1007中,判断欲写入至第二实体区块的页面数据是否皆已被写入。倘若欲写入至第二实体区块的页面数据之中仍有还未被写入的页面数据时,在步骤S1009中,判断还未被写入的页面数据的数目是否小于最小门坎值。倘若还未被写入的页面数据的数目非小于最小门坎值时,则执行步骤S1001。倘若还未被写入的页面数据的数目小于最小门坎值时,则在步骤SlOll中,将存取执行权指派给第二执行绪模块284。然后,在步骤S1013中,藉由第二执行绪模块284将还未被写入的页面数据经由数据总线106a依序地写入至第二实体区块并且在写入这些页面数据之后使第二执行绪模块284释放存取执行权。倘若欲写入至第二实体区块的页面数据皆已被写入吋,结束图10的流程。倘若在步骤S1005中,判断接收到应由第一执行绪模块282所执行的存取指令吋,则在步骤S1015中,将存取执行权指派给第一执行绪模块282。并且,在步骤S1017中,藉由第一执行绪模块282在映像的实体区块(以下称为第一实体区块)上执行此存取指令并且在执行此存取指令之后使第一执行绪模块282释放存取执行权。之后,步骤S1007会被执行。综上所述,在以多个执行绪来存取可复写式非易失性内存模块的架构下,本发明范例实施例的数据存取方法、内存控制器与内存储存装置能够避免等候以第一执行绪因等候第二执行绪而造成的逾时问题。虽然本发明已以实施例掲示如上,然其并非用以限定本发明,任何所属
技术领域
中的普通技术人员,当可作些许的更动与润饰,而不脱离本发明的精神和范围。权利要求1.一种数据存取方法,用于通过多个执行绪模块在一可复写式非易失性内存模块上存取数据,其中该可复写式非易失性内存模块具有多个实体区块,每一所述实体区块具有依序排列的多个实体页面,所述执行绪模块包括一第一执行绪模块与一第二执行绪模块,并且该第二执行绪模块执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,该数据存取方法包括指派一存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权并且该预定数量小于任一所述实体区块所具有的页面数;在该第二执行绪模块释放该存取执行权之后,判断是否接收到应由该第一执行绪模块所执行的一存取指令;以及,当判断接收到应由该第一执行绪模块所执行的该存取指令时,则指派该存取执行权给该第一执行绪模块并且藉由该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执行该存取指令,其中该第一执行绪模块在执行该存取指令之后释放该存取执行权。2.根据权利要求I所述的数据存取方法,还包括在该第一执行绪模块释放该存取执行权之后,指派该存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。3.根据权利要求I所述的数据存取方法,还包括当判断未接收到应由该第一执行绪模块所执行的该存取指令时,则指派该存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。4.根据权利要求I所述的数据存取方法,还包括配置多个逻辑区块以映像至少部分的所述实体区块;将所述逻辑区块划分为一第一分割区与一第二分割区;藉由该第一执行绪模块独立地存取映像该第一分割区的所述逻辑区块的所述实体区块;以及,藉由该第二执行绪模块独立地存取映像该第二分割区的所述逻辑区块的所述实体区块,其中该第一实体区块映像该第一分割区的所述逻辑区块的其中之一,并且该第二实体区块映像该第二分割区的所述逻辑区块的其中之一。5.根据权利要求I所述的数据存取方法,还包括藉由该第一执行绪模块处理一第一指令;以及,藉由该第二执行绪模块处理一第二指令,其中当该第一指令及该第二指令皆需被处理时,该第一指令优先于该第二指令,其中该存取指令属于该第一指令。6.一种数据存取方法,用于通过多个执行绪模块在一可复写式非易失性内存模块上存取数据,该可复写式非易失性内存模块具有多个实体区块,每一所述实体区块具有依序排列的多个实体页面,所述执行绪模块包括一第一执行绪模块与一第二执行绪模块,并且该第二执行绪模块执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,该数据存取方法包括判断所述页面数据之中尚未被写入的页面数据的数目是否小于一预设门坎值;当判断所述页面数据之中尚未被写入的页面数据的数目小于该预设门坎值时,则指派该存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中尚未被写入的页面数据经由该数据总线写入至该第二实体区块中;当判断所述页面数据之中尚未被写入的页面数据的数目非小于该预设门坎值时,则判断是否接收到应由该第一执行绪模块所执行之一存取指令;以及,当判断接收到应由该第一执行绪模块所执行的该存取指令时,指派该存取执行权给该第一执行绪模块并且藉由该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执彳了该存取指令,其中该弟一执彳了绪|旲块在执彳了该存取指令之后释放该存取执行权。7.根据权利要求6所述的数据存取方法,还包括指派一存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权,其中上述判断所述页面数据之中尚未被写入的页面数据的数目是否小于该预设门坎值的步骤是在该第二执行绪模块释放该存取执行权之后被执行。8.根据权利要求7所述的数据存取方法,还包括在该第一执行绪模块释放该存取执行权之后,指派该存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块中的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该预定数量的另一页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。9.根据权利要求7所述的数据存取方法,还包括当判断未接收到应由该第一执行绪模块所执行的该存取指令时,指派该存取执行权给该第二执行绪模块并且藉由该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块中的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该预定数量的另一页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。10.根据权利要求7所述的数据存取方法,还包括配置多个逻辑区块以映像至少部分的所述实体区块;将所述逻辑区块划分为一第一分割区与一第二分割区;藉由该第一执行绪模块独立地存取映像该第一分割区的所述逻辑区块的所述实体区块;以及,藉由该第二执行绪模块独立地存取映像该第二分割区的所述逻辑区块的所述实体区块,其中该第一实体区块映像该第一分割区的所述逻辑区块的其中之一,并且该第二实体区块映像该第二分割区的所述逻辑区块的其中之一。11.根据权利要求6所述的数据存取方法,还包括其中当该第一执行绪模块及该第二执行绪模块皆需被执行时,该第一执行绪模块是以一前景模式执行,并且该第二执行绪模块是以一背景模式执行。12.—种内存控制器,用于控制一可复写式非易失性内存模块,其中该可复写式非易失性内存模块具有多个实体区块,并且每一所述实体区块具有依序排列的多个实体页面,该内存控制器包括一内存接口,用以电性连接至该可复写式非易失性内存模块;以及,一内存管理电路,电性连接至该内存接口,其中该内存管理电路用以执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,其中该内存管理电路包括一第一执行绪模块、一第二执行绪模块以及电性连接至该第一执行绪模块与该第二执行绪模块的一资源分配模块,其中该数据指派电路用以指派一存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权并且该预定数量小于任一所述实体区块所具有的页面数;在该第二执行绪模块释放该存取执行权之后,该资源分配模块判断是否接收到应由该第一执行绪模块所执行之一存取指令;以及,当判断接收到应由该第一执行绪模块所执行的该存取指令时,则该资源分配模块指派该存取执行权给该第一执行绪模块并且该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执行该存取指令,其中该第一执行绪模块在执行该存取指令之后释放该存取执行权。13.根据权利要求12所述的内存控制器,其中在该第一执行绪模块释放该存取执行权之后,该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。14.一种内存控制器,用于控制一可复写式非易失性内存模块,其中该可复写式非易失性内存模块具有多个实体区块,并且每一所述实体区块具有依序排列的多个实体页面,该内存控制器包括一内存接口,用以电性连接至该可复写式非易失性内存模块;以及,一内存管理电路,电性连接至该内存接口,其中该内存管理电路用以执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,其中该内存管理电路包括一第一执行绪模块、一第二执行绪模块以及电性连接至该第一执行绪模块与该第二执行绪模块的一资源分配模块,其中该资源分配模块判断所述页面数据之中尚未被写入的页面数据的数目是否小于一预设门坎值,其中当判断所述页面数据之中尚未被写入的页面数据的数目小于该预设门坎值时,则该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中尚未被写入的页面数据经由该数据总线写入至该第二实体区块中,其中当判断所述页面数据之中尚未被写入的页面数据的数目非小于该预设门坎值时,则该资源分配模块判断是否接收到应由该第一执行绪模块所执行之一存取指令,其中当判断接收到应由该第一执行绪模块所执行的该存取指令时,该资源分配模块指派该存取执行权给该第一执行绪模块并且该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执行该存取指令,其中该第一执行绪模块在执行该存取指令之后释放该存取执行权。15.根据权利要求14所述的内存控制器,其中该资源分配模块指派一存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权,其中该资源分配模块在该第二执行绪模块释放该存取执行权之后,判断所述页面数据之中尚未被写入的页面数据的数目是否小于该预设门坎值。16.一种内存储存装置,包括一可复写式非易失性内存模块,具有多个实体区块,其中每一所述实体区块具有依序排列的多个实体页面;以及,一内存控制器,电性连接至该连接器与该可复写式非易失性内存模块,该内存控制器包括一主机接口、用以电性连接至该可复写式非易失性内存模块的一内存接口以及电性连接至该内存接口的一内存管理电路,其中该内存管理电路用以执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,其中该内存管理电路包括一第一执行绪模块、一第二执行绪模块以及电性连接至该第一执行绪模块与该第二执行绪模块的一资源分配模块,其中该数据指派电路用以指派一存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权并且该预定数量小于任一所述实体区块所具有的页面数;在该第二执行绪模块释放该存取执行权之后,该资源分配模块判断是否接收到应由该第一执行绪模块所执行之一存取指令;以及,当判断接收到应由该第一执行绪模块所执行的该存取指令时,则该资源分配模块指派该存取执行权给该第一执行绪模块并且该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执行该存取指令,其中该第一执行绪模块在执行该存取指令之后释放该存取执行权。17.根据权利要求16所述的内存储存装置,其中在该第一执行绪模块释放该存取执行权之后,该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。18.根据权利要求16所述的内存储存装置,其中当判断未接收到应由该第一执行绪模块所执行的该存取指令时,则该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。19.根据权利要求16所述的内存储存装置,其中该内存管理电路配置多个逻辑区块以映像至少部分的所述实体区块并且将所述逻辑区块划分为一第一分割区与一第二分割区,其中该第一执行绪模块独立地存取映像该第一分割区的所述逻辑区块的所述实体区块,其中该第二执行绪模块独立地存取映像该第二分割区的所述逻辑区块的所述实体区块,其中该第一实体区块映像该第一分割区的所述逻辑区块的其中之一,并且该第二实体区块映像该第二分割区的所述逻辑区块的其中之一。20.根据权利要求16所述的内存储存装置,其中当该第一执行绪模块及该第二执行绪模块皆需被执行时,该第一执行绪模块是以一前景模式执行,并且该第二执行绪模块是以一背景模式执行。21.—种内存储存装置,包括一可复写式非易失性内存模块,具有多个实体区块,其中每一所述实体区块具有依序排列的多个实体页面;以及,一内存控制器,电性连接至该连接器与该可复写式非易失性内存模块,该内存控制器包括一主机接口、用以电性连接至该可复写式非易失性内存模块的一内存接口以及电性连接至该内存接口的一内存管理电路,其中该内存管理电路用以执行一写入指令以将多个页面数据写入至所述实体区块之中的一第二实体区块中,其中该内存管理电路包括一第一执行绪模块、一第二执行绪模块以及电性连接至该第一执行绪模块与该第二执行绪模块的一资源分配模块,其中该资源分配模块判断所述页面数据之中尚未被写入的页面数据的数目是否小于一预设门坎值,其中当判断所述页面数据之中尚未被写入的页面数据的数目小于该预设门坎值时,则该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中尚未被写入的页面数据经由该数据总线写入至该第二实体区块中,其中当判断所述页面数据之中尚未被写入的页面数据的数目非小于该预设门坎值时,则该资源分配模块判断是否接收到应由该第一执行绪模块所执行之一存取指令,其中当判断接收到应由该第一执行绪模块所执行的该存取指令时,该资源分配模块指派该存取执行权给该第一执行绪模块并且该第一执行绪模块经由该数据总线在所述实体区块之中的一第一实体区块上执行该存取指令,其中该第一执行绪模块在执行该存取指令之后释放该存取执行权。22.根据权利要求21所述的内存储存装置,其中该资源分配模块指派一存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的一预定数量的页面数据经由一数据总线写入至该第二实体区块中的所述实体页面之中的一预定数量的实体页面中,其中该第二执行绪模块在将该预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权,其中该资源分配模块在该第二执行绪模块释放该存取执行权之后,判断所述页面数据之中尚未被写入的页面数据的数目是否小于该预设门坎值。23.根据权利要求22所述的内存储存装置,其中在该第一执行绪模块释放该存取执行权之后,该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块中的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。24.根据权利要求22所述的内存储存装置,其中当判断未接收到应由该第一执行绪模块所执行的该存取指令时,该资源分配模块指派该存取执行权给该第二执行绪模块并且该第二执行绪模块将所述页面数据之中的另一预定数量的页面数据经由该数据总线写入至该第二实体区块中的所述实体页面之中的另一预定数量的实体页面中,其中该第二执行绪模块在将所述页面数据之中的该另一预定数量的页面数据经由该数据总线写入至该第二实体区块之后释放该存取执行权。25.根据权利要求22所述的内存储存装置,其中该内存管理电路配置多个逻辑区块以映像至少部分的所述实体区块并且将所述逻辑区块划分为一第一分割区与一第二分割区,其中该第一执行绪模块独立地存取映像该第一分割区的所述逻辑区块的所述实体区块,其中该第二执行绪模块独立地存取映像该第二分割区的所述逻辑区块的所述实体区块,其中该第一实体区块映像该第一分割区的所述逻辑区块的其中之一,并且该第二实体区块映像该第二分割区的所述逻辑区块的其中之一。26.根据权利要求21所述的内存储存装置,其中该第一执行绪模块用以处理一第一指令,并且该第二执行绪模块用以处理一第二指令,其中当该第一指令及该第二指令皆需被处理时,该第一指令优先于该第二指令,其中该存取指令属于该第一指令。全文摘要本发明公开了一种数据存取方法及使用此方法的内存控制器与储存装置,用于通过第一与第二执行绪模块经由单一数据总线在可复写式非易失性内存模块上存取数据。本方法包括指派存取执行权给第二执行绪模块写入页面数据。本方法还包括每当第二执行绪模块将预定数量的页面数据写入至预定数量的实体页面时,判断是否接收到应由第一执行绪模块所执行的存取指令。本方法还包括,当接收到应由第一执行绪模块所执行的存取指令时,指派存取执行权给第一执行绪模块以一前景模式执行此存取指令,而第二执行绪模块以一背景模式执行一进行中的作业。基此,本方法可有效地避免第一执行绪模块未实时响应而产生的逾时问题。文档编号G06F12/02GK102650970SQ20111005108公开日2012年8月29日申请日期2011年2月25日优先权日2011年2月25日发明者詹清文申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1