CN101494085B - 防止非易失性存储器发生读取干扰的方法及其控制器 - Google Patents
防止非易失性存储器发生读取干扰的方法及其控制器 Download PDFInfo
- Publication number
- CN101494085B CN101494085B CN200810005154.4A CN200810005154A CN101494085B CN 101494085 B CN101494085 B CN 101494085B CN 200810005154 A CN200810005154 A CN 200810005154A CN 101494085 B CN101494085 B CN 101494085B
- Authority
- CN
- China
- Prior art keywords
- block
- read
- count value
- original
- nonvolatile memory
- 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.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种防止非易失性存储器发生读取干扰的方法,其中非易失性存储器具有多数个区块,而这些区块至少分成资料群组及备用群组,且每一个区块具有多数个分页。本发明所提出的防止非易失性存储器发生读取干扰的方法包括:纪录资料群组的该些区块中至少一第一区块被读取的次数;以及当第一区块的读取次数大于一预设值时,更新第一区块内原先所储存的资料。由此,当非易失性存储器内某一个区块或分页被读取的次数大于预设值时,即将此区块或将此分页所隶属的区块所储存的资料更新。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法,不但可以有效地抑制读取干扰发生的机率,且可以正确地读取非易失性存储器内所储存的所有资料。
Description
技术领域
本发明是有关于一种储存媒体的读取技术,且特别是有关于一种防止非易失性存储器发生读取干扰的方法及其控制器。
背景技术
近年来,由于数码相机、具有照相功能的手机、MP3,以及MP4的成长十分迅速,所以使得消费者对储存媒体的需求也急剧增加。综观现今所有的储存媒体而言,由于快闪存储器(Flash Memory)具有资料非易失性、省电、体积小,以及无机械结构等特性,所以最适合内建于上述所举例的多种可携式多媒体装置中。再者,由于小型记忆卡与随身碟等外接式产品对于现代人而言的需求也很大,所以各家快闪存储器的制造厂商无不朝向让快闪存储器的容量变得更大及使用稳定度提升的研发方向而努力琢磨着。
一般而言,快闪存储器的种类大致可以按照制程的精密程度而分成两种。而众所皆知的是,由较低精密程度的制程所制作出来的是单层存储单元(SingleLevel Cell,SLC)快闪存储器,而由较高精密程度的制程所制作出来的是多层存储单元(Multi Level Cell,MLC)快闪存储器。其中,多层存储单元快闪存储器的记忆容量会高于单层存储单元快闪存储器的存储容量,但是多层存储单元快闪存储器的使用稳定度却会比单层存储单元快闪存储器的使用稳定度来得低。
然而,无论是对多层存储单元快闪存储器或是单层存储单元快闪存储器内的同一个区块所储存的资料进行多次读取时,例如十万至百万次间的读取次数,很有可能会发生所读取的资料是错误的,甚至此被多次读取区块内所储存的资料会发生异常或遗失。而此类现象以本发明领域具有通常知识者惯称为“读取干扰”(read-disturb)。也因有着这样的现象存在着,无不驱使着各家厂商必须发展出防止读取干扰的技术,以来有效地抑制读取干扰发生的机率。
发明内容
有鉴于此,本发明的目的就是提供一种防止非易失性存储器发生读取干扰的方法及其控制器,其可有效地抑制读取干扰发生的机率,以正确地读取非易失性存储器内所储存的所有资料。
基于上述及其所欲达成的目的,本发明提出一种防止非易失性存储器发生读取干扰的方法,其适用于非易失性存储器储存装置,其中非易失性存储器具有多数个区块,且这些区块至少分成一资料群组及一备用群组,而每一个区块具有多数个分页。本发明所提出的防止非易失性存储器发生读取干扰的方法包括:纪录资料群组的该些区块中至少一第一区块被读取的次数;以及当第一区块的读取次数大于一个预设值时,更新第一区块内原先所储存的资料。
于本发明一选择实施例中,纪录第一区块被读取的次数的步骤包括:利用一读取次数表纪录第一区块被读取的次数。其中,此读取次数表具有对应第一区块的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。
于本发明另一选择实施例中,纪录第一区块被读取的次数的步骤包括:利用一读取次数表纪录第一区块的该些分页中至少一第一分页被读取的次数。其中,所述读取次数表具有对应第一分页的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。
于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤包括:首先,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,其中所述读取次数表还具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,以第二区块替代第一区块,并且更新所述第一计数值。
于本发明一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括:首先,将相邻于第一区块的至少一第三区块内原先所储存的资料复制至备用群组中的第四区块,其中所述读取次数表还具有对应第三区块及第四区块的一第三计数值与一第四计数值,且此第三计数值及第四计数值用以各别表示为第三区块及第区块被读取的次数。接着,以第四区块替代第三区块,并且更新所述第三计数值。
于本发明另一选择实施例中,更新第一区块内原先所储存的资料的步骤包括:首先,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,其中所述读取次数表还具有对应第二区块的该些分页中至少一第二分页的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,以第二区块替代第一区块,并且更新所述第一计数值。
于本发明另一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括:首先,将相邻于第一区块的至少一第三区块内原先所储存的资料复制至备用群组中的一第四区块,其中所述读取次数表更具有对应第三区块的该些分页中至少一第三分页的一第三计数值及第四区块的该些分页中至少一第四分页的一第四计数值,且此第三计数值及第四计数值用以各别表示为第三区块及第四区块被读取的次数。接着,以第四区块替代第三区块,并且更新所述第三计数值。
于本发明再一选择实施例中,更新第一区块内原先所储存的资料的步骤包括:首先,将第一区块内原先所储存的资料读出,并暂存于非易失性存储器储存装置的控制器的缓冲存储器内。接着,抹除第一区块。之后,将缓冲存储器内暂存第一区块内原先所储存的资料写回至第一区块。最后,更新所述第一计数值。
于本发明再一选择实施例中,更新第一区块内原先所储存的资料的步骤还包括:首先,将相邻于第一区块的至少一第二区块内原先所储存的资料读出,并暂存于所述缓冲存储器内,其中所述读取次数表还具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。接着,抹除第二区块。之后,将缓冲存储器内暂存第二区块内原先所储存的资料写回至第二区块。最后,更新所述第二计数值。
再从另一观点来看,本发明提供一种控制器,其适用于一非易失性存储器储存装置,所述控制器包括微处理单元、非易失性存储器接口、缓冲存储器,以及存储器管理模组。其中,微处理单元用以控制所述控制器的整体运作。非易失性存储器接口会电性连接至微处理单元,并且用以存取非易失性存储器储存装置的非易失性存储器,其中非易失性存储器具有多数个区块,且该些区块至少分成一资料群组及一备用群组。缓冲存储器会电性连接至微处理单元,并且用以暂时地储存资料。
存储器管理模组会电性连接至微处理单元,并且用以管理非易失性存储器,其中此存储器管理模组会纪录资料群组的该些区块中至少一第一区块被读取的次数,且当第一区块的读取次数大于一个预设值时,存储器管理模组会更新第一区块内原先所储存的资料。
于本发明一选择实施例中,存储器管理模组利用一读取次数表纪录第一区块被读取的次数,其中所述读取次数表具有对应第一区块的一第一计数值,且此第一计数值用以表示为第一区块被读取的次数。
于本发明一选择实施例中,存储器管理模组更新第一区块内原先所储存的资料的方式可以包括:将第一区块内原先所储存的资料重新写回第一区块,并且更新所述第一计数值;或者,将第一区块内原先所储存的资料复制至备用群组中的一第二区块,并以第二区块替代第一区块,且更新所述第一计数值。其中,所述读取次数表更具有对应第二区块的一第二计数值,且此第二计数值用以表示为第二区块被读取的次数。
于本发明一选择实施例中,存储器管理模组更新第一区块内原先所储存的资料的方式更可以包括:将相邻于第一区块的至少一第三区块内原先所储存的资料同时更新。其中,所述读取次数表更具有对应第三区块的一第三计数值,且此第三计数值用以表示为第三区块被读取的次数。
为了要防止读取干扰的产生,本发明所提出的防止非易失性存储器发生读取干扰的方法主要是利用读取次数表来记录非易失性存储器内至少一/每一区块或分页被读取的次数。由此,当非易失性存储器内某一个区块或分页被读取的次数大于预设值时,将此区块或将此分页所隶属的区块所储存的资料更新。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法,不但可以有效地抑制读取干扰发生的机率,且可以正确地读取非易失性存储器内所储存的所有资料。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1绘示为非易失性存储器储存装置的简易系统方块图。
图2绘示为本发明一实施例的防止非易失性存储器发生读取干扰的方法流程图。
图3绘示为本发明另一实施例的防止非易失性存储器发生读取干扰的方法流程图。
图4绘示为本发明的防止非易失性存储器发生读取干扰的方法可应用的装置的示意图。
主要元件符号说明:
100:非易失性存储器储存装置
101:控制器
101a:存储器管理模组
101b:非易失性存储器接口
101c:缓冲存储器
101d:微处理单元
101e:主机传输接口
101f:错误校正模组
101g:电源管理模组
101h:程序存储器
103:非易失性存储器
B0~Bn:区块
P0~Pm:分页
D:资料存储区
R:资料冗余区
402:USB快闪碟
404:数码相机(摄影机)
404a:SD卡
404b:MMC卡
404c:CF卡
404d:记忆棒(memory stick)
406:固态硬盘
S201、S203:本发明一实施例的防止非易失性存储器发生读取干扰的方法各步骤
S301、S303:本发明另一实施例的防止非易失性存储器发生读取干扰的方法各步骤
具体实施方式
本发明所欲达成的技术功效是为有效地抑制读取干扰发生的机率,以达到正确地读取非易失性存储器内所储存的所有资料。而以下的内容将针对本案的技术特征与所欲达成的技术功效做一详加描述,以提供给本发明相关领域的技术人员参考。
图1绘示为非易失性存储器储存装置100的系统方块图。请参照图1,非易失性存储器储存装置100一般包括控制器101与非易失性存储器103。其中,控制器101用以控制非易失性存储器储存装置100的整体运作,例如资料的储存、读取与抹除等。于本实施例中,控制器101包括存储器管理模组101a、非易失性存储器接口101b、缓冲存储器101c与微处理单元101d。其中,存储器管理模组101a用以管理非易失性存储器103,例如执行本发明所提出的防止非易失性存储器发生读取干扰(read-disturb)的方法、损坏区块管理、维护映射表(mapping table)等。
非易失性存储器接口101b用以存取非易失性存储器103,也就是外部主机(未绘示,例如可以是电脑、数码相机、摄影机、通信装置、音频播放器或视频播放器等可储存资料的任意系统)欲写入至非易失性存储器103的资料会经由非易失性存储器接口101b转换为非易失性存储器103所能接受的资料格式。
缓冲存储器101c用以暂时地储存系统资料(例如映射表)或者主机所欲读取或写入的资料。在本实施例中,缓冲存储器101c为静态随机存取存储器(static random access memory,SRAM)。然而,必须了解的是,本发明并不限于此,动态随机存取存储器(DRAM)、磁阻式存储器(MRAM)、相变化存储器(PRAM)或其他适合的存储器也可应用于本发明。微处理单元101d用以控制控制器101的整体运作。
于本实施例中,控制器101还包括主机传输接口101e、错误校正模组101f、电源管理模组101g,以及程序存储器101h。其中,主机传输接口101e用以与主机通讯。于此,主机传输接口101c可以是USB接口、IEEE 1394接口、SATA接口、PCIExpress接口、SAS接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。
错误校正模组101f用以计算错误更正码(error correcting code),以来检查与校正主机所读取或写入的资料。电源管理模组101g用以管理非易失性存储器储存装置100的电源。程序存储器101h用以储存控制器101所执行用以控制非易失性存储器储存装置100的程序码。
非易失性存储器103用以储存资料。于本实施例中,非易失性存储器103为快闪存储器,且此快闪存储器可以为单层存储单元(SLC)快闪存储器或多层存储单元(MLC)快闪存储器。
众所皆知的是,非易失性存储器通常实质上分割为多个实体区块(physicalblock),且每一个实体区块通常会分割为多数个分页(page)。于本实施例中,非易失性存储器103具有多数个区块B0~Bn(排列方式并不限制如图1所绘示般),且每一个区块B0~Bn皆会如区块B0般具有多数个分页P0~Pm(排列方式并不限制如图1所绘示般)。
一般而言,每一个分页通常包括有资料存储区D与资料冗余区R。其中,资料存储区D用以储存使用者的资料,而资料冗余区R则用以储存系统的资料,例如上述的错误更正码(error correcting code,ECC)。
为了有效率地管理非易失性存储器103,一般会将非易失性存储器103的区块B0~Bn在逻辑上规划成系统群组、资料群组与备用群组。一般来说,非易失性存储器103中属于资料群组的区块会占据所有区块B0~Bn的90%以上,而剩下的区块才属于系统群组与备用群组。其中,系统群组中的区块主要是用以记录系统资料,例如是关于非易失性存储器103的区域数、每一区域的区块数、每一区块的分页数、逻辑实体映射表等。
资料群组中的区块主要是用以储存使用者的资料。备用群组中的区块主要是用以替换资料群组中的区块。因此,备用群组中的区块为空的区块,亦即无记录资料或标记为已没用的无效资料。
再者,为了要有效地抑制对非易失性存储器103进行多次读取时所发生的读取干扰,以下将针对本发明所提出的防止非易失性存储器发生读取干扰的方法进行详细的说明,以让本发明相关领域的技术人员参考。
图2绘示为本发明一实施例的防止非易失性存储器发生读取干扰的方法流程图。请合并参照图1及图2,本实施例的防止非易失性存储器发生读取干扰的方法包括下列步骤:首先,如步骤S201所述,纪录隶属于资料群组的所有区块中至少一第一区块被读取的次数。
于本实施例中,纪录资料群组中每一个区块被读取的次数主要是利用一读取次数表来记录的,其中此读取次数表可以储存在缓冲存储器101c,但并不限制于此。另外,控制器101会控制管理其内部的一计数器(未绘示)去计数资料群组中每一区块被读取的次数,并且将资料群组中每一区块被读取的次数纪录于读取次数表中。因此,读取次数表中就会具有多数个对应资料群组中每一个区块的一计数值,而这些计数值则分别表示为资料群组中每一个区块被读取的次数。举例来说,当读取次数表中用以纪录资料群组中区块B0被读取的次数的计数值为100时,即表示区块B0内所储存的资料已被读取了100次。
基此,本实施例即利用上述读取次数表纪录第一区块被读取的次数,且此读取次数表具有对应此第一区块的第一计数值,其中该第一计数值则用以表示为第一区块被读取的次数。
于此值得一提的是,在非易失性存储器储存装置100的运作期间,每当读取资料群组中的任一区块时,缓冲存储器105内的读取次数表所纪录的内容就会持续地被控制器101所更新,并且例如在非易失性存储器储存装置100结束运作或者每动作一定次数后,读取次数表中所纪录的内容就会被控制器101纪录至系统群组的至少一区块中,或者会被相对应的纪录于被读取的区块的资料冗余区R中,而此备份动作是为了要避免因非易失性存储器储存装置100发生不正常断电所造成已更新的读取次数表所纪录的内容遗失。
故依据上述可知,上述读取次数表可以储存在非易失性存储器103的外部(亦即储存在控制器101内部的缓冲存储器105中),且亦可以储存在非易失性存储器103的内部(亦即储存在系统群组的至少一区块中或储存于被读取的区块的资料冗余区R中),甚至更可以独身自立于控制器101的系统当中。此外,上述被控制器101所控制管理的计数器的计数方式可以设计成上数或下数。
接着,如步骤S203所述,当资料群组中的第一区块的读取次数大于预设值时,更新第一区块内原先所储存的资料。于本实施例中,假设资料群组中的第一区块(例如区块B0)的读取次数大于预设值(即有可能发生读取干扰的读取次数,例如百万次,但不限制于此)时,此时控制器101会将第一区块B0内原先所储存的资料复制至备用群组中的一第二区块(例如区块Bn-1),而此过程也就是步骤S203所述及的更新第一区块内原先所储存的资料;反之,当资料群组中的第一区块B0的读取次数未大于预设值时,第一区块B0内原先所储存的资料并不会被更新。
于本实施例中,上述读取次数表还具有对应此第二区块Bn-1的第二计数值,且此第二计数值则用以表示为第二区块Bn-1被读取的次数。
紧接着,控制器101会再去修正逻辑实体映射表的对应关系,以将第二区块Bn-1替代第一区块B0,并且更新读取次数表用以纪录第一区块B0被读取的次数的第一计数值,例如将纪录第一区块B0被读取的次数的第一计数值重新归0(亦即从百万次的计数值归0)。在此值得一提的是,过于频繁地执行资料更新会影响整个非易失性存储器储存装置100的效能,而若太长时间不执行资料更新的话,则会增加资料读取错误的风险,故上述预设值的设定可以通过多次实验的结果而定义出一个合理值,例如10万次至1000万次依不同的设计需求来设定不同的数值。
故依据上述可知,当第一区块B0的读取次数大于百万次的同时,控制器101会致使第一区块B0内原先所储存的资料复制至备用群组中的第二区块Bn-1,并且修正逻辑实体映射表的对应关系,以将第二区块Bn-1替代第一区块B0,所以本实施例的防止非易失性存储器发生读取干扰的方法即可有效地抑制对非易失性存储器103于一特定的区块进行多次读取时所发生的读取干扰。
然而,更得一提的是,由于制程因素的影响,当第一区块B0的读取次数越来越多的同时,有可能会间接影响到相邻于第一区块B0的一第三区块(例如区块B1)内原先所储存的资料。因此,当第一区块B0的读取次数大于百万次的同时,控制器101除了会致使第一区块B0内原先所储存的资料复制至备用群组中的第二区块Bn-1外,还会致使第三区块B1内原先所储存的资料复制至备用群组中的一第四区块(例如区块Bn)。
于本实施例中,上述读取次数表还具有对应第三区块B1及第四区块Bn的一第三计数值与一第四计数值,且此第三及第四计数值用以各别表示为第三区块B1及第四区块Bn被读取的次数。紧接着,控制器101会再去修正逻辑实体映射表的对应关系,以将第四区块Bn替代第三区块B1,并且更新读取次数表用以纪录第三区块B1被读取的次数的第三计数值。
故基于上述可知,当资料群组中的某一区块的读取次数达到设定的预设值时,本实施例的防止非易失性存储器发生读取干扰的方法除了会更新读取次数大于预设值的区块所储存的资料外,还更会同时将与读取次数大于预设值的区块相邻的区块(例如左右/上下相邻的区块)所储存的资料也一并更新。因此,本实施例的防止非易失性存储器发生读取干扰的方法即可达到正确地读取非易失性存储器103内所储存的所有资料。
再者,依据本发明的精神并不限制于上述实施例的实施方式。在本发明另一实施例中,假设资料群组中的第一区块(例如区块B0)的读取次数大于预设值(即有可能发生读取干扰的读取次数,例如百万次,但不限制于此)时,此时控制器101会先将第一区块B0内原先所储存的资料读出,并暂存于缓冲存储器101c内。
接着,控制器101会抹除第一区块B0内所储存的所有资料。之后,控制器101会将缓冲存储器101c内暂存第一区块B0内原先所储存的资料写回至第一区块B0,并且更新读取次数表用以纪录第一区块B0被读取的次数的第一计数值,而此过程同样也就是步骤S203所述及的更新第一区块内原先所储存的资料。然而,于本实施例中,控制器101并不需要去修正逻辑实体映射表的对应关系。
上述所谓的资料更新指的是将区块内原先所储存的资料重新写入的动作(亦即抹除后再写入),其可以写入于不同的区块或原来的区块。因此,只要是区块内原先所储存的资料被重新写入,该区块发生读取干扰的可能性即会大大地减少,且当区块内原先所储存的资料被重新写入时,读取次数表用以记录区块被读取的计数值也会随即被重置(例如归0)。
相似地,由于制程因素的影响,当第一区块B0的读取次数越来越多的同时,有可能会间接影响到相邻于第一区块B0的至少一第二区块(例如区块B1)内原先所储存的资料。因此,当第一区块B0的读取次数大于百万次的同时,控制器101除了会将第一区块B0内原先所储存的资料读出并暂存于缓冲存储器101c外,更会将第二区块B1内原先所储存的资料同样读出并暂存于缓冲存储器101c内。
接着,控制器101也会抹除第二区块B1内所储存的所有资料,并将缓冲存储器101c内暂存第二区块B1内原先所储存的资料写回至第二区块B1,且更新读取次数表用以纪录第二区块B1被读取的次数的第二计数值。由此,本实施例的防止非易失性存储器发生读取干扰的方法亦可达到正确地读取非易失性存储器103内所储存的所有资料。
据此,值得一提的是,上述实施例用以纪录资料群组中每一个区块被读取的次数的单位为整个区块,但是依据本发明的精神并不限制于此。在本发明的再一实施例中,纪录资料群组中每一个区块被读取的次数同样还是利用读取次数表来记录的,但是控制器101却会控制管理计数器去计数资料群组中每一个区块内的每一个分页被读取的次数,只要是任一区块内的任一分页被读取时,此被读取分页所隶属的区块就会被视为已读取一次。
举例来说,当第一区块(例如区块B0)内的第一分页(例如分页P0)所储存的资料被读取时,读取次数表用以纪录第一区块B0被读取的次数的第一计数值就会累加一次或递减一次;而当第二区块(例如区块B1)内的第二分页(例如分页P1)所储存的资料被读取时,读取次数表用以纪录第二区块B1被读取的次数的第一计数值就会累加一次或递减一次。
相似地,当第三区块(例如区块B2)内的第三分页(例如分页P2)所储存的资料被读取时,读取次数表用以纪录第三区块B2被读取的次数的第三计数值就会累加一次或递减一次;而当第四区块(例如区块B3)内的第四分页(例如分页P3)所储存的资料被读取时,读取次数表用以纪录第四区块B3被读取的次数的第四计数值就会累加一次或递减一次,依此类推之。
当然,为了实现此实施方式,读取次数表内就必须具有多数个对应资料群组中每一个区块内的每一个分页的计数值,且这些计数值分别表示为资料群组中每一个区块内的每一个分页被读取的次数。另外,于本实施例中,更新任一区块内原先所储存的资料的流程大致与上述实施例所揭露的内容类似,故在此并不再加以赘述。
从另一观点来说,控制器101所执行用以控制非易失性存储器储存装置100的程序码一般会储存在程序存储器101h内。然而,于本发明的一选择实施例中,控制器101所执行用以控制非易失性存储器储存装置100的程序码会被储存在非易失性存储器103中的至少一区块。故可想而知的是,此区块所储存的程序码在非易失性存储器储存装置100的运作期间必然会很频繁地被读取。因此,对此区块所储存的程序码进行多次得读取后,也有可能会发生读取干扰。为此,本发明提供另一种防止非易失性存储器发生读取干扰的方法,以提供给本发明领域的技术人员参考。
图3绘示为本发明另一实施例的防止非易失性存储器发生读取干扰的方法流程图。请合并参照图1及图3,本实施例的防止非易失性存储器发生读取干扰的方法适用于非易失性存储器储存装置100,其中非易失性存储器103具有多数个区块,且每一个区块具有多数个分页,该方法同样由存储器管理模组101a来执行,且其包括下列步骤:首先,如步骤S301所述,将非易失性存储器储存装置100的控制器101所执行用以控制非易失性存储器储存装置100的程序码储存于非易失性存储器103内所有区块中的至少一第一区块。接着,如步骤S303所述,当供电至非易失性存储器储存装置100时,将第一区块内所储存的程序码复制至非易失性存储器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与记忆棒(memory stick)404d,以及固态硬盘406等。当中尤以固态硬盘406更需要好的防止非易失性存储器发生读取干扰的方法,来抑制读取干扰发生的机率。
综上所述,本发明所提供的防止非易失性存储器发生读取干扰的方法主要是利用计数器及读取次数表来各别计数及记录非易失性存储器内每一个区块或分页被读取的次数。由此,当非易失性存储器内某一个区块或分页被读取的次数大于预设值时,将此区块或将此分页所隶属的区块所储存的资料更新。因此,本发明所提出的防止非易失性存储器发生读取干扰的方法,不但可以有效地抑制读取干扰发生的机率,且可以正确地读取非易失性存储器内所储存的所有资料。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (17)
1.一种防止非易失性存储器发生读取干扰的方法,适用于一非易失性存储器储存装置,其特征在于,该非易失性存储器具有多数个区块,所述区块至少分成一资料群组及一备用群组,而每一个区块具有多数个分页,该方法包括:
纪录该资料群组的所述区块中至少一第一区块被读取的次数;以及
当该第一区块的读取次数大于一预设值时,更新该第一区块内原先所储存的资料,并且更新相邻于该第一区块的至少一第三区块内原先所储存的资料,
其中“更新该第一区块内原先所储存的资料”的步骤包括:
将该第一区块内原先所储存的资料读出,并暂存于该非易失性存储器储存装置的一控制器的一缓冲存储器内;
抹除该第一区块;
将该缓冲存储器内暂存该第一区块内原先所储存的资料写回至该第一区块;以及
更新该第一区块被读取的次数。
2.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“纪录该第一区块被读取的次数”的步骤包括:
利用一读取次数表纪录该第一区块被读取的次数,其中该读取次数表具有对应该第一区块的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。
3.如权利要求2所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新该第一区块内原先所储存的资料”的步骤包括:
将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,其中该读取次数表还具有对应该第二区块的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;以及
以该第二区块替代该第一区块,并且更新该第一计数值。
4.如权利要求3所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新相邻于该第一区块的至少一第三区块原先所储存的资料”的步骤包括:
将相邻于该第一区块的该至少一第三区块内原先所储存的资料复制至该备用群组中的一第四区块,其中该读取次数表还具有对应该第三区块及该第四区块的一第三计数值与一第四计数值,且该第三计数值及该第四计数值用以各别表示为该第三区块及第四区块被读取的次数;以及
以该第四区块替代该第三区块,并且更新该第三计数值。
5.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新相邻于该第一区块的至少一第三区块内原先所储存的资料”的步骤包括:
将相邻于该第一区块的该至少一第三区块内原先所储存的资料读出,并暂存于该缓冲存储器内,其中该读取次数表还具有对应该第三区块的一第三计数值,且该第三计数值用以表示为该第三区块被读取的次数;
抹除该第三区块;
将该缓冲存储器内暂存该第三区块内原先所储存的资料写回至该第三区块;以及
更新该第三计数值。
6.如权利要求2所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该读取次数表储存于该非易失性存储器的内部或外部。
7.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“纪录该第一区块被读取的次数”的步骤包括:
利用一读取次数表纪录该第一区块的所述分页中至少一第一分页被读取的次数,其中该读取次数表具有对应该第一分页的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。
8.如权利要求7所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新该第一区块内原先所储存的资料”的步骤包括:
将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,其中该读取次数表更具有对应该第二区块的所述分页中至少一第二分页的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数;以及
以该第二区块替代该第一区块,并且更新该第一计数值。
9.如权利要求8所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新相邻于该第一区块的至少一第三区块内原先所储存的资料”的步骤还包括:
将相邻于该第一区块的该至少一第三区块内原先所储存的资料复制至该备用群组中的一第四区块,其中该读取次数表还具有对应该第三区块的所述分页中至少一第三分页的一第三计数值及该第四区块的所述分页中至少一第四分页的一第四计数值,且该第三计数值及该第四计数值用以各别表示为该第三区块及该第四区块被读取的次数;以及
以该第四区块替代该第三区块,并且更新该第三计数值。
10.如权利要求7所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新该第一区块内原先所储存的资料”的步骤包括:
将该第一区块内原先所储存的资料读出,并暂存于该非易失性存储器储存装置的一控制器的一缓冲存储器内;
抹除该第一区块;
将该缓冲存储器内暂存该第一区块内原先所储存的资料写回至该第一区块;以及
更新该第一计数值。
11.如权利要求10所述的防止非易失性存储器发生读取干扰的方法,其特征在于,于“更新相邻于该第一区块的至少一第三区块内原先所储存的资料”的步骤还包括:
将相邻于该第一区块的该至少一第三区块内原先所储存的资料读出,并暂存于该缓冲存储器内,其中该读取次数表还具有对应该第三区块的所述分页中至少一第三分页的一第三计数值,且该第三计数值用以表示为该第三区块被读取的次数;
抹除该第三区块;
将该缓冲存储器内暂存该第三区块内原先所储存的资料写回至该第三区块;以及
更新该第三计数值。
12.如权利要求7所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该读取次数表储存于该非易失性存储器的内部或外部。
13.如权利要求1所述的防止非易失性存储器发生读取干扰的方法,其特征在于,该非易失性存储器为一单层存储单元快闪存储器或一多层存储单元快闪存储器。
14.一种控制器,其适用于一非易失性存储器储存装置,其特征在于,该控制器包括:
一微处理单元,用以控制该控制器的整体运作;
一非易失性存储器接口,电性连接至该微处理单元并且用以存取该非易失性存储器储存装置的一非易失性存储器,其中该非易失性存储器具有多数个区块,且所述区块至少分成一资料群组及一备用群组;
一缓冲存储器,电性连接至该微处理单元并且用以暂时地储存资料;以及
一存储器管理模组,电性连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模组会纪录该资料群组的所述区块中至少一第一区块被读取的次数,且当该第一区块的读取次数大于一预设值时,该存储器管理模组会更新该第一区块内原先所储存的资料,并且更新相邻于该第一区块的至少一第三区块内原先所储存的资料,
其中该存储器管理模组更新该第一区块内原先所储存的资料的方式包括:
将该第一区块内原先所储存的资料读出,并暂存于该非易失性存储器储存装置的一控制器的一缓冲存储器内;
抹除该第一区块;
将该缓冲存储器内暂存该第一区块内原先所储存的资料写回至该第一区块;以及
更新该第一区块被读取的次数。
15.如权利要求14所述的控制器,其特征在于,该存储器管理模组利用一读取次数表纪录该第一区块被读取的次数,其中该读取次数表具有对应该第一区块的一第一计数值,且该第一计数值用以表示为该第一区块被读取的次数。
16.如权利要求15所述的控制器,其特征在于,该存储器管理模组更新该第一区块内原先所储存的资料的方式包括:
将该第一区块内原先所储存的资料重新写回该第一区块,并且更新该第一计数值;或者,将该第一区块内原先所储存的资料复制至该备用群组中的一第二区块,并以该第二区块替代该第一区块,且更新该第一计数值,
其中,该读取次数表还具有对应该第二区块的一第二计数值,且该第二计数值用以表示为该第二区块被读取的次数。
17.如权利要求16所述的控制器,其特征在于,该存储器管理模组更新相邻于该第一区块的该至少一第三区块内原先所储存的资料的方式包括:
将相邻于该第一区块的该至少一第三区块内原先所储存的资料同时更新,
其中,该读取次数表还具有对应该第三区块的一第三计数值,且该第三计数值用以表示为该第三区块被读取的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810005154.4A CN101494085B (zh) | 2008-01-22 | 2008-01-22 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810005154.4A CN101494085B (zh) | 2008-01-22 | 2008-01-22 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110118081.1A Division CN102157202B (zh) | 2008-01-22 | 2008-01-22 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101494085A CN101494085A (zh) | 2009-07-29 |
CN101494085B true CN101494085B (zh) | 2015-09-30 |
Family
ID=40924626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810005154.4A Active CN101494085B (zh) | 2008-01-22 | 2008-01-22 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101494085B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI373771B (en) | 2008-06-06 | 2012-10-01 | Phison Electronics Corp | Memory management method for non-volatile memory and controller using the same |
CN102142277A (zh) * | 2010-01-28 | 2011-08-03 | 深圳市江波龙电子有限公司 | 一种存储器及存储器读写控制方法及系统 |
US9760478B2 (en) * | 2014-12-02 | 2017-09-12 | Macronix International Co., Ltd. | Read leveling method and memory device using the same |
CN105702293B (zh) * | 2016-01-06 | 2019-09-17 | 上海芯泽电子科技有限公司 | 一种用于检验非易失存储单元受干扰的方法及装置 |
TWI604455B (zh) * | 2016-05-13 | 2017-11-01 | Silicon Motion Inc | 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 |
KR20180014975A (ko) * | 2016-08-02 | 2018-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI622052B (zh) * | 2017-02-24 | 2018-04-21 | Powerchip Technology Corporation | 非揮發性記憶體及其存取方法 |
CN107403643B (zh) * | 2017-07-17 | 2019-12-24 | 华中科技大学 | 一种通过重定向提高3d fg nand闪存可靠性的方法 |
US10338831B2 (en) * | 2017-08-23 | 2019-07-02 | Nanya Technology Corporation | System and method for preserving data in volatile memory |
CN108984131B (zh) * | 2018-07-25 | 2021-07-16 | 浪潮电子信息产业股份有限公司 | 数据操作的处理方法以及相关装置 |
KR102612842B1 (ko) * | 2018-09-17 | 2023-12-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치 |
CN113050889A (zh) * | 2021-03-23 | 2021-06-29 | 深圳三地一芯电子有限责任公司 | 一种Flash多区块读写抗干扰方法、系统、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
CN101034399A (zh) * | 2006-03-07 | 2007-09-12 | 日立系统服务公司 | 半导体闪存的数据管理及控制系统和半导体闪存收容装置 |
CN101051522A (zh) * | 2006-04-04 | 2007-10-10 | 北京锐科天智科技有限责任公司 | 存储器使用寿命提高方法及硬件装置 |
TWM320715U (en) * | 2007-01-24 | 2007-10-11 | C One Technology Corp | Operating system for extending life-time of flash memory |
-
2008
- 2008-01-22 CN CN200810005154.4A patent/CN101494085B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
CN101034399A (zh) * | 2006-03-07 | 2007-09-12 | 日立系统服务公司 | 半导体闪存的数据管理及控制系统和半导体闪存收容装置 |
CN101051522A (zh) * | 2006-04-04 | 2007-10-10 | 北京锐科天智科技有限责任公司 | 存储器使用寿命提高方法及硬件装置 |
TWM320715U (en) * | 2007-01-24 | 2007-10-11 | C One Technology Corp | Operating system for extending life-time of flash memory |
Also Published As
Publication number | Publication date |
---|---|
CN101494085A (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101494085B (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
CN102157202B (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
US8533385B2 (en) | Method for preventing read-disturb happened in non-volatile memory and controller thereof | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20170039141A1 (en) | Mapping table updating method, memory storage device and memory control circuit unit | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN101566969B (zh) | 提升非易失性存储器存储装置的管理效能的方法及控制器 | |
US20110154162A1 (en) | Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
CN102543184A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN113138720B (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 |