控制非易失性存储装置中损耗的存储器控制器及操作方法

文档序号:6582604阅读:151来源:国知局

专利名称::控制非易失性存储装置中损耗的存储器控制器及操作方法
技术领域
:本发明涉及一种在非易失性存储装置中均衡静态损耗量的方法。本发明还涉及用于根据该方法来运行非易失性存储装置的存储器控制器。
背景技术
:具有非易失性存储单元的阵列的非易失性存储装置为本领域中公知的。非易失性存储器可以是NOR型或NAND型的。在一些类型的非易失性存储器中,存储器的特点是具有多个块,每一块具有多个位,块中的所有位为可同时擦除的。因为同一块中的所有位或单元被一起擦除,因此,将其称为闪速存储器。在块被擦除后,在NOR存储器的情况下可以以一定大小(例如字节)来编程该块中的单元,或在NAND存储器的情况下立即编程页面。参考图l,示出了现有技术的存储器控制器10。该存储器控制器10具有保存程序指令的NOR存储器12,该程序指令由用于运行NAND存储装置20的控制器10来执行,NAND存储装置20连接于该控制器10。控制器10还连接于主机装置30,其中用户或主机装置30可以给控制器10提供地址信号、数据信号和控制信号,用以由控制器IO来运行NAND存储装置20。尽管图1中所示的控制器10被显示为在控制NAND存储装置20,但对于本领域的普通技术人员来说,控制器10还可以控制N0R类型的存储装置或具有以下将要描述的性能的任意其他类型的非易失性存储装置是清楚的。进一步地,尽管所示的NAND控制器10与NAND存储装置20"分离",但很显然这仅仅出于示意的目的,并且可以将控制器IO和存储装置20集成在同一集成电路中用以形成单个整体装置。因此,如下面所描述,将控制器IO的运行认为是存储装置20的内部运行。众所周知,由主机装置30提供给控制器10的地址信号具有逻辑地址的性质,并且控制器10必须将逻辑地址翻译为物理地址。进一步地,该NAND存储装置20的特点是具有多个块,每一块包括被一起擦除的多个位或存储单元。因此,在擦除操作中,整个块的存储单元被一起擦除。如以上所讨论,对于所有的闪速存储装置这样的特征是普遍的,其中块中所有的存储单元被"闪速"擦除。闪速非易失性存储装置存在的问题之一是,在诸如数据保留的问题发生之前存在块能够被擦除的有限数量。所以,期望可以均化"损耗"或每一块被擦除的周期数量。因此,期望均衡闪速存储装置中的块的损耗。参考图2,示出了现有技术的其中完成损耗均衡的一种方法的示意图。如前所讨论,关联于每一块的是物理地址,其被映射到用户逻辑地址。存储装置20具有用以保存数据的第一多个块(被指定为用户逻辑块0-977,关联的物理块地址被指定为200,500,501,502,508,801等到100)。该存储装置20还包括包含空闲块、坏块和系统开销块的第二多个块。这些是被擦除块和不保存数据的其他块。在用于均衡非易失性存储单元的块上的损耗的现有技术的第一实施例中,当更新某一块,例如具有物理地址501的用户块2(下面所有的块均引用其物理地址)时,将新数据或块501中的一些老数据移动到被擦除块。选择来自被擦除池的诸如块800的块,并且将该新数据或来自块501的一些老数据写入该块。在6图2的示例中,用以保存新数据的是物理块800。随后物理块800关联于第一多个块中的逻辑块2。其后,擦除块501,并随后将其"移动"为关联于第二多个被擦除块(以下为"被擦除池")。通过简单地更新将用户逻辑地址块关联于物理地址块的表,使物理块501发生从第一多个块(保存有数据的块)到被擦除池的"移动"。这仅示意性地示出为物理地址块501"移动"到被擦除池。当物理块501返回到被擦除池时,其以FIF0(先进先出)的方式返回。因此,物理块501是最后返回到被擦除池的块。其后当另外的被擦除块返回到被擦除池时,物理块池被"推"到栈的顶部。参考图3,示出了现有技术的用以均衡闪速存储装置中的块的损耗的另一种方法的示意图。具体地说,关联于多个被擦除块中的每一个物理块的是计数块已被擦除的次数的计数器。因此,当擦除物理块501时,递增其关联的擦除计数器。在第二多个块中,被擦除池中的块以根据关联于每一物理块的擦除计数器中的计数的方式来布置。将擦除计数器中具有最年轻计数或最低计数的物理块随时准备着成为要返回到第一多个块的第一个用以存储数据。特别地,如图3所示,例如物理块800被示出为"最年轻"的块,意味着物理块800具有关联于被擦除池中的被擦除块的最低计数。从第一多个块中擦除物理块501,递增其关联的擦除计数器,并且随后将物理块501放置在第二多个块当中(并且如果该被擦除块能够保留数据,其被返回到被擦除池)。根据关联于被擦除池中每一个块的擦除计数器中的计数放置该擦除的块于被擦除池中。如图3所示,作为示例,在递增之后,物理块501中的擦除计数器的计数使得该物理块501在物理块302和物理块303之间。随后将物理块501放置在那个位置处。以上描述的方法被称为动态损耗均衡方法,因为仅在更新块中的数据时,即当任意事件中该块不得不被擦除时才考虑损耗均衡。然而,如果没有数据更新到块,则该动态损耗均衡方法无法运行。动态损耗均衡方法存在的问题是,对于没有更新数据的块,例如保存操作系统数据或不更新或很少更新的其他类型数据的那些块,该损耗均衡技术无法提供服务以均化这些块和在数据上变化更频繁的所有其他块的损耗。因此,例如如果物理块200和500保存操作系统数据,并且完全不更新或很少更新,与具有较大损耗的诸如物理块501(以及在第一多个块中的所有其他块)的块相比,那些物理块可以具有非常少的损耗。这种在物理块501与物理块200和500之间的大差异例如可以导致NAND存储器20中的所有物理块在所有使用性上的降低。
发明内容—种存储器控制器控制非易失性存储装置的运行。该存储装置具有数据保存段和被擦除的保存段。该数据保存段具有第一多个块且该被擦除的保存段具有第二多个块。该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位。进一步地,每一块具有关联的计数器用于保存该块已被擦除的次数的计数。该存储器控制器具有程序指令,该程序指令为确定关联于第一多个块的块的计数器中的计数以选择第三个块,并且确定关联于第二多个块的块的计数器中的计数以选择第四个块。该程序指令还被配置为从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块。最后该程序指令被配置为擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。7本发明还包括根据以上描述的步骤来运行非易失性存储装置的方法。图1是现有技术的存储器控制器的示意性框图,具体化为程序指令的本发明的方法可以在其中运行;图2是运行非易失性存储装置的现有技术方法的第一实施例的示意图3是运行非易失性存储装置的现有技术方法的第二实施例的示意图4是运行非易失性存储装置的本发明的方法的示意图。具体实施例方式本发明涉及图1所示的类型的存储器控制器IO,用于控制闪速非易失性存储器20(例如NAND闪速存储器20)。该控制器10还包括保存程序指令的NOR存储器12,该程序指令由包括在NAND控制器10中的处理器(未示出)来执行。该程序指令使得处理器和NAND控制器10控制NAND存储器20以下面描述的方式运行。本发明还涉及控制闪速NAND存储器20的方法。参考图4,示出了本发明的方法的示意图。相似于对于图3中所示的实施例的所示和以上所描述的方法,该NAND存储装置20的特征是具有多个块,每一块包括被一起擦除的多个位或存储单元。因此,在擦除操作中,整个块的存储单元被一起擦除。进一步地,关联于每一块的是物理地址,该物理地址通过表(称为映射表)被映射到用户逻辑地址,其为本领域中公知的。存储装置20具有用以保存数据的第一多个块(被指定为用户逻辑块,例如8,200,700,3,3908和0,每一个具有其关联的物理块地址,被指定为200,500,501,502,508,801等)。该存储装置20还包括第二多个块,其包含空闲块、坏块和系统开销块。空闲块为被擦除块并形成被擦除池和没有保存数据的其他块。进一步地,被擦除池中的每一个物理块具有计数器,该计数器计数块已被擦除的次数。因此,当擦除物理块200时,递增其关联的擦除计数器。被擦除池中的块是用于交换的候补。该擦除操作可以在将块放置到被擦除池中之前发生或在使用该块并将其移出被擦除池之前立刻发生。在后者事件中,被擦除池中的块可以不都是被擦除块。如之前在本发明的
背景技术
中所描述,当更新某一块,例如具有物理地址200的用户块8(下面所有的块均引用其物理地址)时,需要将来自那个块的一些数据连同新数据都写到来自被擦除池的块。其后必须擦除块200并且随后将其"移动"为关联于被擦除池(如果被擦除块可以仍然保留数据的话。否则将该擦除的块"移动"到被认为"坏块"的块。)通过简单地更新映射表,使物理块200发生从第一多个块(存储有数据的块)到第二多个块(被擦除池或坏块)的"移动"。示意性地,这被示出为当物理地址块200"移动"到被擦除池。然而在本发明中,尽管对来自第一多个块的任何块中的任何数据没有更新,但仍可以采用损耗均衡的方法。这被称为静态损耗均衡。具体地说,在第一多个块中,首先确定关于最不经常使用(LFU)的块,S卩那些保存在擦除计数器中具有最低擦除计数的块。该LFU日志可以包括有限数量的块,例如在优选的实施例中的16个块。因此,如图4所示,LFU包括物理块200,500和501,块200在擦除计数器中具有最低计数。其后,擦除LFU中在擦除计数器中具有最低计数的块,例如物理块200(即使没有数据将被更新到物理块200)。随后将被擦除的物理块200"移动"到第二多个块,即被擦除池或坏块。被擦除池中的多个被擦除块也按照从"最年轻"到"最老"的顺序来布置,"最年轻"即在擦除计数器中计数为最低的块,"最老"即在擦除计数器中计数为最高的块。被从第一多个中擦除的且其擦除计数器被递增的块将其在擦除计数器中的计数与被擦除池中所有其他块的擦除计数器相比较,并且被相应地布置。该布置无需按物理顺序。该布置例如可以通过连接表(linklist)或表清单(tablelist)或任何其他方式来实现。来自被擦除池的具有最高擦除计数的块,或"最老"块(例如物理块20)随后被用以保存从第一多个块中的LFU的"最年轻"块(物理块200)中检索的数据。随后物理块20返回到第一多个块。基于前面的描述,在本发明的静态损耗均衡方法中,第一多个块中没有更新或很少更新的块被"再循环"到被擦除池中并且被重复使用,由此使得在NAND存储器20中的所有块之间的损耗均衡。应该注意在本发明的方法中,当LFU中的"最年轻"块返回到被擦除池中时,来自被擦除池的"最老"块被用以替代来自LFU中的"最年轻"块。这看起来是矛盾的,因为来自LFU中的"最年轻"随后可能保留在被擦除池中而从未后续重新使用。然而这仅涉及到本发明的静态损耗均衡方法。可以理解,当要存储另外的数据在NAND存储器20中并且要求新的被擦除块时,来自被擦除池的"最年轻"的被擦除块随后被用以保存该新的或另外的数据。进一步地,来自被擦除池的"最年轻"块还可以在现有技术的动态损耗均衡方法中使用。因此,来自被擦除池的块最终将全部被使用。另外,因为当到块的数据没有被替代时本发明的静态损耗均衡方法运行,所以存在一些另外的考虑,例如运行的频率(以便不引起过度损耗)以及资源分配。这些问题将在以下讨论。开始,问题是何时扫描第一多个块中的块用以产生在本发明的随后的静态损耗均衡方法中所使用的LFU。这可以有很多方式来完成。接下来是各种可能的技术,这仅为示意说明且不是穷举的。进一步地,可以一起共同使用这些方法中的一些。第一,当NAND存储器20首先上电时,控制器10可以扫描第一多个块。第二,当主机30发出特定命令以扫描NAND存储器20中的第一多个块时,控制器10可以扫描该第一多个块。作为这个方法的必然结果,当主机30发出READ或WRITE命令以对NAND存储器20中的某些块进行读或写时,控制器IO可以扫描该第一多个块。其后,控制器IO可以继续读取第一多个块中所有剩余的擦除计数器。此外,控制器IO可以限定在从主机30接收到READ或WRITE命令后发生扫描的时间量为预限定的时间段。第三,控制器10可以在后台中扫描第一多个块。例如,这可以在诸如5毫秒的一段时间内没有任何未决的主机命令时启动,并且在主机启动控制器10必须响应的命令时停止。第四,控制器10可以在预定事件后启动扫描,例如在控制器10从主机30接收到许多ATA命令后。—旦确定了何时扫描针对第一多个块中的每一个块的擦除计数器以产生LFU,下一个确定的要素是扫描该第一多个块的擦除计数器的方法论。再一次,存在许多方法,并且以下所描述的仅为示意说明且绝不是穷举的。第一,控制器10可以以线性方式扫描第一多个块中的所有块,从映射表的第一项开始直到最后项。第二,控制器10可以基于来自主机30的命令来扫描第一多个块中的块。例如,如果主机30知道诸如操作系统程序的数据保存在何处,并且因此哪个块更有可能包含"最年轻"块,则主机30可以在某一逻辑地址处启动该扫描或指示出应该限制扫描的地址。第三,控制器10还可以以随机方式扫描第一多个块中的所有块。控制器10中的处理器可以包括随机数发生器,其产生被用以与块的物理地址相关联的随机数。第四,控制器10还可以以伪随机方式扫描第一多个块中的所有块。控制器IO中的处理器可以包括伪随机数发生器(例如质数生成器),其产生被用以与块的物理地址相关联的伪随机数。—旦产生LFU,则可以实施本发明的方法。然而,由于本发明的静态损耗均衡方法不依赖于块中的数据更新,问题变成LFU中"最年轻"块的数据与被擦除池中"最老"块的数据何时发生交换。这可以有很多方式来完成。再次地,接下来是各种可能的技术,这仅为示意说明且绝不是穷举的。第一,当NAND存储器20首先上电时,控制器10可以交换有限数量的块,诸如16个。第二,响应于主机30发出的用于交换一定数量的块的特定命令,控制器10可以交换该特定数量的块。作为这个方法的必然结果,在主机30发出READ或WRITE命令以对NAND存储器20中某些块进行读或写之后,控制器10还可以交换有限数量的块,例如1个。其后,控制器10可以交换1个块。第三,控制器IO可以在后台中交换有限数量的块,例如16个。这可以例如在诸如5毫秒的一段时间内没有任何未决的主机命令时启动,并且在主机启动控制器10必须响应的命令时停止。第四,控制器10可以在预定事件之后交换例如1个的有限数量的块,例如在控制器10从主机30接收到多个ATA命令之后。应该理解,尽管本发明的方法均衡了NAND存储器20中所有块之间的损耗,从LFU中的一个块到被擦除池中另一个块的连续的数据交换可以引起过多损耗。有许多方法可以防止不必要的交换。再次地,接下来是各种可能的技术,并且这仅为示意性说明且绝不是穷举的。进一步地,可以共同实施此处所描述的方法。第一,可以确定在LFU中"最年轻"的和被擦除池的块中"最老"块的擦除计数器中的计数之间的差。如果该差在某一范围中,则在LFU中"最年轻"和被擦除池中"最老"块之间的交换不发生。在LFU中"最年轻"的和被擦除池中"最老"块的擦除计数器中的计数之间的差还可以被保存在单独的计数器中。第二,控制器10可以保持两个计数器一个用于保存主机启动的擦除计数的数值,且另一个用于保存由于本发明的静态损耗均衡方法的擦除计数的数值。如果在两个计数器中两个数值之间的差小于预限定的数值,则本发明的静态损耗均衡方法不发生。主机启动的擦除计数的数值包括由动态损耗均衡所引起的所有擦除计数,即当更新任意块中的数据时,以及引起擦除操作发生的任意其他事件。第三,控制器10可以设置关联于每一块的标记。当从被擦除池中交换每一块时,设置该标记。一旦设置该标记,则那个块不再适合本发明的损耗均衡方法,直到第一多个块中所有块的标记都被设置为止。此后,块的所有标记被重复设置并且随后块再次适合于本发明的损耗均衡方法。第四,按照本发明的方法,为第一多个块中每一块配备计数器用于保存表示该块最后被擦除的时间的数据。另外,控制器io提供用于保存针对第一多个块的全局时间的计数器。如果,块被选择为使其数据与来自被擦除池的块交换,则将计数器存储的表示何时最后的擦除操作发生的时间与全局时间比较。如果差小于预确定的数值,(指示按照本发明的静态损耗均衡方法最近擦除了所关注的块),则该块不被擦除并且不添加到LFU(或如果已经在LFU上,则将块从其中移除)。如本领域所公知,闪速存储器,以及尤其NAND存储器20倾向于有错误。因此,该控制器10包括错误检测和错误修正软件。本发明的方法的另一个优点在于,当LFU中的每一块被读取时和随后数据被记录到来自被擦除池的被擦除块时,控制器10可以确定来自该所读取的块的数据包含错误到什么程度。如果从该所读取的块读取的数据是不需要修正的数据,则将被擦除块返回到被擦除池。然而,如果从该所读取的块读取的数据包含可修正的错误,(并且依赖于修正的程度),则可以随后将该被读取的块返回到坏块池。以这样的方式,勉强好的块可以被检测到并且在其中所保存的数据变成不可读的之前不再使用。应该理解,本发明的方法和控制器具有许多优点。通过在所有块之间均化损耗,提高了NAND存储器20的整个使用寿命并提高了其可靠性。1权利要求一种均衡非易失性存储装置中的损耗量的方法,该非易失性存储装置具有数据保存段和被擦除的保存段,其中该数据存储段具有第一多个块且该被擦除的存储段具有第二多个块,并且其中该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位,并且每一块具有关联的计数器以用于保存该块已被擦除的次数的计数,其中该方法包括确定关联于该第一多个块的块的计数器中的计数以选择第三个块;确定关联于该第二多个块的块的计数器中的计数以选择第四个块;从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块;以及擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。2.根据权利要求1所述的方法,其中根据关联于该第一多个块的计数器当中的最小计数选择所述第三个块。3.根据权利要求2所述的方法,其中根据关联于该第二多个块的计数器当中的最大计数选择所述第四个块。4.根据权利要求3所述的方法,其中如果该计数器中的该最大和最小计数之间的差大于预设量,则执行所述转移和擦除步骤。5.根据权利要求3所述的方法,其中如果该计数器中的该最大和最小计数之间的差在预定范围内,则不执行所述扫描、转移和擦除步骤。6.根据权利要求1所述的方法,其中基于由该非易失性存储装置外部的源提供的命令来执行所述扫描、转移和擦除步骤。7.根据权利要求6所述的方法,其中所述非易失性存储装置还包括命令计数器,其中当由该非易失性存储装置外部的源提供转移和擦除的命令时,递增所述命令计数器。8.根据权利要求7所述的方法,其中还基于所述非易失性存储装置中的控制器启动内部命令,执行所述扫描、转移和擦除步骤。9.根据权利要求8所述的方法,其中所述非易失性存储装置还包括内部命令计数器,其中当接收到用以转移和擦除的内部命令时,递增所述内部命令计数器。10.根据权利要求9所述的方法,其中如果在该命令计数器中的计数和该内部命令计数器的计数之间的差小于预设的数值,则不执行所述扫描、转移和擦除步骤。11.根据权利要求3所述的方法,其中所述第一多个块的每一个块具有与之关联的标记。12.根据权利要求11所述的方法,其中在按照权利要求1的方法转移和擦除块的情况下设置块的标记。13.根据权利要求12所述的方法,其中具有该设置的标记的所述第一和第二多个块的块不经历权利要求1所述的转移和擦除步骤。14.根据权利要求13所述的方法,其中具有该设置的标记的块不经历该确定步骤。15.根据权利要求14所述的方法,还包括步骤在所述第一多个块的所有标记已被设置后,重置所述第一多个块的所有该块的标记。16.根据权利要求1所述的方法,其中,如果来自该第一多个块的块被最近修改,其不经历转移和擦除步骤。17.根据权利要求16所述的方法,其中所述第一多个块的每一块具有与其关联的计时计数器。18.根据权利要求17所述的方法,其中所述第一多个块具有与其关联的全局计时计数器。19.根据权利要求18所述的方法,其中将关联于被写块的该计时计数器与该全局计时计数器相比较,并且如果该关联于被写块的该计时计数器与该全局计时计数器之间的差小于预定的量时,该块不经历转移和擦除步骤20.根据权利要求1所述的方法,其中所述非易失性存储装置是NAND存储装置。21.根据权利要求1所述的方法,其中所述非易失性存储装置是NOR存储装置。22.根据权利要求1所述的方法,其中所述被擦除的保存段包括被擦除的空闲块。23.根据权利要求1所述的方法,其中响应于外部提供给该非易失性存储装置的用以确定的命令,执行扫描关联于该第一多个块的块的计数器的所述步骤。24.根据权利要求23所述的方法,其中如果在预设的时间段内没有接收到任何外部提供给该非易失性存储装置的命令,则执行确定关联于该第一多个块的块和该第二多个块的块的计数器中的计数的所述步骤。25.根据权利要求1所述的方法,其中响应于该非易失性存储装置的上电,执行确定关联于该第一多个块的块和该第二多个块的块的计数器中的计数的所述步骤。26.根据权利要求1所述的方法,其中响应于外部提供给该非易失性存储装置的用于读或写的命令,执行确定关联于该第一多个块的块和该第二多个块的块的计数器中的计数的所述步骤。27.根据权利要求1所述的方法,其中响应于预确定的事件,执行确定关联于该第一多个块的块和该第二多个块的块的计数器中的计数的所述步骤。28.—种用于控制具有数据保存段和被擦除的保存段的非易失性存储装置的运行的存储器控制器,其中该数据保存段具有第一多个块且该被擦除的保存段具有第二多个块,并且其中该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位,并且每一块具有关联的计数器用于保存该块已被擦除的次数的计数,其中该存储器控制器具有程序指令,该程序指令被配置为确定关联于该第一多个块的块的计数器中的计数以选择第三个块;确定关联于该第二多个块的块的计数器中的计数以选择第四个块;从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块;以及擦除所述第三个块并且递增关联于所述第三个块的计数器的计数,并且使所述第三个块关联于所述第二多个块。29.根据权利要求28所述的存储器控制器,其中所述程序指令被配置为根据关联于该第一多个块的计数器当中的最小计数选择所述第三个块,并且其中所述程序指令被配置为根据关联于该第二多个块的计数器当中的最大计数选择所述第四个块。30.根据权利要求29所述的存储器控制器,其中所述程序指令被配置为如果计数器中的该最大计数和最小计数之间的差大于预设量,则执行该转移和擦除步骤。31.根据权利要求29所述的存储器控制器,其中所述程序指令被配置为响应于由该非易失性存储装置外部的源提供的第一命令,确定关联于该第一多个块的块的计数器中的计数以选择第三个块;确定关联于该第二多个块的块的计数器中的计数以选择第四个块;从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块;以及擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。32.根据权利要求31所述的存储器控制器,其中所述控制器还包括命令计数器,其中当接收该第一命令时,递增所述命令计数器。33.根据权利要求32所述的存储器控制器,其中该程序指令被配置为响应于该存储器控制器内部产生的第二命令,确定关联于该第一多个块的块的计数器中的计数以选择第三个块;确定关联于该第二多个块的块的计数器中的计数以选择第四个块;从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块;以及擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。34.根据权利要求33所述的存储器控制器,还包括内部命令计数器,其中当产生该第二命令时,递增所述内部命令计数器。35.根据权利要求34所述的存储器控制器,其中该程序指令被配置为如果在该命令计数器中的计数和该内部命令计数器中的计数之间的差大于预设的数值,则确定关联于该第一多个块的块的计数器中的计数以选择第三个块;确定关联于该第二多个块的块的计数器中的计数以选择第四个块;从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块;以及擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。36.根据权利要求28所述的存储器控制器,其中由存储器控制器控制的该非易失性存储装置是NAND存储装置。37.—种用于控制具有数据保存段和被擦除的保存段的非易失性存储装置的运行的存储器控制器,其中该数据保存段具有第一多个块且该被擦除的保存段具有第二多个块,并且其中该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位,并且每一块具有关联的计数器用于保存该块已被擦除的次数,其中该存储器控制器具有程序指令,该程序指令被配置为转移来自该第一多个块中的具有保存在关联的计数器中的最低值的第一个块的数据到来自该第二多个块中的具有保存在关联的计数器中的最高值的第二个块;使所述第二个块关联于所述第一多个块;擦除所述第一个块并且递增关联于所述第一个块的计数器;以及使所述第一个块关联于所述第二多个块。38.—种均衡非易失性存储装置中的损耗量的方法,该非易失性存储装置具有数据保存段和被擦除的保存段,其中该数据保存段具有第一多个块且该被擦除的保存段具有第二多个块,并且其中该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位,并且每一块具有关联的计数器用于保存该块已被擦除的次数,其中该方法包括转移来自该第一多个块的第一个块的数据到来自该第二多个块的第二个块,其中所述第一个块具有保存在其关联的计数器的第一值,所述第一值为在关联于所述第一多个的块的所有计数器中的所有值的最低值,其中所述第二个块具有保存在其关联的计数器中的第二值,所述第二值为在关联于所述第二多个的块的所有计数器中的所有值的最高值;使所述第二个块关联于所述第一多个块;擦除所述第一个块并且递增关联于所述第一个块的计数器;以及使所述第一个块关联于所述第二多个块。全文摘要一种存储器控制器控制非易失性存储装置的运行。该存储装置具有数据保存段和被擦除的保存段。该数据保存段具有第一多个块且该被擦除的保存段具有第二多个块。该第一和第二多个块的每一个具有被一起擦除的多个非易失性存储位。进一步地,每一块具有关联的计数器用于保存该块已被擦除的次数。该存储器控制器具有程序指令,使得基于与第一多个块的块关联的在每个计数器中包括的计数,扫描关联于第一多个块的块的计数器以选择第三个块,并且基于与第二多个块的块关联的在每个计数器中包括的计数,扫描关联于第二多个块的块的计数器以选择第四个块。该程序指令还被配置为从该第三个块转移数据到该第四个块,并且使所述第四个块关联于所述第一多个块。最后该程序指令被配置为擦除所述第三个块并且递增关联于所述第三个块的计数器,并且使所述第三个块关联于所述第二多个块。本发明还包括根据以上描述的步骤来运行非易失性存储装置的方法。文档编号G06F3/06GK101739344SQ20091020596公开日2010年6月16日申请日期2009年11月17日优先权日2008年11月17日发明者D·邢,F-L·林,P·库玛申请人:超捷公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1