用以管理快闪存储器模块的方法、快闪存储器控制器与电子装置与流程

文档序号:29445745发布日期:2022-03-30 10:58阅读:83来源:国知局
1.本发明相关于一种快闪存储器,尤指一种快闪存储器模块管理方法以及相关的快闪存储器控制器。
背景技术
::2.在快闪存储器模块中,当数据被长时间储存在一区块时,数据可能会遭受一保存问题,也就是数据品质可能下降,并且快闪存储器控制器需要使用复杂的解码方法(例如软解码方法)或独立磁盘冗余阵列(redundantarrayofindependentdisks,raid)数据复原来获取数据,从而增加了读取时间。为了避免此保存问题,快闪存储器控制器需要定期扫描许多区块,以确定是否有任何区块遭受数据保存问题。然而,如果要扫描的区块太多,则系统性能可能会严重下降;如果只扫描几个区块,则可能找不到具有数据保存问题的区块。因此,如何提供一种能有效地判定具有数据保存问题的区块的扫描方法,已成为一个重要的课题。技术实现要素:3.本发明之一目的在于提供一种用以管理一快闪存储器模块的方法,可以对该快闪存储器模块的区块进行分组,以使该快闪存储器模块能有效率地对区块进行扫描,以解决上述的问题。4.本发明一实施例揭示了一种用以管理一快闪存储器模块的方法,该方法包含:将该快闪存储器模块中的多个区块分为多个分组,其中每一分组中包含至少一区块;扫描每一分组内的一目标区块,而不扫描该分组内的所有区块,以决定是否需要刷新该分组中至少一部分的区块,其中,将判定该至少一部分的区块需要刷新的该分组标记为一标记分组;仅扫描该标记分组的该至少一部分的区块,而不扫描未标记的分组,以决定需要刷新哪个区块,其中,将判定需要刷新的区块标记为一标记区块;以及透过将该标记区块的有效数据移动到至少一个空白区块来刷新该标记区块。5.本发明另一实施例揭示了一种快闪存储器控制器,其中该快闪存储器控制器耦接至一快闪存储器模块,以及该快闪存储器控制器包含一存储器以及一微处理器,该存储器用以储存一程序码;以及该微处理器用来执行该程序码以存取该快闪存储器模块,其中该微处理器将该快闪存储器模块中的多个区块分为多个分组,其中每一分组中包含至少一区块;该微处理器扫描每一分组内的一目标区块,而不扫描该分组内的所有区块,以决定是否需要刷新该分组中至少一部分的区块,其中,将判定该至少一部分的区块需要刷新的该分组标记为一标记分组;该微处理器仅扫描该标记分组的该至少一部分的区块,而不扫描未标记的分组,以决定需要刷新哪个区块,其中,将判定需要刷新的区块标记为一标记区块;以及该微处理器透过将该标记区块的有效数据移动到至少一个空白区块来刷新该标记区块。6.本发明又另一实施例揭示了一种电子装置,该电子装置包含一快闪存储器模块以及一快闪存储器控制器,该快闪存储器控制器用以存取该快闪存储器模块,其中该快闪存储器控制器将该快闪存储器模块中的多个区块分为多个分组,其中每一分组中包含至少一区块;该快闪存储器控制器扫描每一分组内的一目标区块,而不扫描该分组内的所有区块,以决定是否需要刷新该分组中至少一部分的区块,其中,将判定该至少一部分的区块需要刷新的该分组标记为一标记分组;该快闪存储器控制器仅扫描该标记分组的该至少一部分的区块,而不扫描未标记的分组,以决定需要刷新哪个区块,其中,将判定需要刷新的区块标记为一标记区块;以及该快闪存储器控制器透过将该标记区块的有效数据移动到至少一个空白区块来刷新该标记区块。附图说明7.图1是依据本发明一实施例的一电子装置的示意图。8.图2是依据本发明一实施例的一三维nand型快闪存储器的示意图。9.图3是一种当一快闪存储器控制器写入数据至一区块时用来管理该快闪存储器模块的方法的流程图。10.图4是显示依据本发明一实施例的不同分组的信息表。11.图5是依据本发明一实施例的将区块进行分组的时间图。12.图6是依据本发明另一实施例的一种用来管理该快闪存储器模块的方法的流程图。13.图7是依据本发明另一实施例的一种用来管理该快闪存储器模块的方法的流程图。14.【符号说明】15.10:电子装置16.50:主机装置17.52:处理器18.54:电源供应电路19.100:存储器装置20.110:存储器控制器21.112:微处理器22.112c:程序码23.112m:唯读存储器24.114:控制逻辑电路25.116:随机存取存储器26.118:传输接口电路27.120:快闪存储器模块28.122-1,122-2,122-n:快闪存储器芯片29.132:编码器30.134:解码器31.136:随机化器32.138:去随机化器33.300,302,304,306,308,34.310,312,314,316,318,35.320,322,324,326,328,36.330,600,602,604,606,37.608,610,612,614,616,38.700,702,704,706,70839.710:步骤40.400:信息表41.m(1,1,1),m(2,1,1),m(nx,1,1),42.m(1,2,1),m(nx,2,1),m(1,ny,1),m(nx,ny,1),43.m(1,1,2),m(2,1,2),m(nx,1,2),44.m(1,2,2),m(nx,2,2),45.m(1,ny,2),m(nx,ny,2),46.m(1,1,nz),m(nx,1,nz),47.m(1,2,nz),m(nx,2,nz),48.m(1,ny,nz),m(nx,ny,nz),49.m(nx,ny,nz):存储器单元50.mbls(1,1),mbls(nx,1),51.mbls(1,2),mbls(nx,2),52.mbls(1,ny),mbls(nx,ny):上方选择电路53.msls(1,1),msls(nx,1),54.msls(1,2),msls(nx,2),55.msls(1,ny),msls(nx,ny):下方选择电路56.bl(1),bl(nx):位元线57.wl(1,1),wl(2,1),wl(ny,1),58.wl(1,2),wl(2,2),wl(ny,2),59.wl(1,nz),wl(2,nz),wl(ny,nz):字元线60.bls(1),bls(2),bls(ny):上方选择线61.sls(1),sls(2),sls(ny):下方选择线62.sl(1),sl(2),sl(ny):源极线63.ps2d(1),ps2d(2),ps2d(ny):电路模块64.s(1,1),s(nx,1),65.s(1,2),s(nx,2),66.s(1,ny),s(nx,ny):次要电路模块67.t1~t5:时间68.b1~b12:区块69.th:阈值具体实施方式70.请参考图1,图1是本发明一实施例的一电子装置10的示意图,其中电子装置10可包含一主机装置(hostdevice)50以及一存储器装置(memorydevice)100。主机装置50可包含至少一处理器(例如一个或多个处理器),可被统称为处理器52,且可进一步包含耦接至处理器52的一电源供应电路54,处理器52可用以控制主机装置50的运作,而电源供应电路54可用来提供电源给处理器52与存储器装置100,并且输出一个或多个驱动电压至存储器装置100,存储器装置100可用以提供储存空间给主机装置50,并且从主机装置50取得该一个或多个驱动电压作为存储器装置100的电源。主机装置50的例子可包含(但不限于):多功能行动电话(multifunctionalmobilephone)、穿戴装置、平板电脑(tablet)以及个人电脑(personalcomputer)诸如桌上型电脑及笔记型电脑。存储器装置100的例子可包含(但不限于):固态硬碟(solidstatedrive,ssd)以及各种型式的嵌入式(embedded)存储器装置,例如符合快捷外设组件互联(peripheralcomponentinterconnectexpress,pcie)标准的嵌入式存储器装置等等。依据本实施例,存储器装置100可包含一快闪存储器控制器(flashmemorycontroller)110,且可另包含一快闪存储器模块(flashmemorymodule)120,其中快闪存储器控制器110可用以控制存储器装置100的运作以及存取快闪存储器模块120,以及快闪存储器模块120是用以储存资讯。快闪存储器模块120可包含至少一快闪存储器芯片,例如多个快闪存储器芯片122-1、122-2、…、122-n,其中「n」可表示大于1的正整数。71.如图2所示,快闪存储器控制器110可包含一处理电路(例如一微处理器112)、一储存单元(例如一唯读存储器(read-onlymemory,rom)112m)、一控制逻辑电路114、一随机存取存储器(randomaccessmemory,ram)116以及一传输接口电路118,其中上述元件可经由一汇流排(bus)彼此耦接。随机存取存储器116是以一静态随机存取存储器(staticram,sram)来实施,但本发明不限于此。随机存取存储器116可用以提供内部储存空间给快闪存储器控制器110,举例来说,随机存取存储器116可用来作为一缓冲存储器以缓冲数据。另外,本实施例的唯读存储器112m可用以储存一程序码112c,且微处理器112可用以执行程序码112c以控制快闪存储器模块120的存取。请注意,在某些例子中,程序码112c可储存在随机存取存储器116或任何型式的存储器内。此外,控制逻辑电路114可用以控制快闪存储器模块120,且控制逻辑电路114可包含一编码器132、一解码器134、一随机化器(randomizer)136、一去随机化器(de-randomizer)138以及其他电路。传输接口电路118可符合一特定通信标准(诸如串列高级技术附件(serialadvancedtechnologyattachment,sata)标准、外设组件互联(peripheralcomponentinterconnect,pci)标准、快捷外设组件互联标准、通用快闪储存(universalflashstorage,ufs)标准等等),且可依据该特定通讯标准进行通讯,举例来说,可以为了存储器装置100而和主机装置50进行通讯,其中主机装置50可包含符合该特定通讯标准的对应的传输接口电路,来和存储器装置100进行通讯。72.在本实施例中,主机装置50可将主机指令(hostcommand)与对应的逻辑地址(logicaladdress)传送至快闪存储器控制器110以存取存储器装置100,快闪存储器控制器110接收主机指令及逻辑地址,并将主机指令转换成存储器操作指令(可简称为操作指令),并进一步以操作指令控制快闪存储器模块120来对快闪存储器模块120当中某些实体地址的存储器单元(例如数据分页)进行读取、写入(write)╱编程(program)等操作,其中实体地址对应于逻辑地址。当快闪存储器控制器110对多个快闪存储器芯片122-1、122-2、…以及122-n中的任一快闪存储器芯片122-n进行一抹除(erase)运作时(其中,「n」可以表示在区间[1,n]中的任一整数),快闪存储器芯片122-n的多个区块(block)中的至少一区块可被抹除,其中,该多个区块中的每一区块可包含多个分页(例如数据分页),且一存取运作(例如读取或写入)可对一或多个分页进行。[0073]图2是依据本发明一实施例的一三维(three-dimensional,3d)nand型快闪存储器的示意图,举例来说,前述的快闪存储器芯片122-1、122-2、…以及122-n中的至少一者中的任一存储器元件可基于图2所示的该三维nand快闪存储器来实施,但本发明不限于此。[0074]依据本实施例,该三维nand型快闪存储器可包含以一三维架构排列的多个存储器单元,诸如分别被排列于垂直z轴的nz层并且对齐分别对应于x轴、y轴及z轴的三个方向的(nx*ny*nz)个存储器单元{{m(1,1,1),…,m(nx,1,1)},{m(1,2,1),…,m(nx,2,1)},…,{m(1,ny,1),…,m(nx,ny,1)}}、{{m(1,1,2),…,m(nx,1,2)},{m(1,2,2),…,m(nx,2,2)},…,{m(1,ny,2),…,m(nx,ny,2)}}、…、以及{{m(1,1,nz),…,m(nx,1,nz)},{m(1,2,nz),…,m(nx,2,nz)},…,{m(1,ny,nz),…,m(nx,ny,nz)}},且可另包含用于进行选择控制的多个选择电路(selectorcircuit),诸如被排列于该nz层上面的一上方层(upperlayer)的(nx*ny)个上方选择电路{mbls(1,1),…,mbls(nx,1)}、{mbls(1,2),…,mbls(nx,2)}、…及{mbls(1,ny),…,mbls(nx,ny)}、以及被排列于该nz层下面的一下方层(lowerlayer)的(nx*ny)个下方选择电路{msls(1,1),…,msls(nx,1)}、{msls(1,2),…,msls(nx,2)}、…及{msls(1,ny),…,msls(nx,ny)}。另外,该三维nand型快闪存储器可包含用于存取控制的复数条位元线(bitline)以及复数条字元线(wordline),诸如被排列于该上方层上面的一顶部层(toplayer)的nx条位元线bl(1)、…及bl(nx)、以及分别被排列于该nz层的(ny*nz)条字元线{wl(1,1),wl(2,1),…,wl(ny,1)}、{wl(1,2),wl(2,2),…,wl(ny,2)}、…及{wl(1,nz),wl(2,nz),…,wl(ny,nz)}。此外,该三维nand型快闪存储器可包含用于进行选取控制的复数条选择线(selectionline),诸如被排列于该上方层的ny条上方选择线bls(1)、bls(2)、…及bls(ny)、以及被排列于该下方层的ny条下方选择线sls(1)、sls(2)、…及sls(ny),且可另包含用于提供多个参考位准的复数条源极线(sourceline),诸如被排列于该下方层下面的一底部层(bottomlayer)的ny个源极线sl(1)、sl(2)、…及sl(ny)。[0075]如图2所示,该三维nand型快闪存储器可被区分成沿着y轴分布的ny个电路模块ps2d(1)、ps2d(2)、…及ps2d(ny)。为便于理解,电路模块ps2d(1)、ps2d(2)、…及ps2d(ny)可具有与一平面(planar)nand快闪存储器(其存储器单元被排列于一单一层)类似的某些电气特征,因此可分别被视为多个虚拟二维(pseudo-2d)电路模块,但本发明不限于此。另外,电路模块ps2d(1)、ps2d(2)、…及ps2d(ny)中的任一电路模块ps2d(ny)可包含nx个次要(secondary)电路模块s(1,ny)、…及s(nx,ny),其中「ny」可表示区间[1,ny]中的任一整数。例如,电路模块ps2d(1)可包含nx个次要电路模块s(1,1)、…及s(nx,1),电路模块ps2d(2)可包含nx个次要电路模块s(1,2)、…及s(nx,2),…,以及电路模块ps2d(ny)可包含nx个次要电路模块s(1,ny)、…及s(nx,ny)。在电路模块ps2d(ny)中,次要电路模块s(1,ny)、…及s(nx,ny)中的任一个次要电路模块s(nx,ny)可包含nz个存储器单元m(nx,ny,1)、m(nx,ny,2)、…及m(nx,ny,nz),且可包含对应于存储器单元m(nx,ny,1)、m(nx,ny,2)、…及m(nx,ny,nz)的一组选择电路,诸如上方选择电路mbls(nx,ny)以及下方选择电路msls(nx,ny),其中「nx」可表示区间[1,nx]中的任一整数。上方选择电路mbls(nx,ny)、下方选择电路msls(nx,ny)以及存储器单元m(nx,ny,1)、m(nx,ny,2)、…及m(nx,ny,nz)可由电晶体来实施,例如,上方选择电路以及下方选择电路msls(nx,ny)可由不具有任何浮动闸极(floatinggate)的普通电晶体来实施,而存储器单元m(nx,ny,1)、m(nx,ny,2)、…及m(nx,ny,nz)中的任一存储器单元m(nx,ny,nz)可由一浮动闸极电晶体来实施,其中「nz」可表示区间[1,nz]中的任一整数,但本发明不限于此。此外,在电路模块ps2d(ny)中的上方选择电路mbls(1,ny)、…及mbls(nx,ny)可依据对应的选择线bls(ny)上的选择讯号来进行选择,而在电路模块ps2d(ny)中的下方选择电路msls(1,ny)、…及msls(nx,ny)可依据对应的选择线sls(ny)上的选择讯号来进行选择。[0076]在快闪存储器模块120中,当快闪存储器芯片122-1~122-n中任一者的区块作为单阶储存单元(single-levelcell,slc)区块时,该区块内的每一实体分页对应于一逻辑分页,亦即该分页的每个存储器单元仅用以储存一位元,其中一实体分页可包含由一字元线所控制的多个电晶体(例如对应至字元线wl(1,nz)的存储器单元m(1,1,nz)~m(nx,1,nz)形成一实体分页)。当快闪存储器芯片122-1~122-n中任一者的区块作为多阶储存单元(multiple-levelcell,mlc)区块时,该区块内的每一实体分页对应于二个逻辑分页,亦即该分页的每个存储器单元用以储存二个位元。当快闪存储器芯片122-1~122-n中任一者的区块作为三阶储存单元(triple-levelcell,tlc)区块时,该区块内的每一实体分页对应于三个逻辑分页,亦即该分页的每个存储器单元用以储存三个位元。当快闪存储器芯片122-1~122-n中任一者的区块作为四阶储存单元(quad-levelcell,qlc)区块时,该区块内的每一实体分页对应于四个逻辑分页,亦即该分页的每个存储器单元用以储存四个位元。[0077]图3是当一快闪存储器控制器110写入数据至快闪存储器模块120的区块时用来管理快闪存储器模块120的方法的流程图。在步骤300中,流程开始,并且快闪存储器控制器110和快闪存储器模块120从电源关闭状态启动电源。在步骤302中,快闪存储器控制器302开始建立新的分组,其中该新的分组具有一分组索引(groupindex),该分组索引是先前的分组索引加1。举例来说,如果快闪存储器控制器110之前已经建立了十个分组且该十个分组中最新的分组具有一分组索引「10」,则再新建立分组的分组索引是「11」。在步骤304,判断微处理器112是否产生了用于储存数据的新区块(空白区块),如果有产生新区块,则流程进入步骤310;如果没有产生新区块,则流程进入步骤306。在步骤306中,判断微处理器112是否从主机装置50接收到关机通知,若是,则流程进入步骤308,使快闪存储器控制器110和快闪存储器模块120电源关闭,若否,则流程进入步骤304。[0078]在步骤310中,微处理器112获得一目前时间,其中该目前时间可以从主机装置50获得(例如2020/07/21,15:00)。在步骤312中,微处理器312判断在步骤304中生成的新区块是否为该分组的第一区块,若是,则进入步骤318;若否,则流程进入步骤314。在步骤314,微处理器112获得最后的写入时间(即,该分组中区块的最新写入时间)。在步骤316,微处理器112计算该目前时间和该最后写入时间之间的一时间间隔。在步骤318,微处理器112将该目前时间设为该最后写入时间。[0079]在步骤320中,微处理器112判断该时间间隔是否大于一阈值,若是,则进入步骤324;若否,则流程进入步骤322。在步骤322中,微处理器112将在步骤304中产生的新区块加入在步骤302中建立的分组中,然后流程重新回到步骤304。在步骤324,微处理器112建立一新的分组,其中该新的分组具有一分组索引且为先前分组索引加1。详细来说,如果微处理器112在步骤302中建立具有分组索引为「11」的分组,则微处理器112可以在步骤324中建立具有分组索引为「12」的一新的分组。[0080]在步骤326中,微处理器112判断该分组索引是否达到一分组上限(grouplimit),若是,则进入步骤328;若否,则进入步骤322。举例来说,假设分组上限为「50」,即处理器最多只能建立五十个分组,则微处理器112判断在步骤324中建立的新分组是否具有一分组索引「50」。[0081]在步骤328中,微处理器112刷新(refresh)属于一些较旧分组的区块。举例来说,微处理器112可以选择最旧的五个分组(即具有最早的写入时间的分组),并且微处理器112将属于最旧的五个分组的区块移动到新区块中,并将这些新区块加入分组索引为「50」的分组中(步骤330)。在步骤328和步骤330中刷新区块之后,微处理器112可以重新配置分组索引,例如,将具有分组索引「5」的分组修改为具有分组索引「1」的分组,且将具有分组索引「6」的分组修改为具有分组索引「2」的分组,依此类推。[0082]在步骤322或步骤330之后,使用在步骤304中建立的区块来储存由快闪存储器控制器110提供的数据。一旦该区块内的所有数据页均被写入,微处理器112就配置新的区块以储存后续数据,且流程从步骤310重新开始。[0083]在图4所示的流程中的分组建立期间,分组信息和时间信息可以被记录在随机存取存储器116或外部动态随机存取存储器(dram)所储存的一信息表中。图4是显示依据本发明一实施例的不同分组的一信息表400。如图4所示,信息表400包括许多分组,其中分组#1包含区块b1、b3、b7、...、b155和对应的写入时间,分组#2包含区块b257、b258、...、b300和对应的写入时间,并且分组#3包含区块b6、b8、…、b400和对应的写入时间。需注意的是,属于具有较小分组索引的分组的区块的写入时间早于属于具有较大分组索引的分组的区块的写入时间。举例来说,分组#1中的每个区块b1、b3、b7、...、b155的写入时间早于分组#2中的每个区块b257、b258、...、b300的写入时间,并且分组#2中的每个区块b257、b258、...、b300的写入时间早于分组#3中每个区块b6、b8、...、b400的写入时间。另外,在每个分组中,会根据写入时间对记录的区块进行排序,例如,在分组#1中的区块之中具有最早的写入时间的区块b1可被配置为具有该分组#1的一索引「1」,在分组#2中的区块中具有最早的写入时间的区块b257可被配置为具有分组#2的一索引「1」,并且在分组#3中的区块之中具有最早写入时间的区块b6可被配置为具有分组#3的一索引「1」。[0084]另外,属于同一分组的所有区块可以是相同类型的区块,或者属于同一分组的区块也可以包含不同类型的区块。举例来说,属于分组#1的区块b1、b3、b7、…、b155中的每个区块可以是tlc区块(或qlc区块);或者属于分组#1的区块b1、b3、b7、…、b155可以包含tlc/qlc区块和slc区块。[0085]在图3所示的实施例中,可以认为属于同一分组的区块具有较接近的写入时间,并且本实施例的分组方法可有效地检测快闪存储器模块120内的区块的数据保存问题。为了确保属于同一分组的区块具有较接近的写入时间,不同的电源循环(powercycle)必须属于不同的分组,其中一电源循环是指示从一开启电源事件到一关闭电源事件的一时段;以及当一个新的区块的写入时间比前一个区块的写入时间晚得多时,便建立一个新的分组。具体而言,参考图5,在时间t1时,快闪存储器控制器110和快闪存储器模块120被开启电源,快闪存储器控制器110的微处理器112建立分组#10,并且快闪存储器控制器110依序地将数据写入区块b1~b8(区块b8属于分组#10)。然后,在时间t2时,快闪存储器控制器110从主机装置50接收关机通知,并且快闪存储器控制器110和快闪存储器模块120被关闭电源。在时间t3时,快闪存储器控制器110和快闪存储器模块120从关闭电源状态开启电源,快闪存储器控制器110的微处理器112建立分组#11,并且快闪存储器控制器110依序地将数据写入到属于分组#11的区块b9和区块b10。在本实施例中,假设快闪存储器控制器110在时间t4时开始将数据写入区块b10,并且快闪存储器控制器110很长时间没有创建新的区块(例如,快闪存储器控制器110缓慢地将数据写入区块b10)。然后,快闪存储器控制器110在时间t5时创建用于储存数据的区块b11,如果时间t5与时间t4之间的时间间隔大于一阈值th,则微处理器112建立新的分组#12,并且快闪存储器控制器110依序地将数据写入属于分组#12的区块b11和区块b12。在本实施例中,阈值th可以由工程师基于快闪存储器模块120的应用或品质来决定,例如,阈值th可以是一天、几天或一周。[0086]图6是依据本发明另一实施例的一种用来管理快闪存储器模块120的方法的流程图。在步骤600中,流程开始,并且记录分组信息的信息表已经储存在随机存取存储器116或外部动态随机存取存储器中。在步骤602中,微处理器112参考该信息表以选取出最早的分组。以图4为例,具有最早写入时间的分组#1被选取为最早的分组。在步骤604中,微处理器112从所选分组中选取一目标区块,其中该目标区块可以是属于所选分组的所有区块之中具有最早的写入时间的最早区块,或者目标区块可以是属于所选分组的特定区块之中具有最早写入时间的最早区块。举例来说,如果属于所选分组的所有区块都是相同类型的区块,例如tlc区块,则微处理器112可以直接选取所选分组内的最早区块(即具有最早的写入时间的区块)来作为目标区块。如果属于所选分组的区块包含不同类型的区块,例如tlc/qlc区块和slc区块,由于slc区块比较不受数据保存问题的影响,即便一个或多个slc区块的写入时间比最早的tlc/qlc区块的写入时间更早,微处理器112仍可以选取最早的tlc区块或qlc区块来作为目标区块。[0087]在步骤606中,微处理器112扫描目标区块以确定目标区块的品质。具体而言,微处理器112可以藉由使用解码器134读取目标区块的一或多个数据页,且微处理器112可以参考由解码器134提供的解码信息来判断目标区块的品质,其中,解码信息可以是一错误位元数,一阈值电压偏移信息或是可以显示出目标区块品质的任何其他指标。[0088]在步骤608,微处理器112依据目标区块的品质来决定是否需要刷新目标区块。如果品质够好,则微处理器112判断不需要刷新目标区块,并且流程进入步骤612;如果品质不够好,则微处理器112判断目标区块需要刷新,则流程进入步骤610。[0089]在步骤610,微处理器112标记目前所选的分组。在步骤612中,微处理器112不标记目前所选的分组,并且微处理器112判断目前所选的分组是否为信息表400中所记录的最后分组,若是,则流程进入步骤616以完成流程;若否,则流程进入步骤614以选择下一个分组(例如,图4所示的分组#2)。[0090]在4所示的实施例中,由于属于同一分组的区块具有较接近的写入时间,因此微处理器112仅扫描每个分组内的目标区块(例如最旧的区块)以确定该组是否存在品质问题,而不会扫描该分组中的其他区块,以免影响系统性能。[0091]另外,由于属于不同分组的区块可能在诸如不同温度的不同环境下写入,因此与属于较早的分组的区块相比,属于较晚的分组的区块品质可能较差。例如,如果在较高温度下写入属于分组#2的区块,则这些区块的品质可能比属于分组#1的区块的品质差,因此,图6所示的流程需要扫描每个分组的目标区块。[0092]图6中所示的流程用于判断具有较差品质的区块的分组,其中被标记的分组会被图7中所示之后续的详细扫描程序所处理,而没有被标记的分组则不需要执行后续的详细扫描程序。图7是依据本发明另一实施例的一种用来管理快闪存储器模块120的方法的流程图。在步骤700中,流程开始,并且一个或多个分组已在图6所示的流程中被标记。在步骤702中,微处理器112选择一标记分组(markedgroup),例如,图4所示的分组#1。在步骤704,微处理器112扫描属于所选的标记分组中至少一部分的区块,以决定哪个区块需要刷新。举例来说,微处理器112可以扫描属于所选的标记分组的所有区块,并且标记品质较差且差过一度(degree)的一或多个区块,其中被标记的区块会被判定为需要刷新。在另一个例子中,微处理器112可以使用二分搜寻(binarysearch)来扫描属于所选的标记分组中一部分的区块,并且标记品质较差且差过一度的一或多个区块,其中被标记的区块会被判定为需要刷新。[0093]在步骤706中,微处理器112判断目前所选的标记分组是否为最后的标记分组,若是,则流程进入步骤710,结束流程;若否,则流程进入步骤708以选择下一个标记分组(例如,图4所示的分组#2)。[0094]在快闪存储器控制器110的背景(background)操作中,图7所示的流程所决定的标记区块会被刷新以将有效数据移动到其他的区块,例如,如果快闪存储器控制器110处于空闲状态(即,不执行读/写操作),则微处理器112便可以开始刷新这些标记区块。[0095]简而言之,在本发明快闪存储器模块的管理方法中,多个区块会在被快闪存储器控制器写入时进行分组,属于同一分组的区块具有较接近的写入时间,并且微处理器仅需要扫描几个区块来判断哪些区块需要刷新,因此,由于仅扫描几个区块即可判断哪些区块需要刷新,所以本发明的方法有效率而不会影响系统性能。[0096]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1