防止非易失性存储器发生读取干扰的方法及其控制器的制作方法

文档序号:6781685阅读:136来源:国知局

专利名称::防止非易失性存储器发生读取干扰的方法及其控制器的制作方法
技术领域
:本发明是有关于一种储存媒体的读取技术,且特别是有关于一种防止非易失性存储器发生读取干扰的方法及其控制器。
背景技术
:近年来,由于数码相机、具有照相功能的手机、MP3,以及MP4的成长十分迅速,所以使得消费者对储存媒体的需求也急剧增加。综观现今所有的储存媒体而言,由于快闪存储器(FlashMemory)具有资料非易失性、省电、体积小,以及无机械结构等特性,所以最适合内建于上述所举例的多种可携式多媒体装置中。再者,由于小型记忆卡与随身碟等外接式产品对于现代人而言的需求也很大,所以各家快闪存储器的制造厂商无不朝向让快闪存储器的容量变得更大及使用稳定度提升的研发方向而努力琢磨着。一般而言,快闪存储器的种类大致可以按照制程的精密程度而分成两种。而众所皆知的是,由较低精密程度的制程所制作出来的是单层存储单元(SingleLevelCell,SLC)快闪存储器,而由较高精密程度的制程所制作出来的是多层存储单元(MultiLevelCell,MLC)快闪存储器。其中,多层存储单元快闪存储器的记忆容量会高于单层存储单元快闪存储器的存储容量,但是多层存储单元快闪存储器的使用稳定度却会比单层存储单元快闪存储器的使用稳定度来得低。然而,无论是对多层存储单元快闪存储器或是单层存储单元快闪存储器内的同一个区块所储存的资料进行多次读取时,例如十万至百万次间的读取次数,很有可能会发生所读取的资料是错误的,甚至此被多次读取区块内所储存的资料会发生异常或遗失。而此类现象以本发明领域具有通常知识者惯称为"读取干扰"(read-disturb)。也因有着这样的现象存在着,无不驱使着各家厂商必须发展出防止读取干扰的技术,借以来有效地抑制读取干扰发生的机率。
发明内容有鉴于此,本发明的目的就是提供一种防止非易失性存储器发生读取干扰的方法及其控制器,其可有效地抑制读取干扰发生的机率,以正确地读取非易失性存储器内所储存的所有资料。基于上述及其所欲达成的目的,本发明提出一种防止非易失性存储器发生读取干扰的方法,其适用于非易失性存储器储存装置,其中非易失性存储器具有多数个区块,且这些区块至少分成一资料群组及一备用群组,而每一个区块具有多数个分页。本发明所提出的防止非易失性存储器发生读取干扰的方法包括下列步骤首先,纪录资料群组的该些区块中至少一第一区块被读取的次数。接着,当第一区块的读取次数大于一个预设值时,更新第一区块内原先所储存的资料。于本发明一选择实施例中,纪录第一区块被读取的次数的步骤包括利用一读取次数表纪录第一区块被读取的次数。其中,此读取次数表具有对应第一区块的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。于本发明另一选择实施例中,纪录第一区块被读取的次数的步骤包括利用一读取次数表纪录第一区块的该些分页中至少一第一分页被读取的次数。其中,所述读取次数表具有对应第一分页的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤包括首先,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,其中所述读取次数表还具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,以第二区块替代第一区块,并且更新所述第一计数值。于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括首先,将相邻于第一区块的至少一第三区块内原先所储存的资料复制至备用群组中的第四区块,其中所述读取次数表还具有对应第三区块及第四区块的一第三计数值与一第四计数值,且此第三计数值及第四计数值用以各别表示为第三区块及第区块被读取的次数。接着,以第四区块替代第三区块,并且更新所述第三计数值。于本发明另一选择实施例中,更新第一区块内原先所储存的资料的步骤包括首先,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,其中所述读取次数表还具有对应第二区块的该些分页中至少一第二分页的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,以第二区块替代第一区块,并且更新所述第一计数值。于本发明另一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括首先,将相邻于第一区块的至少一第三区块内原先所储存的资料复制至备用群组中的一第四区块,其中所述读取次数表更具有对应第三区块的该些分页中至少一第三分页的一第三计数值及第四区块的该些分页中至少一第四分页的一第四计数值,且此第三计数值及第四计数值用以各别表示为第三区块及第四区块被读取的次数。接着,以第四区块替代第三区块,并且更新所述第三计数值。于本发明再一选择实施例中,更新第一区块内原先所储存的资料的步骤包括首先,将第一区块内原先所储存的资料读出,并暂存于非易失性存储器储存装置的控制器的缓冲存储器内。接着,抹除第一区块。之后,将缓冲存储器内暂存第一区块内原先所储存的资料写回至第一区块。最后,更新所述第一计数值。于本发明再一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括首先,将相邻于第一区块的至少一第二区块内原先所储存的资料读出,并暂存于所述缓冲存储器内,其中所述读取次数表还具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,抹除第二区块。之后,将缓冲存储器内暂存第二区块内原先所储存的资料写回至第二区块。最后,更新所述第二计数值。从另一观点来看,本发明提供一种防止非易失性存储器发生读取干扰的方法,适用于一非易失性存储器储存装置,其中易失性存储器具有多数个区块,且每一个区块具有多数个分页。本发明所提出的防止非易失性存储器发生读取干扰的方法包括下列步骤首先,将非易失性存储器储存装置的控制器所执行用以控制非易失性存储器储存装置的程序码储存于该些区块中的至少一第一区块。接着,当供电至非易失性存储器储存装置时,将第一区块内所储存的程序码复制至该些区块中的至少一第二区块。在本发明的一选择实施例中,本发明所提出的防止非易失性存储器发生读取干扰的方法还包括以下步骤纪录第二区块被读取的次数,并且当第二区块的读取次数大于一个预设值时,更新第二区块内所储存的程序码。于本发明一选择实施例中,纪录第二区块被读取的次数的步骤包括利用一读取次数表纪录第二区块被读取的次数,其中所述读取次数表具有对应第二区块的一第一计数值,且此第一计数值用以表示为第二区块被读取的次数。于本发明一选择实施例中,更新第二区块内所储存的程序码的步骤包括首先,将第二区块内所储存的程序码复制至该些区块中的至少一第三区块,其中所述读取次数表还具有对应第三区块的一第二计数值,且此第二计数值用以表示为第三区块被读取的次数。接着,以第三区块替代第二区块,并且更新所述第一计数值。于本发明一选择实施例中,更新第二区块内所储存的程序码的步骤更包括首先,将相邻于第二区块的至少一第四区块内原先所储存的资料复制至该些区块中的一第五区块,其中所述读取次数表更具有对应第四区块及第五区块的一第三计数值与一第四计数值,且此第三计数值及第四计数值用以各别表示为第四区块及第五区块被读取的次数。接着,以第五区块替代第四区块,并且更新所述第三计数值。于本发明一选择实施例中,非易失性存储器为单层存储单元快闪存储器或多层存储单元快闪存储器。再从另一观点来看,本发明提供一种控制器,其适用于一非易失性存储器储存装置,所述控制器包括微处理单元、非易失性存储器接口、缓冲存储器,以及存储器管理模组。其中,微处理单元用以控制所述控制器的整体运作。非易失性存储器接口会电性连接至微处理单元,并且用以存取非易失性存储器,其中易失性存储器具有多数个区块,且该些区块至少分成一资料群组及一备用群组。缓冲存储器会电性连接至微处理单元,并且用以暂时地储存资料。存储器管理模组会电性连接至微处理单元,并且用以管理非易失性存储器,其中此存储器管理模组会执行一防止该非易失性存储器发生读取干扰的方法,该方法包括下列步骤首先,纪录资料群组的该些区块中至少一第一区块被读取的次数。接着,当第一区块的读取次数大于一个预设值时,更新第一区块内原先所储存的资料。于本发明一选择实施例中,纪录第一区块被读取的次数的步骤包括利用一读取次数表纪录第一区块被读取的次数,其中所述读取次数表具有对应第一区块的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤包括首先,将第一区块内原先所储存的资料重新写回第一区块,并且更新所述第一计数值;或者,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,并以第二区块替代第一区块,且更新所述第一计数值。其中,所述读取次数表更具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤更包括将相邻于第一区块的至少一第三区块内原先所储存的资料同时更新。其中,所述读取次数表更具有对应第三区块的一第三计数值,且此第三计数值用以表示为第三区块被读取的次数。再从另一观点来看,本发明提供一种控制器,其适用于一非易失性存储器储存装置,该控制器包括微处理单元、非易失性存储器接口、缓冲存储器,以及存储器管理模组。其中,微处理单元用以控制所述控制器的整体运作。非易失性存储器接口会电性连接至微处理单元,并且用以存取非易失性存储器,其中易失性存储器具有多数个区块。缓冲存储器会电性连接至微处理单元,并且用以暂时地储存资料。存储器管理模组会电性连接至微处理单元,并且用以管理非易失性存储器,其中存储器管理模组会执行一防止该非易失性存储器发生读取干扰的方法,该方法包括下列步骤首先,将控制器所执行用以控制非易失性存储器储存装置的程序码储存于该些区块中的至少一第一区块。接着,当供电至非易失性存储器储存装置时,将第一区块内所储存的程序码复制至该些区块中的至少一第二区块。于本发明一选择实施例中,存储器管理模组所执行的防止该非易失性存储器发生读取干扰的方法更包括下列步骤纪录第二区块被读取的次数,并且当第二区块的读取次数大于一个预设值时,更新第二区块内所储存的程序码。于本发明一选择实施例中,纪录第二区块被读取的次数的步骤包括利用一读取次数表纪录第二区块被读取的次数,其中所述读取次数表具有对应该第二区块的一第一计数值,且此第一计数值用以表示为第二区块被读取的次数。于本发明一选择实施例中,更新第二区块内所储存的程序码的步骤包括将第二区块内所储存的程序码重新写回第二区块,并且更新所述第一计数值;或者,将第二区块内所储存的程序码复制至该些区块中的至少一第三区块,并以第三区块替代第二区块,且更新所述第一计数值。其中,所述读取次数表更具有对应第三区块的一第二计数值,且此第二计数值用以表示为第三区块被读取的次数。于本发明一选择实施例中,更新第二区块内所储存的程序码的步骤更包括将相邻于第二区块的至少一第四区块内原先所储存的资料同时更新。其中,所述读取次数表更具有对应第四区块的一第三计数值,且此第三计数值用以表示为第四区块被读取的次数。为了要防止读取干扰的产生,本发明所提出的防止非易失性存储器发生读取干扰的方法主要是利用读取次数表来记录非易失性存储器内至少一/每一区块或分页被读取的次数。借此,当非易失性存储器内某一个区块或分页被读取的次数大于预设值时,将此区块或将此分页所隶属的区块所储存的资料更新。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法,不但可以有效地抑制读取干扰发生的机率,且可以正确地读取非易失性存储器内所储存的所有资料。为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中图1绘示为非易失性存储器储存装置的简易系统方块图。图2绘示为本发明一实施例的防止非易失性存储器发生读取干扰的方法流程图。图3绘示为本发明另一实施例的防止非易失性存储器发生读取干扰的方法流程图。图4绘示为本发明的防止非易失性存储器发生读取干扰的方法可应用的装置的示意图。主要元件符号说明100:非易失性存储器储存装置101:控制器101a:存储器管理模组101b:非易失性存储器接口101c:缓冲存储器101d:微处理单元101e:主机传输接口101f:错误校正模组101g:电源管理模组101h:程序存储器103:非易失性存储器B0~Bn:区块PoPm:分页D:资料存储区R:资料冗余区402:USB快闪碟404:数码相机(摄影机)404a:SD卡404b:MMC卡404c:CF卡404d:记忆棒(memorystick)406:固态硬盘S201、S203:本发明一实施例的防止非易失性存储器发生读取干扰的方法各步骤S301、S303:本发明另一实施例的防止非易失性存储器发生读取干扰的方法各步骤具体实施例方式本发明所欲达成的技术功效是为有效地抑制读取干扰发生的机率,借以达到正确地读取非易失性存储器内所储存的所有资料。而以下的内容将针对本案的技术特征与所欲达成的技术功效做一详加描述,借以提供给本发明相关领域的技术人员参考。图1绘示为非易失性存储器储存装置100的系统方块图。请参照图1,非易失性存储器储存装置100—般包括控制器101与非易失性存储器103。其中,控制器101用以控制非易失性存储器储存装置100的整体运作,例如资料的储存、读取与抹除等。于本实施例中,控制器101包括存储器管理模组101a、非易失性存储器接口101b、缓冲存储器101c与微处理单元101d。其中,存储器管理模组101a用以管理非易失性存储器103,例如执行本发明所提出的防止非易失性存储器发生读取干扰(read-disturb)的方法、损坏区块管理、维护映射表(mappingtable)等。非易失性存储器接口101b用以存取非易失性存储器103,也就是外部主机(未绘示,例如可以是电脑、数码相机、摄影机、通信装置、音频播放器或视频播放器等可储存资料的任意系统)欲写入至的资料会经由非易失性存储器接口101b转换为非易失性存储器103所能接受的资料格式。缓冲存储器101c用以暂时地储存系统资料(例如映射表)或者主机所欲读取或写入的资料。在本实施例中,缓冲存储器101c为静态随机存取存储器(staticrandomaccessmemory,SRAM)。然而,必须了解的是,本发明并不限于此,动态随机存取存储器(DRAM)、磁阻式存储器(MRAM)、相变化存储器(PRAM)或其他适合的存储器也可应用于本发明。微处理单元101d用以控制控制器101的整体运作。于本实施例中,控制器101还包括主机传输接口101e、错误校正模组101f、电源管理模组101g,以及程序存储器101h。其中,主机传输接口101e用以与主机通讯。于此,主机传输接口101c可以是USB接口、IEEE1394接口、SATA接口、PCIExpress接口、SAS接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。错误校正模组101f用以计算错误校正码(errorcorrectingcode),借以来检査与校正主机所读取或写入的资料。电源管理模组101g用以管理非易失性存储器储存装置100的电源。程序存储器101h用以储存控制器101所执行用以控制非易失性存储器储存装置100的程序码。非易失性存储器103用以储存资料。于本实施例中,非易失性存储器103为快闪存储器,且此快闪存储器可以为单层存储单元(SLC)快闪存储器或多层存储单元(MLC)快闪存储器。众所皆知的是,非易失性存储器通常实质上分割为多个实体区块(physicalblock),且每一个实体区块通常会分割为多数个分页(page)。于本实施例中,非易失性存储器103具有多数个区块B。Bn(排列方式并不限制如图1所绘示般),且每一个区块BQBn皆会如区块B。般具有多数个分页PoPm(排列方式并不限制如图l所绘示般)。一般而言,每一个分页通常包括有资料存储区D与资料冗余区R。其中,资料存储区D用以储存使用者的资料,而资料冗余区R则用以储存系统的资料,例如上述的误差更正码(errorcorrectioncode,ECC)。为了有效率地管理非易失性存储器103,一般会将非易失性存储器103的区块B()B。在逻辑上规划成系统群组、资料群组与备用群组。一般来说,非易失性存储器103中属于资料群组的区块会占据所有区块B。Bn的90X以上,而剩下的区块才属于系统群组与备用群组。其中,系统群组中的区块主要是用以记录系统资料,例如是关于非易失性存储器103的区域数、每一区域的区块数、每一区块的分页数、逻辑实体映射表…等。资料群组中的区块主要是用以储存使用者的资料。备用群组中的区块主要是用以替换资料群组中的区块。因此,备用群组中的区块为空的区块,亦即无记录资料或标记为已没用的无效资料。再者,为了要有效地抑制对非易失性存储器103进行多次读取时所发生的读取干扰,以下将针对本发明所提出的防止非易失性存储器发生读取干扰的方法进行详细的说明,借以让本发明相关领域的技术人员参考。图2绘示为本发明一实施例的防止非易失性存储器发生读取干扰的方法流程图。请合并参照图l及图2,本实施例的防止非易失性存储器发生读取干扰的方法包括下列步骤首先,如步骤S201所述,纪录隶属于资料群组的所有区块中至少一第一区块被读取的次数。于本实施例中,纪录资料群组中每一个区块被读取的次数主要是利用一读取次数表来记录的,其中此读取次数表可以储存在缓冲存储器101c,但并不限制于此。另外,控制器101会控制管理其内部的一计数器(未绘示)去计数资料群组中每一区块被读取的次数,并且将资料群组中每一区块被读取的次数纪录于读取次数表中。因此,读取次数表中就会具有多数个对应资料群组中每一个区块的一计数值,而这些计数值则分别表示为资料群组中每一个区块被读取的次数。举例来说,当读取次数表中用以纪录资料群组中区块Bo被读取的次数的计数值为100时,即表示区块Bo内所储存的资料已被读取了100次。基此,本实施例即利用上述读取次数表纪录第一区块被读取的次数,且此读取次数表具有对应此第一区块的第一计数值,其中该第一计数值则用以表示为第一区块被读取的次数。于此值得一提的是,在非易失性存储器储存装置IOO的运作期间,每当读取资料群组中的任一区块时,缓冲存储器105内的读取次数表所纪录的内容就会持续地被控制器101所更新,并且例如在非易失性存储器储存装置100结束运作或者每动作一定次数后,读取次数表中所纪录的内容就会被控制器101纪录至系统群组的至少一区块中,或者会被相对应的纪录于被读取的区块的资料冗余区R中,而此备份动作是为了要避免因非易失性存储器储存装置100发生不正常断电所造成已更新的读取次数表所纪录的内容遗失。故依据上述可知,上述读取次数表可以储存在非易失性存储器103的外部(亦即储存在控制器101内部的缓冲存储器105中),且亦可以储存在非易失性存储器103的内部(亦即储存在系统群组的至少一区块中或储存于被读取的区块的资料冗余区R中),甚至更可以独身自立于控制器101的系统当中。此外,上述被控制器101所控制管理的计数器的计数方式可以设计成上数或下数。接着,如步骤S203所述,当资料群组中的第一区块的读取次数大于预设值时,更新第一区块内原先所储存的资料。于本实施例中,假设资料群组中的第一区块(例如区块BQ)的读取次数大于预设值(即有可能发生读取干扰的读取次数,例如百万次,但不限制于此)时,此时控制器101会将第一区块Bo内原先所储存的资料复制至备用群组中的一第二区块(例如区块B^),而此过程也就是步骤S203所述及的更新第一区块内原先所储存的资料;反之,当资料群组中的第一区块Bo的读取次数未大于预设值时,第一区块Bo内原先所储存的资料并不会被更新。于本实施例中,上述读取次数表还具有对应此第二区块B^的第二计数值,且此第二计数值则用以表示为第二区块被读取的次数。紧接着,控制器101会再去修正逻辑实体映射表的对应关系,以将第二区块B^替代第一区块BQ,并且更新读取次数表用以纪录第一区块Bo被读取的次数的第一计数值,例如将纪录第一区块Bo被读取的次数的第一计数值重新归0(亦即从百万次的计数值归0)。在此值得一提的是,过于频繁地执行资料更新会影响整个非易失性存储器储存装置100的效能,而若太长时间不执行资料更新的话,则会增加资料读取错误的风险,故上述预设值的设定可以通过多次实验的结果而定义出一个合理值,例如IO万次至1000万次依不同的设计需求来设定不同的数值。故依据上述可知,当第一区块Bo的读取次数大于百万次的同时,控制器101会致使第一区块BQ内原先所储存的资料复制至备用群组中的第二区块B^,并且修正逻辑实体映射表的对应关系,以将第二区块B^替代第一区块Bo,所以本实施例的防止非易失性存储器发生读取干扰的方法即可有效地抑制对非易失性存储器103于一特定的区块进行多次读取时所发生的读取干扰。然而,更得一提的是,由于制程因素的影响,当第一区块B。的读取次数越来越多的同时,有可能会间接影响到相邻于第一区块B()的一第三区块(例如区块B。内原先所储存的资料。因此,当第一区块Bo的读取次数大于百万次的同时,控制器101除了会致使第一区块Bo内原先所储存的资料复制至备用群组中的第二区块外,还会致使第三区块B,内原先所储存的资料复制至备用群组中的一第四区块(例如区块B》。于本实施例中,上述读取次数表还具有对应第三区块B!及第四区块Bn的一第三计数值与一第四计数值,且此第三及第四计数值用以各别表示为第三区块B,及第四区块Bn被读取的次数。紧接着,控制器101会再去修正逻辑实体映射表的对应关系,以将第四区块B。替代第三区块Bp并且更新读取次数表用以纪录第三区块Bi被读取的次数的第三计数值。故基于上述可知,当资料群组中的某一区块的读取次数达到设定的预设值时,本实施例的防止非易失性存储器发生读取干扰的方法除了会更新读取次数大于预设值的区块所储存的资料外,还更会同时将与读取次数大于预设值的区块相邻的区块(例如左右/上下相邻的区块)所储存的资料也一并更新。因此,本实施例的防止非易失性存储器发生读取干扰的方法即可达到正确地读取非易失性存储器103内所储存的所有资料。再者,依据本发明的精神并不限制于上述实施例的实施方式。在本发明另一实施例中,假设资料群组中的第一区块(例如区块B。)的读取次数大于预设值(即有可能发生读取干扰的读取次数,例如百万次,但不限制于此)时,此时控制器101会先将第一区块Bo内原先所储存的资料读出,并暂存于缓冲存储器IOlc内。接着,控制器101会抹除第一区块B。内所储存的所有资料。之后,控制器101会将缓冲存储器101c内暂存第一区块Bo内原先所储存的资料写回至第一区块BQ,并且更新读取次数表用以纪录第一区块Bo被读取的次数的第一计数值,而此过程同样也就是步骤S203所述及的更新第一区块内原先所储存的资料。然而,于本实施例中,控制器101并不需要去修正逻辑实体映射表的对应关系。上述所谓的资料更新指的是将区块内原先所储存的资料重新写入的动作(亦即抹除后再写入),其可以写入于不同的区块或原来的区块。因此,只要是区块内原先所储存的资料被重新写入,该区块发生读取干扰的可能性即会大大地减少,且当区块内原先所储存的资料被重新写入时,读取次数表用以记录区块被读取的计数值也会随即被重置(例如归0)。相似地,由于制程因素的影响,当第一区块BQ的读取次数越来越多的同时,有可能会间接影响到相邻于第一区块Bo的至少一第二区块(例如区块B。内原先所储存的资料。因此,当第一区块B。的读取次数大于百万次的同时,控制器101除了会将第一区块Bo内原先所储存的资料读出并暂存于缓冲存储器101c夕卜,更会将第二区块B!内原先所储存的资料同样读出并暂存于缓冲存储器101c内。接着,控制器101也会抹除第二区块Bt内所储存的所有资料,并将缓冲存储器101c内暂存第二区块Bi内原先所储存的资料写回至第二区块B,,且更新读取次数表用以纪录第二区块B,被读取的次数的第二计数值。借此,本实施例的防止非易失性存储器发生读取干扰的方法亦可达到正确地读取非易失性存储器103内所储存的所有资料。据此,值得一提的是,上述实施例用以纪录资料群组中每一个区块被读取的次数的单位为整个区块,但是依据本发明的精神并不限制于此。在本发明的再一实施例中,纪录资料群组中每一个区块被读取的次数同样还是利用读取次数表来记录的,但是控制器101却会控制管理计数器去计数资料群组中每一个区块内的每一个分页被读取的次数,只要是任一区块内的任一分页被读取时,此被读取分页所隶属的区块就会被视为已读取一次。举例来说,当第一区块(例如区块B。)内的第一分页(例如分页P。)所储存的资料被读取时,读取次数表用以纪录第一区块B。被读取的次数的第一计数值就会累加一次或递减一次;而当第二区块(例如区块B》内的第二分页(例如分页P。所储存的资料被读取时,读取次数表用以纪录第二区块Bt被读取的次数的第一计数值就会累加一次或递减一次。相似地,当第三区块(例如区块B》内的第三分页(例如分页P》所储存的资料被读取时,读取次数表用以纪录第三区块B2被读取的次数的第三计数值就会累加一次或递减一次;而当第四区块(例如区块B"内的第四分页(例如分页P3)所储存的资料被读取时,读取次数表用以纪录第四区块B3被读取的次数的第四计数值就会累加一次或递减一次,依此类推之。当然,为了实现此实施方式,读取次数表内就必须具有多数个对应资料群组中每一个区块内的每一个分页的计数值,且这些计数值分别表示为资料群组中每一个区块内的每一个分页被读取的次数。另外,于本实施例中,更新任一区块内原先所储存的资料的流程大致与上述实施例所揭露的内容类似,故在此并不再加以赘述。从另一观点来说,控制器101所执行用以控制非易失性存储器储存装置100的程序码一般会储存在程序存储器101h内。然而,于本发明的一选择实施例中,控制器101所执行用以控制非易失性存储器储存装置100的程序码会被储存在非易失性存储器103中的至少一区块。故可想而知的是,此区块所储存的程序码在非易失性存储器储存装置100的运作期间必然会很频繁地被读取。因此,对此区块所储存的程序码进行多次得读取后,也有可能会发生读取干扰。为此,本发明提供另一种防止非易失性存储器发生读取干扰的方法,借以提供给本发明领域的技术人员参考。图3绘示为本发明另一实施例的防止非易失性存储器发生读取干扰的方法流程图。请合并参照图1及图3,本实施例的防止非易失性存储器发生读取干扰的方法适用于非易失性存储器储存装置100,其中易失性存储器103具有多数个区块,且每一个区块具有多数个分页,该方法同样由存储器管理模组101a来执行,且其包括下列步骤首先,如步骤S301所述,将非易失性存储器储存装置100的控制器101所执行用以控制非易失性存储器储存装置100的程序码储存于非易失性存储器103内所有区块中的至少一第一区块。接着,如步骤S303所述,当供电至非易失性存储器储存装置IOO时,将第一区块内所储存的程序码复制至非易失性存储器103内所有区块中的至少一第二区块。于本实施例中,当第一区块内所储存的程序码复制至非易失性存储器103内所有区块中的至少一第二区块之后,存储器管理模组101a更会纪录第二区块被读取的次数,并且当第二区块的读取次数大于一个预设值时,更新第二区块内所储存的程序码。故基于上述可知,由于控制器101所执行用以控制非易失性存储器储存装置100的程序码已被储存在非易失性存储器103中的至少一区块,所以控制器101内的程序存储器101h即可省略,借以节省控制器101的成本。另外,当主机供电至非易失性存储器储存装置100时,存有程序码的区块会被控制器101复制至另一区块中。借此,被复制存有程序码的区块就会替代原存有程序码的区块,而此用意乃是为了要顾全原存有程序码的区块不会受到读取干扰的影响,所以程序码发生错误、异常或遗失的现象就会大大地降低。此外,由于被复制存有程序码的区块在非易失性存储器储存装置100的运作期间还是会很频繁地被读取,所以依据本发明的精神,当被复制存有程序码的区块的读取次数大于一个预设值(即有可能发生读取干扰的读取次数,例如百万次,但不限制于此时),被复制存有程序码的区块的资料更新方式会与上述实施例类似,于此并不再加以赘述。有鉴于此,本发明所提出的防止非易失性存储器发生读取干扰的方法不但可以确保读取非挥性存储器103内所储存的所有资料的正确性外,也可确保当控制器101所执行用以控制非易失性存储器储存装置100的程序码存在非挥性存储器103的完整性。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法可适用于各种以非易失性存储器作为储存媒体的装置。例如图4所绘示的USB快闪碟402、数码相机(摄影机)404所使用的SD卡404a、MMC卡404b、CF卡404c与记忆棒(memorystick)404d,以及固态硬盘406等。当中尤以固态硬盘406更需要好的防止非易失性存储器发生读取干扰的方法,来抑制读取干扰发生的机率。综上所述,本发明所提供的防止非易失性存储器发生读取干扰的方法主要是利用计数器及读取次数表来各别计数及记录非易失性存储器内每一个区块或分页被读取的次数。借此,当非易失性存储器内某一个区块或分页被读取的次数大于预设值时,将此区块或将此分页所隶属的区块所储存的资料更新。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法,不但可以有效地抑制读取干扰发生的机率,且可以正确地读取非易失性存储器内所储存的所有资料。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。权利要求1.一种防止非易失性存储器发生读取干扰的方法,适用于一非易失性存储器储存装置,其特征在于,该易失性存储器具有多数个区块,该些区块至少分成一资料群组及一备用群组,而每一个区块具有多数个分页,该方法包括下列步骤纪录该资料群组的该些区块中至少一第一区块被读取的次数;以及当该第一区块的读取次数大于一预设值时,更新该第一区块内原先所储存的资料。2.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"纪录该第一区块被读取的次数"的步骤包括利用一读取次数表纪录该第一区块被读取的次数,其中该读取次数表具有对应该第一区块的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。3.如权利要求2所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤包括将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,其中该读取次数表还具有对应该第二区块的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;以及以该第二区块替代该第一区块,并且更新该第一计数值。4.如权利要求3所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤还包括将相邻于该第一区块的至少一第三区块内原先所储存的资料复制至该备用群组中的一第四区块,其中该读取次数表还具有对应该第三区块及该第四区块的一第三计数值与一第四计数值,且该第三计数值及该第四计数值用以各别表示为该第三区块及第四区块被读取的次数;以及以该第四区块替代该第三区块,并且更新该第三计数值。5.如权利要求2所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤包括将该第一区块内原先所储存的资料读出,并暂存于该非易失性存储器储存装置的一控制器的一缓冲存储器内;抹除该第一区块;将该缓冲存储器内暂存该第一区块内原先所储存的资料写回至该第一区块;以及更新该第一计数值。6.如权利要求5所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤还包括将相邻于该第一区块的至少一第二区块内原先所储存的资料读出,并暂存于该缓冲存储器内,其中该读取次数表还具有对应该第二区块的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;抹除该第二区块;将该缓冲存储器内暂存该第二区块内原先所储存的资料写回至该第二区块;以及更新该第二计数值。7.如权利要求2所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该读取次数表储存于该非易失性存储器的内部或外部。8.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"纪录该第一区块被读取的次数"的步骤包括利用一读取次数表纪录该第一区块的该些分页中至少一第一分页被读取的次数,其中该读取次数表具有对应该第一分页的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。9.如权利要求8所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤包括-将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,其中该读取次数表更具有对应该第二区块的该些分页中至少一第二分页的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;以及以该第二区块替代该第一区块,并且更新该第一计数值。10.如权利要求9所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤还包括将相邻于该第一区块的至少一第三区块内原先所储存的资料复制至该备用群组中的一第四区块,其中该读取次数表还具有对应该第三区块的该些分页中至少一第三分页的一第三计数值及该第四区块的该些分页中至少一第四分页的一第四计数值,且该第三计数值及该第四计数值用以各别表示为该第三区块及该第四区块被读取的次数;以及以该第四区块替代该第三区块,并且更新该第三计数值。11.如权利要求8所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤包括将该第一区块内原先所储存的资料读出,并暂存于该非易失性存储器储存装置的一控制器的一缓冲存储器内;抹除该第一区块;将该缓冲存储器内暂存该第一区块内原先所储存的资料写回至该第一区块;以及更新该第一计数值。12.如权利要求11所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤还包括将相邻于该第一区块的至少一第二区块内原先所储存的资料读出,并暂存于该缓冲存储器内,其中该读取次数表还具有对应该第二区块的该些分页中至少一第二分页的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;抹除该第二区块;将该缓冲存储器内暂存该第二区块内原先所储存的资料写回至该第二区块;以及更新该第二计数值。13.如权利要求8所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该读取次数表储存于该非易失性存储器的内部或外部。14.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该非易失性存储器为一单层存储单元快闪存储器或一多层存储单元快闪存储器。15.—种防止非易失性存储器发生读取干扰的方法,适用于一非易失性存储器储存装置,其中该易失性存储器具有多数个区块,且每一个区块具有多数个分页,该方法包括下列步骤将该非易失性存储器储存装置的一控制器所执行用以控制该非易失性存储器储存装置的一程序码储存于该些区块中的至少一第一区块;以及当供电至该非易失性存储器储存装置时,将该第一区块内所储存的该程序码复制至该些区块中的至少一第二区块。16.如权利要求15所述的防止非易失性存储器发生读取干扰的方法,其特征在于,还包括纪录该第二区块被读取的次数;以及当该第二区块的读取次数大于一预设值时,更新该第二区块内所储存的该程序码。17.如权利要求16所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"纪录该第二区块被读取的次数"的步骤包括利用一读取次数表纪录该第二区块被读取的次数,其中该读取次数表具有对应该第二区块的一第一计数值,且该第一计数值用以表示为该第二区块被读取的次数。18.如权利要求17所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第二区块内所储存的该程序码"的步骤包括将该第二区块内所储存的该程序码复制至该些区块中的至少一第三区块,其中该读取次数表还具有对应该第三区块的一第二计数值,且该第二计数值用以表示为该第三区块被读取的次数;以及以该第三区块替代该第二区块,并且更新该第一计数值。19.如权利要求18所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于"更新该第二区块内所储存的该程序码"的步骤还包括将相邻于该第二区块的至少一第四区块内原先所储存的资料复制至该些区块中的一第五区块,其中该读取次数表还具有对应该第四区块及该第五区块的一第三计数值与一第四计数值,且该第三计数值及该第四计数值用以各别表示为该第四区块及该第五区块被读取的次数;以及以该第五区块替代该第四区块,并且更新该第三计数值。20.如权利要求15所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该非易失性存储器为一单层存储单元快闪存储器或一多层存储单元快闪存储器。21.—种控制器,其适用于一非易失性存储器储存装置,其特征在于,该控制器包括-一微处理单元,用以控制该控制器的整体运作;一非易失性存储器接口,电性连接至该微处理单元并且用以存取该非易失性存储器,其中该易失性存储器具有多数个区块,且该些区块至少分成一资料群组及一备用群组;一缓冲存储器,电性连接至该微处理单元并且用以暂时地储存资料;以及一存储器管理模组,电性连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模组会执行一防止该非易失性存储器发生读取干扰的方法,该方法包括下列步骤-纪录该资料群组的该些区块中至少一第一区块被读取的次数;以及当该第一区块的读取次数大于一预设值时,更新该第一区块内原先所储存的资料。22.如权利要求21所述的控制器,其特征在于,于"纪录该第一区块被读取的次数"的步骤包括利用一读取次数表纪录该第一区块被读取的次数,其中该读取次数表具有对应该第一区块的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。23.如权利要求21所述的控制器,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤包括将该第一区块内原先所储存的资料重新写回该第一区块,并且更新该第一计数值;或者,将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,并以该第二区块替代该第一区块,且更新该第一计数值,其中,该读取次数表还具有对应该第二区块的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数。24.如权利要求23所述的控制器,其特征在于,于"更新该第一区块内原先所储存的资料"的步骤还包括将相邻于该第一区块的至少一第三区块内原先所储存的资料同时更新,其中,该读取次数表还具有对应该第三区块的一第三计数值,且该第三计数值用以表示为该第三区块被读取的次数。25.—种控制器,其适用于一非易失性存储器储存装置,其特征在于,该控制器包括一微处理单元,用以控制该控制器的整体运作;一非易失性存储器接口,电性连接至该微处理单元并且用以存取该非易失性存储器,其中该易失性存储器具有多数个区块;一缓冲存储器,电性连接至该微处理单元并且用以暂时地储存资料;以及一存储器管理模组,电性连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模组会执行一防止该非易失性存储器发生读取干扰的方法,该方法包括下列步骤将该控制器所执行用以控制该非易失性存储器储存装置的一程序码储存于该些区块中的至少一第一区块;以及当供电至该非易失性存储器储存装置时,将该第一区块内所储存的该程序码复制至该些区块中的至少一第二区块。26.如权利要求25所述的控制器,其特征在于,该方法还包括下列步骤纪录该第二区块被读取的次数;以及当该第二区块的读取次数大于一预设值时,更新该第二区块内所储存的该程序码。27.如权利要求26所述的控制器,其特征在于,于"纪录该第二区块被读取的次数"的步骤包括利用一读取次数表纪录该第二区块被读取的次数,其中该读取次数表具有对应该第二区块的一第一计数值,且该第一计数值用以表示为该第二区块被读取的次数。28.如权利要求27所述的控制器,其特征在于,于"更新该第二区块内所储存的该程序码"的步骤包括将该第二区块内所储存的该程序码重新写回该第二区块,并且更新该第一计数值;或者,将该第二区块内所储存的该程序码复制至该些区块中的至少一第三区块,并以该第三区块替代该第二区块,且更新该第一计数值,其中,该读取次数表还具有对应该第三区块的一第二计数值,且该第二计数值用以表示为该第三区块被读取的次数。29.如权利要求28所述的控制器,其特征在于,于"更新该第二区块内所储存的该程序码"的步骤还包括将相邻于该第二区块的至少一第四区块内原先所储存的资料同时更新,其中,该读取次数表还具有对应该第四区块的一第三计数值,且该第三计数值用以表示为该第四区块被读取的次数。全文摘要本发明提供一种防止非易失性存储器发生读取干扰的方法,其中非易失性存储器具有多数个区块,而这些区块至少分成资料群组及备用群组,且每一个区块具有多数个分页。本发明所提出的防止非易失性存储器发生读取干扰的方法包括下列步骤首先,纪录资料群组的该些区块中至少一第一区块被读取的次数。接着,当第一区块的读取次数大于一预设值时,更新第一区块内原先所储存的资料。文档编号G11C16/06GK101494085SQ20081000515公开日2009年7月29日申请日期2008年1月22日优先权日2008年1月22日发明者陈振业申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1