发明内容
本发明提供一种平均磨损方法及控制器,其以不同的启动条件对多层存储单元(Multi Level Cell,MLC)NAND快闪存储器中不同程序方式的区块进行平均抹除程序,由此有效地延长快闪存储器的寿命同时考量各区域的特性而避免系统资源的无谓浪费。
本发明提供一种平均磨损方法及控制器,其对MLC NAND快闪存储器中不同程序方式的区块进行不同的平均抹除程序,由此有效地延长快闪存储器的寿命同时考量各区域的特性而避免系统资源的无谓浪费。
本发明提供一种平均磨损方法及控制器,其以不同的启动条件对快闪存储器模组中不同的快闪存储器进行平均抹除程序,由此有效地延长快闪存储器模组的寿命同时考量不同快闪存储器的特性而避免系统资源的无谓浪费。
本发明提供一种平均磨损方法及控制器,其对快闪存储器模组中不同的快闪存储器进行不同的平均抹除程序,由此有效地延长快闪存储器模组的寿命同时考量不同快闪存储器的特性而避免系统资源的无谓浪费。
本发明提出一种平均磨损方法,其适用于MLC NAND快闪存储器,MLCNAND快闪存储器包括具有多个区块的第一区域与具有多个区块的第二区域,且第一区域与第二区域的区块分别包括上页与下页,此平均磨损方法包括使用 不同的启动条件来分别判断在MLC NAND快闪存储器的第一区域与第二区域中是否启动平均抹除程序的交换区块运作;以及分别在第一区域与第二区域中进行交换区块运作,其中第一区域的区块仅使用下页来存取,并且第二区域的区块同时使用下页与上页来存取。
在本发明的平均磨损方法中,上述的在第一区域中交换区块运作的启动条件为第一区域的抹除次数的第一计数值大于第一门限值,并且在第二区域中交换区块运作的启动条件为第二区域的抹除次数的第二计数值大于第二门限值,其中第一门限值大于第二门限值,且在执行交换区块运作之后会重置相对应的第一计数值或第二计数值。
在本发明的平均磨损方法中,上述的当满足在第一区域中交换区块运作的启动条件时,还包括判断主机的写入指令为非连续写入指令或第一计数值减去第一门限值所获得的值大于一上限预设值时,才在第一区域中启动交换区块运作;以及其中当满足在第二区域中交换区块的启动条件时,还包括判断主机的写入指令为非连续写入指令或第二计数值减去第二门限值所获得的值大于一上限预设值时,才在第二区域中启动交换区块运作。
在本发明的平均磨损方法中,当同时满足上述的在第一区域中交换区块运作的启动条件与在第二区域中交换区块运作的启动条件时,仅在第二区域中启动交换区块运作。
在本发明的平均磨损方法中,上述的交换区块运作是将关联为MLC NAND快闪存储器的资料区的区块搬移至MLC NAND快闪存储器的备用区,并且将关联为备用区的区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区中的此区块中。
本发明提出一种平均磨损方法,其适用于MLC NAND快闪存储器,MLCNAND快闪存储器包括具有多个区块的第一区域与具有多个区块的第二区域,且第一区域与第二区域的区块分别包括上页与下页,此平均磨损方法包括在第一区域与第二区域中分别执行不耗资源平均抹除程序与耗资源平均抹除程序,其中第一区域的区块仅使用下页来存取,并且第二区域的区块同时使用下页与上页来存取。
在本发明的平均磨损方法中,上述的不耗资源平均抹除程序包括计数第一 区域的抹除次数的第一计数值;以及当第一计数值大于第一门限值时,则将第一区域中关联为MLC NAND快闪存储器的资料区的一区块搬移至MLC NAND快闪存储器的备用区,并且将第一区域中关联为备用区的一区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区中的此区块中。
在本发明的平均磨损方法中,上述的耗资源平均抹除程序包括计数第二区域中每一所述多个区块的抹除次数;计数第二区域的抹除次数的第二计数值;以及当第二计数值大于第二门限值时,则将第二区域中关联为MLC NAND快闪存储器的资料区的区块之中具相对小抹除次数的区块搬移至MLC NAND快闪存储器的备用区,并且将第二区域中关联为备用区的区块之中具相对大抹除次数的区块搬移至资料区,同时将资料区中具相对小抹除次数的区块的资料复制到备用区中具相对大抹除次数的区块中。
本发明提出一种平均磨损方法,其适用于具有第一快闪存储器与第二快闪存储器的快闪存储器模组,此平均磨损方法包括使用不同的启动条件来分别判断在存储器模组的第一快闪存储器与第二快闪存储器中是否启动平均抹除程序的交换区块运作;以及分别在第一快闪存储器与第二快闪存储器中进行交换区块运作,其中第一快闪存储器为SLC NAND快闪存储器,并且第二快闪存储器为MLC NAND快闪存储器。
在本发明的一实施例中,上述的在第一快闪存储器中交换区块运作的启动条件为第一快闪存储器的抹除次数的第一计数值大于第一门限值,并且在第二快闪存储器中交换区块运作的启动条件为第二快闪存储器的抹除次数的第二计数值大于第二门限值,其中第一门限值大于第二门限值,且在执行交换区块运作之后会重置相对应的第一计数值或第二计数值。
在本发明的平均磨损方法中,上述的当满足在第一快闪存储器中交换区块运作的启动条件时,还包括判断主机的写入指令为非连续写入指令或将第一计数值减去第一门限值所获得的值大于一上限预设值时,才在第一快闪存储器中启动交换区块运作;以及其中当满足在第二快闪存储器中交换区块的启动条件时,还包括判断主机的写入指令为非连续写入指令或将第二计数值减去第二门限值所获得的值大于一上限预设值时,才在第二快闪存储器中启动交换区块运作。
在本发明的平均磨损方法中,当同时满足上述的在第一快闪存储器中交换区块运作的启动条件与在第二快闪存储器中交换区块运作的启动条件时,仅在第二快闪存储器中启动交换区块运作。
在本发明的平均磨损方法中,上述的交换区块运作是将关联为快闪存储器模组的资料区的区块搬移至快闪存储器模组的备用区,并且将关联为备用区的区块搬移至资料区,同时将资料区的此区块的资料复制到备用区的此区块中。
本发明提出一种平均磨损方法,其适用于具有第一快闪存储器与第二快闪存储器的快闪存储器模组,此平均磨损方法包括在快闪存储器模组的第一快闪存储器与第二快闪存储器中分别执行不耗资源平均抹除程序与耗资原平均抹除程序,其中第一快闪存储器为SLC NAND快闪存储器,并且第二快闪存储器为MLC NAND快闪存储器。
在本发明的平均磨损方法中,上述的不耗资源平均抹除程序包括计数第一快闪存储器的抹除次数的第一计数值;以及当第一计数值大于第一门限值时,则将第一快闪存储器中关联为第一快闪存储器的资料区的区块搬移至第一快闪存储器的备用区,并且将第一快闪存储器中关联为备用区的区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区中的此区块中。
在本发明的平均磨损方法中,上述的耗资源平均抹除程序包括计数第二快闪存储器中每一区块的抹除次数;计数第二快闪存储器的抹除次数的第二计数值;以及当第二计数值大于第二门限值时,则将第二快闪存储器中关联为第二快闪存储器的资料区的区块之中具相对小抹除次数的区块搬移至第二快闪存储器的备用区,并且将第二快闪存储器中关联为备用区的区块之中具相对大抹除次数的区块搬移至资料区,同时将资料区中具相对小抹除次数的区块的资料复制到备用区中具相对大抹除次数的区块中。
本发明提出一种控制器,其适用于储存装置的MLC NAND快闪存储器,MLC NAND快闪存储器包括具有多个区块的第一区域与具有多个区块的第二区域,且第一区域与第二区域的区块分别包括上页与下页,此控制器包括快闪存储器接口、缓冲存储器、微处理单元以及存储器管理模组。快闪存储器接口电性连接至微处理单元并且用以存取MLC NAND快闪存储器。缓冲存储器电性连接至微处理单元并且用以暂时地储存资料。存储器管理模组电性连接至微 处理单元并且用以在第一区域的抹除次数的第一计数值大于第一门限值时在第一区域中启动平均抹除程序的交换区块运作,并且存储器管理模组在第二区域的抹除次数的第二计数值大于第二门限值时在第二区域中启动交换区块运作,其中第一门限值大于第二门限值,且在执行交换区块运作后会重置相对应的第一计数值或第二计数值。其中第一区域的区块仅使用下页来存取,并且第二区域的区块同时使用下页与上页来存取。
在本发明的控制器中,上述的当满足在第一区域中交换区块运作的启动条件时,存储器管理模组还包括判断主机的写入指令为非连续写入指令或将第一计数值减去第一门限值所获得的值大于一上限预设值时,才在第一区域中启动交换区块运作;以及其中当满足在第二区域中交换区块运作的启动条件时,存储器管理模组还包括判断主机的写入指令为非连续写入指令或将第二计数值减去第二门限值所获得的值大于一上限预设值时,才在第二区域中启动交换区块运作。
在本发明的控制器中,当同时满足上述的在第一区域中交换区块运作的启动条件与在第二区域中交换区块运作的启动条件时,存储器管理模组仅在第二区域中启动交换区块运作。
在本发明的控制器中,上述的存储器管理模组进行交换区块运作是将关联为MLC NAND快闪存储器的资料区的区块搬移至MLC NAND快闪存储器的备用区,并且将备用区的区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区中的此区块中。
本发明提出一种控制器,其适用于储存装置的MLC NAND快闪存储器,MLC NAND快闪存储器包括具有多个区块的第一区域与具有多个区块的第二区域,且第一区域与第二区域的区块分别包括上页与下页,此控制器包括快闪存储器接口、缓冲存储器、微处理单元以及存储器管理模组。快闪存储器电性连接至微处理单元并且接口用以存取MLC NAND快闪存储器。缓冲存储器电性连接至微处理单元并且用以暂时地储存资料。存储器管理模组电性连接至微处理单元并且用以在第一区域与第二区域中分别执行不耗资源平均抹除程序与耗资源平均抹除程序,其中不耗资源平均抹除程序为计数第一区域的抹除次数的第一计数值,其中当第一计数值大于第一门限值时,则将第一区域中关联 为MLC NAND快闪存储器的资料区的区块搬移至MLC NAND快闪存储器的备用区,并且将第一区域中关联为备用区的区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区的此区块中,其中第一区域的区块仅使用下页来存取,并且第二区域的区块同时使用下页与上页来存取。
在本发明的控制器中,上述的存储器管理模组执行该耗资源平均抹除程序为计数第二区域中每一区块的抹除次数以及计数第二区域的抹除次数的第二计数值,其中当第二计数值大于第二门限值时,则将第二区域中关联为MLCNAND快闪存储器的资料区的区块之中具相对小抹除次数的区块搬移至MLCNAND快闪存储器的备用区,并且将第二区域中关联为备用区的区块之中具相对大抹除次数的区块搬移至资料区,同时将资料区中具相对小抹除次数的此区块的资料复制到备用区中具相对大抹除次数的此区块中。
本发明提出一种控制器,其适用于储存装置的快闪存储器模组,快闪存储器模组包括第一快闪存储器与第二快闪存储器,此控制器包括快闪存储器接口、缓冲存储器、微处理单元以及存储器管理模组。快闪存储器接口电性连接至微处理单元并且用以存取快闪存储器模组。缓冲存储器电性连接至微处理单元并且用以暂时地储存资料。存储器管理模组电性连接至微处理单元并且用以在第一快闪存储器的抹除次数的第一计数值大于第一门限值时在第一快闪存储器中启动平均抹除程序的交换区块运作,并且存储器管理模组在第二快闪存储器的抹除次数的第二计数值大于第二门限值时在第二快闪存储器中启动交换区块运作,其中第一门限值大于第二门限值,且存储器管理模组在执行交换区块运作之后会重置第一计数值与第二计数值,其中第一快闪存储器为SLCNAND快闪存储器,并且第二快闪存储器为MLC NAND快闪存储器。
在本发明的控制器中,上述的当满足在第一快闪存储器中交换区块运作的启动条件时,存储器管理模组还包括判断主机的写入指令为非连续写入指令或将第一计数值减去第一门限值所获得的值大于一上限预设值时,才在第一快闪存储器中启动交换区块运作;以及其中当满足在第二快闪存储器中交换区块运作的启动条件时,存储器管理模组还包括判断主机的写入指令为非连续写入指令或将第二计数值减去第二门限值所获得的值大于一上限预设值时,才在第二快闪存储器中启动交换区块运作。
在本发明的控制器中,当同时满足上述的在第一快闪存储器中交换区块运作的启动条件与在第二快闪存储器中交换区块运作的启动条件时,存储器管理模组仅在第二快闪存储器中启动交换区块运作。
本发明提出一种控制器,其适用于储存装置的快闪存储器模组,快闪存储器模组包括第一快闪存储器与第二快闪存储器,此控制器包括快闪存储器接口、缓冲存储器、微处理单元以及存储器管理模组。快闪存储器接口电性连接至微处理单元并且用以存取快闪存储器模组。缓冲存储器电性连接至微处理单元并且用以暂时地储存资料。存储器管理模组电性连接至微处理单元并且用以在快闪存储器模组的第一快闪存储器与第二快闪存储器中分别执行不耗资源平均抹除程序与耗资原平均抹除程序,其中不耗资源平均抹除程序为计数第一快闪存储器的抹除次数的第一计数值,其中当第一计数值大于第一门限值时,则将第一快闪存储器中关联为第一快闪存储器的资料区的区块搬移至第一快闪存储器的备用区,并且将第一快闪存储器中关联为备用区的区块搬移至资料区,同时将资料区中的此区块的资料复制到备用区中的此区块中,其中第一快闪存储器为SLC NAND快闪存储器,并且第二快闪存储器为MLC NAND快闪存储器。
在本发明的控制器中,上述的存储器管理模组执行耗资源平均抹除程序为计数第二快闪存储器中每一区块的抹除次数以及计数第二快闪存储器的抹除次数的第二计数值,其中当第二计数值大于第二门限值时,则将第二快闪存储器中关联为第二快闪存储器的资料区的区块之中具相对小抹除次数的区块搬移至第二快闪存储器的备用区,并且将第二快闪存储器中关联为备用区的区块之中具相对大抹除次数的区块搬移至资料区,同时将资料区中具相对小抹除次数的此区块的资料复制到备用区中具相对大抹除次数的此区块中。
本发明因所提出的平均磨损方法因采用针对不同使用特性的区块使用不同的平均抹除规则,因此在有效平均磨损下同时避免执行过多的平均抹除程序而耗费系统资源。
具体实施方式
在本发明中是针对快闪存储器中不同区域的区块提供不同的平均抹除程序,以避免因对不同磨损状况的区域使用相同平均抹除程序规则会造成无谓的浪费。
第一实施例
图1A是根据本发明第一实施例绘示使用快闪存储器储存装置的系统。
请参照图1A,主机100一般包括微处理器102、随机存取存储器(randomaccess memory,RAM)104、输入/输出(input/output,I/O)装置106、系统汇流排108以及资料传输接110。必须了解的是,主机100可还包括其他组件,例如显示器装置或网络装置等。
主机100可以是电脑、数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。一般而言,主机100可实质地为可储存资料的任意系统。
在本发明实施例中快闪存储器储存装置120是透过资料传输接口110与主机100的其他元件电性连接。借由微处理器102、随机存取存储器104与输入/输出装置106的处理可将资料写入至快闪存储器储存装置120或从快闪存储器 储存装置120中读取资料。快闪存储器储存装置120包括随身碟、存储卡或固态硬盘(Solid State Drive,SSD)。
图1B是绘示图1A所示快闪存储器储存装置的方块图。
请参照图1B,快闪存储器储存装置120一般包括控制器122与快闪存储器124。
控制器122用以控制快闪存储器储存装置120的整体运作,例如资料的储存、读取与抹除等。控制器122包括微处理单元122a、存储器管理模组122b、快闪存储器接口122c与缓冲存储器122d。
微处理单元122a会控制存储器管理模组122b、快闪存储器接口122c与缓冲存储器122d之间的运作。
存储器管理模组122b是电性连接至微处理单元122a。存储器管理模组122b会管理快闪存储器124,例如执行平均磨损(wear leveling)方法、坏区块管理、维护映射表(mapping table)等。特别是,在本发明实施例中,存储器管理模组122b会执行根据本实施例的平均磨损方法(如图4所示)。
快闪存储器接口122c是电性连接至微处理单元122a并且用以存取快闪存储器124。也就是,主机100欲写入至快闪存储器124的资料会经由快闪存储器接口122c转换为快闪存储器124所能接受的格式。
缓冲存储器122d用以暂时地储存系统资料(例如映射表)或者主机100所读取或写入的资料。在本实施例中,缓冲存储器122d为静态随机存取存储器(static random access memory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,DRAM)、磁阻式存储器(Magnetoresistive Random Access Memory,MRAM)、相变化存储器(Phase Change Random Access Memory,PRAM)或其他适合的存储器亦可应用于本发明。
在本发明另一实施例中,控制器还包括主机传输接口122e、程序存储器122f、错误校正模组122g与电源管理模组122h(如图1C的控制器122’所示)。
主机传输接口122e是电性连接至微处理单元122a并且用以与主机100通讯,主机传输接口122e可以是USB接口、IEEE 1394接口、SATA接口、PCIExpress接口、MS接口、MMC接口、SD卡接口、CF卡接口或IDE接口。
程序存储器122f是电性连接至微处理单元122a并且用以储存控制器所执行用以控制快闪存储器储存装置120的程序码。
错误校正模组122g是电性连接至微处理单元122a并且用以计算错误校正码(error correcting code)来检查与校正主机所读取或写入的资料。
电源管理模组122h是电性连接至微处理单元122a并且用以管理快闪存储器储存装置120的电源。
快闪存储器124用以储存资料。快闪存储器124通常实质上分割为多个实体区块(physical block)124-0至124-N,为方便说明以下将实体区块简称为区块。一般而言,在快闪存储器中区块为抹除的最小单位。亦即,每一区块含有最小数目的一并被抹除的存储单元。每一区块通常会分割为数个页(page)。页通常为程序(program)的最小单元,但要特别说明的是于有些不同的快闪存储器设计,最小的程序单位也可为一个扇区(sector)大小,即一页中有多个扇区并以一扇区为程序的最小单元。换言之,页为写入资料会读取资料的最小单元。每一页通常包括使用者资料区D与冗余区R。使用者资料区用以储存使用者的资料,而冗余区用以储存系统的资料(例如,上述的ECC code)。
为对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者资料区D通常为512位元组,而冗余区R通常为16位元组。也就是,一页为一个扇区。然而,也可以多个扇区形成一页,例如一页包括4个扇区。
一般而言,区块可由任意数目的页所组成,例如64页、128页、256页等。区块124-0至124-N通常也可被分组为数个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。
以下将根据本发明并配合图式详细说明快闪存储器的运作。必须了解的是,在以下描述中使用“提取”、“搬移”、“交换”等词来操作快闪存储器区块是逻辑上的概念。也就是说,快闪存储器区块的实际位置并未更动,而是逻辑上对快闪存储器区块进行操作。
图2是根据本发明第一实施例绘示快闪存储器124及其运作的详细方块图。
请参照图2,在本发明实施例中,为了有效率地程序(即写入与抹除)快 闪存储器124,快闪存储器124的区块124-1至124-N会在逻辑上分组为一系统区202、一资料区204与一备用区206。一般来说,快闪存储器124中属于资料区204的区块会占90%以上。
系统区202中的区块用以记录系统资料,系统资料例如是关于快闪存储器124的区域数、每一区域的区块数、每一区块的页数、逻辑实体映射表等。
资料区204中的区块用以储存使用者的资料,一般来说就是主机100所操作的逻辑区块地址所对应的区块。
备用区206中的区块是用以替换资料区204中的区块,因此在备用区206中的区块为空或可使用的区块,即无记录资料或标记为已没用的无效资料。具体来说,由于若要对已写过资料位置再次写入资料时,必须先执行抹除的动作。然而,如前所述快闪存储器写入单位为页,而抹除单位为区块。一个抹除的单位大于写入的单位,这表示若要执行区块抹除动作,必须先将欲抹除区块中的有效页复制至其它区块后才可进行。因此,当欲在资料区204中已写过资料位置的区块M中写入新资料时,一般会在备用区206中提取一区块S,然后将区块M中的有效资料复制至区块S且将新资料写入区块S后,将区块M抹除后搬移至备用区206同时将区块S搬移至资料区204。必须了解的是,将区块M抹除后搬移至备用区206同时将区块S搬移至资料区204是逻辑上将区块M关联于备用区206而将区块S关联于资料区204。其中此领域具一般技艺者皆能了解资料区204中区块的逻辑关系可由逻辑实体映射表来维护。
一般来说,经常会在资料区204与备用区206之间交换的区块称为动态资料区块。另外,在资料区204中往往有一些资料写入后就长时间未曾更动,例如资料区204中有100首MP3歌曲为使用者喜爱的音乐,写入后不曾再去更动。储存此类资料的区块称为静态资料区块。静态资料区块由于很少更动,因此其抹除次数会相对低。因此,在本发明实施中,控制器122的存储器管理模组122a会执行一种平均磨损方法,以有效地平均区块124-1至124-N的磨损。
值得一提的是,在本实施中快闪存储器124为多层存储单元(Multi LevelCell,MLC)NAND快闪存储器,而MLC NAND快闪存储器的区块的编程可分为多阶段。例如,以4层存储单元为例,如图3A所示,区块的编程可分为2阶段。第一阶段是下页(lower page)的写入部分,其物理特性类似于单层存储 单元(Single Level Cell,SLC)NAND快闪存储器,在完成第一阶段之后才编程上页(upper page)。在其编程的过程中下页的写入速度会快于上页。特别是,上页与下页具有耦合关系。也就是说,在程序上页时,若发生异常,可能造成下页的不稳定(即资料可能遗失)。这也是MLC NAND快闪存储器的可靠度低于SLC NAND快闪存储器的原因。类似地,在8层存储单元或16层存储单元的案例中,存储单元包括更多个页并且会以更多阶段来写入。在此,将写入速度最快的页面称为下页,其他写入速度较慢的页面统称为上页。例如,上页包括具有不同写入速度的多个页。请参照图3B,在本实施例中会以一逻辑的方式来将快闪存储器124的区块分为第一区域302与第二区域304,其中第一区域302的区块(124-0~124-k)仅使用下页来存取,并且第二区域304的区块(124-(k+1)~124-N)同时使用下页与所述多个上页来存取。例如,由于第一区域302的存取较为稳定,因此使用第一区域302来储存较为重要的资料(例如固件码(firmware code)),而第二区域304则用以储存一般性资料。此外,值得说明的是此第一、第二区域也可皆为或分别为SLC或MLC一特别的指定区块,例如第一区域为一SLC区块,第二区域为一MLC区块。
基于,本实施例中快闪存储器124的特性,上述存储器管理模组122a所执行平均磨损方法会针对不同的区域而依据不同的规则来启动。
图4是根据本发明第一实施例绘示平均磨损方法的流程图。
请参照图4,在快闪存储器储存装置120运作的过程中,控制器122会使用不同的启动条件来分别判断在快闪存储器124的第一区域302与第二区域304中是否启动一平均抹除程序的一交换区块运作,并且当达到启动条件时分别在第一区域302与第二区域304中进行此交换区块运作。其中交换区块运作就是将关联于快闪存储器124的资料区204中的一个区块搬移至快闪存储器124的备用区206,并且将关联于备用区206中的一个区块搬移至资料区204,同时将资料区204中的此区块的资料复制到备用区206的此区块中并抹除资料区204的此区块。
具体来说,每当控制器122对快闪存储器124的区块执行写入/抹除指令时,就会启动本实施例的平均磨损方法。首先,在步骤S401中会判断所写入/抹除的区块是否属于第一区域302(即仅使用下页存取的区块)。倘若在步骤401 中判断所写入/抹除的区块属于第一区域302时,则在步骤S403中会在记录第一区域302的抹除次数的第一计数值上计数(例如加1)。倘若在步骤401中判断所写入/抹除的区块不属于第一区域302时,亦即在本实施例中属于第二区域304,则在步骤S405中会在记录第二区域304的抹除次数的第二计数值上计数(例如加1)。
在步骤S407中会判断第一计数值是否大于一第一门限值,其中第一门限值为使用者设定的值。例如在本实施例中第一门限值是设定为1000次。倘若在步骤S407中判断第一计数值大于第一门限值时,则在步骤S409中会在第一区域302中进行上述交换区块运作,之后在步骤S411中会重置第一计数值。
在步骤S413中会判断第二计数值是否大于一第二门限值,其中第二门限值为使用者设定的值。例如在本实施例中是第二门限值设定为100次。倘若在步骤S413中判断第二计数值大于第二门限值时,则在步骤S415中会在第二区域304中进行上述交换区块运作,之后在步骤S417中会重置第二计数值。
特别是,上述第一门限值是以大于第二门限值的方式来设定。此是因为仅使用下页存取的区块(即第一区域302)寿命较长,因此可以较长的时间间隔来执行交换区块运作。然而,同时使用下页与上页的区块(即第一区域302)寿命较短,因此必须以较短的时间间隔来执行交换区块运作以更平均其磨损。由于本实施例中,是针对不同的区域(即第一区域302与第二区域304)使用不同的启动频率来执行交换区块运作,因此可在有效平均磨损下同时避免执行过多的平均抹除程序而耗费控制器122的资源。
此外,在本发明另一实施例中,判断交换区块运作的启动时机可还包括其他条件。图5是根据本发明另一实施例绘示平均磨损方法的流程图。例如,当满足在第一区域302中启动交换区块运作的启动条件时,还确认主机100的写入指令为非连续写入指令或者将第一计数值减去第一门限值所获得的值大于一上限预设值下,才在第一区域302中执行交换区块运作(如图5所示的步骤S501)。换言之,当第一计数值大于第一门限值(例如,1000)时,还会判断此次写入为非连续写入才执行交换区块运作,或者此次写入为连续写入但第一计数值已超过第一门限值一上限预设值(例如,100)也启动交换区块运作。类似地,当满足在第二区域中启动交换区块的启动条件时,还确认主机100的 写入指令为非连续写入指令或将第二计数值减去第二门限值所获得的值大于上述上限预设值时,才在第二区域304中执行交换区块运作(如图5所示的步骤S503)。
在本发明另一实施例中,平均磨损方法的流程还包括当第一区域302中启动交换区块运作的启动条件与第二区域304中启动交换区块运作的启动条件同时满足时,则在此次写入/抹除中仅执行第二区域304的交换区块运作,之后再执行写入/抹除时才执行第一区域302的交换区块运作。此可避免在单次写入/抹除中同时执行第一区域302与第二区域304的交换区块运作造成长时间的延迟。
上述更确认主机100的写入指令为非连续写入指令是为了避免主机100进行连续写入(例如设定写入笔数为大于1时则为连续写入,当然,此设定写入笔数的值不以1为限)时执行交换区块运作而造成写入时间的延迟。而设定上限预设值是避免主机100不断执行连续写入指令而造成过长时间未执行交换区块运作。此外,上述条件还包括当第一区域302与第二区域304的启动条件同时满足时,仅先执行第二区域304的交换区块运作避免因进行两区域的交换区块运作而造成写入时间延迟。
此外,在本发明实施例中平均抹除程序的交换区块运作是以随机方式在资料区与备用区中挑选欲交换的区块。然而,在本发明另一实施例中也可使用其他适合的方式进行资料区与备用区中区块的交换。例如,将资料区的区块之中具相对小抹除次数的区块与备用区的区块之中具相对大抹除次数的区块进行交换,其中所谓相对小抹除次数是指小于所有区块的平均抹除次数,而相对大抹除次数是指大于所有区块的平均抹除次数。
值得一提的是,在本实施例中是以不同的启动交换区块运作频率来对快闪存储器中不同区域进行不同平均抹除程序,其中不同区域是依据在一个快闪存储器中仅使用下页的区块以及同时使用上页与下页的区块来分为第一区域与第二区域。然而,本发明也可应用于在包含多个快闪存储器的快闪存储器模组中,以不同的启动交换区块运作频率来对快闪存储器模组中不同快闪存储器进行不同的平均抹除程序。
例如,如图6所示,快闪存储器储存装置120’包括控制器122与快闪存储 器模组524。快闪存储器模组524包括第一快闪存储器524-1与第二快闪存储器524-2,其中第一快闪存储器524-1为单层存储单元(single level cell,SLC)NAND快闪存储器并且第二快闪存储器524-2为多层存储单元(Multi Level Cell,MLC)NAND快闪存储器,并且第一快闪存储器524-1与第二快闪存储器524-2也会进行如图2所示的运作。特别是,第一快闪存储器524-1的程序(program)运作类似第一区域302(即仅使用下页进行存取),且第二快闪存储器524-2的程序运作类似第二区域304(即同时使用上页与下页进行存取)。因此,相较于第二快闪存储器524-2在第一快闪存储器524-1中资料的存取较为稳定且快速,此外第一快闪存储器524-1的寿命也较第二快闪存储器524-2长。因此,也可应用本实施例的平均磨损方法以不同的启动交换区块运作频率来对快闪存储器模组中不同快闪存储器进行平均抹除程序,由此降低控制器122的资源浪费。
第二实施例
在第一实施例中是以不同的启动交换区块运作频率来对快闪存储器中不同区域进行不同平均抹除程序。相较于第一实施例,在本实施例中则是在不同区域中进行完全不同的平均抹除程序。
本实施例的硬件架构与快闪存储器运作是相同于第一实施例(如图1A~1B、2、3A~3B),在此不再重复说明。第二实施例与第一实施例所不同的之处在于第二实施例的平均磨损方法中是以两种不同的平均抹除程序来对快闪存储器124的第一区域302与第二区域304执行平均使用。
图7是根据本发明第二实施例绘示平均磨损方法的流程图。
请参照图7,在快闪存储器储存装置120运作的过程中,控制器122会在第一区域302与第二区域304中分别执行第一平均抹除程序与第二平均抹除程序,其中相较于第一平均抹除程序第二平均抹除程序较耗控制器120的资源。
具体来说,每当控制器122对快闪存储器124的区块执行写入/抹除指令时,就会启动本实施例的平均磨损方法。首先,在步骤S601中会判断所写入/抹除的区块是否属于第一区域302(即仅使用下页存取的区块)。倘若在步骤601中判断所写入/抹除的区块属于第一区域302时,则在步骤S603中会进行第一平均抹除程序。倘若在步骤601中判断所写入/抹除的区块不属于第一区域302 时,亦即在本实施例中属于第二区域304,则在步骤S605中会进行第二平均抹除程序。
例如,第一平均抹除程序包括在步骤S603-1中计数第一区域302的抹除次数的第一计数值(例如在第一计数值上加1)。之后在步骤S603-2中判断第一计数值是否大于第一门限值,其中第一门限值为使用者可自行设定的值。倘若在步骤S603-2中第一计数值大于第一门限值时,则在步骤S603-3中会进行第一平均抹除程序的交换区块运作。也就是,随机地将第一区域302中关联为快闪存储器124的资料区204的一个区块搬移至快闪存储器124的备用区206,并且随机地将第一区域302中关联为备用区206的一个区块搬移至资料区204,同时将资料区204中的上述区块的资料复制到备用区206的上述区块中并抹除资料区204的此区块。之后,在步骤S603-4中会重置第一计数值。
例如,第二平均抹除程序包括在步骤S605-1中计数第二区域中每一区块的抹除次数。接着,在步骤S605-2中计数第二区域的抹除次数的第二计数值(例如在第二计数值上加1)。之后,在步骤S605-3中会判断第二计数值是否大于第二门限值,其中第二门限值为使用者可自行设定的值。倘若在步骤S605-3中判断第二计数值大于第二门限值时,则在步骤S605-4中会进行第二平均抹除程序的交换区块运作。也就是,将第二区域304中关联为快闪存储器124的资料区204的区块之中具相对小抹除次数的区块搬移至快闪存储器124的备用区206,并且将第二区域304中关联为备用区206的区块之中具相对大抹除次数的区块搬移至资料区204,同时将资料区204中具相对小抹除次数的此区块的资料复制到备用区206中具相对大抹除次数的此区块中,并抹除资料区204的此区块。例如,所谓相对小抹除次数是指小于所有区块的平均抹除次数,而相对大抹除次数是指大于所有区块的平均抹除次数。之后,在步骤S605-5中会重置第二计数值。由于第二平均抹除程序是依据每一区块的抹除次数来挑选欲交换的区块,因此必须额外记录每一区块的抹除次数,所以第二平均抹除程序比第一平均抹除程序较耗控制器122的资源。但由于第二平均抹除程序是使用每一区块的抹除次数作为挑选欲交换区块的基准,所以平均抹除的效果会较佳(或较精确)。
特别是,因为仅使用下页存取的区块(即第一区域302)寿命较长,因此 可以较简单但不耗控制器资源的平均抹除程序来进行区块平均使用的调整。然而,同时使用下页与上页的区块(即第一区域302)寿命较短,因此必须以较精确但较耗控制器资源的平均抹除程序来进行区块平均使用的调整。由于本实施例中是针对不同的区域(即第一区域302与第二区域304)使用不同程度的平均抹除程序来进行区块平均抹除的调整,由此可避免控制器120的资源浪费。
此外,在本实施例中除了以第一门限值与第二门限值的条件来判断是否进行交换区块运作之外还包括其他条件。例如,当满足在第一区域302中进行交换区块运作的条件时,还确认主机100的写入指令为非连续写入指令或将第一计数值减去第一门限值所获得的值大于一上限预设值下,并且未满足在第二区域304中进行交换区块运作的条件时,才在第一区域302中执行交换区块运作。例如,当满足在第二区域304中进行交换区块运作的条件时,更确认主机100的写入指令为非连续写入指令或将第二计数值减去第二门限值所获得的值大于上述上限预设值时,才在第二区域304中执行交换区块运作。还使用上述条件判断是否进行交换区块运作的原因相同于第一实施例中所述,在此不再重复说明。
必须了解的是,上述第一平均抹除程序与第二平均抹除程序的范例并非限制本发明。在不违背本发明精神下也可使用其他平均抹除程序。
值得一提的是,本实施例的平均磨损方法也可应用于如图6所示的快闪存储器储存装置120’。具体来说,在本发明另一实施例中,是在快闪存储器模组524中的第一快闪存储器524-1中使用第一平均抹除程序并且在快闪存储器模组524中的第二快闪存储器524-2中使用第二平均抹除程序。
综上所述,本发明是针对快闪存储器或快闪存储器模组中不同程序(program)特性的区块分别使用不同的平均抹除规则,因此可以有效平均磨损下同时避免执行过多的平均抹除程序而耗费系统资源。此外,在本实施例中,除了以抹除次数的计数值作为执行交换区块运作的启动条件外,还包括判断写入指令的特性(即连续写入或非连续写入指令)以避免写入延迟的发生。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。