存储器管理方法、存储器储存装置及存储器控制电路单元与流程

文档序号:11215841阅读:646来源:国知局
本发明涉及一种存储器管理技术,尤其涉及一种存储器管理方法、存储器储存装置及存储器控制电路单元。
背景技术
::数码相机、移动电话与mp3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。一般来说,为了评估存储器装置的效能,测试者可能会在存储器装置上执行效能测试程序。在某些效能测试程序中,循序(sequential)数据与非循序(non-sequential)数据会被轮流地写入至存储器装置中,从而测试存储器装置对于循序写入(sequentialwrite)与随机写入(randomwrite)的执行效率。然而,在某些情况下,若随机写入使用了太多的闲置实体区块,则当后续测试循序写入时,一个数据整并程序(例如,垃圾回收程序)可能会被触发,从而降低循序写入的写入速度。技术实现要素:本发明提供一种存储器管理方法、存储器储存装置及存储器控制电路单元,可减少数据整并程序对于特定类型的数据的写入速度造成的影响。本发明的一范例实施例提供一种存储器管理方法,其用于包括多个实体单元的可复写式非易失性存储器模块,所述存储器管理方法包括:接收第一数据并执行第一程序化程序;在所述第一程序化程序中,将所述第一数据的至少一部分数据程序化至所述实体单元中的第一实体单元;判断所述实体单元中的第一类实体单元的总数是否小于或等于第一门槛值,其中属于所述第一类实体单元的每一个实体单元皆未储存有效数据;若所述第一类实体单元 的所述总数小于或等于所述第一门槛值,执行数据整并程序,使得所述第一类实体单元的所述总数从第一数目变更为第二数目,其中所述第二数目大于所述第一数目;判断所述第一数据是第一类数据或第二类数据,其中所述第一类数据属于多个连续编号的逻辑单元,而所述第二类数据不属于所述连续编号的逻辑单元;若所述第一数据是所述第一类数据,在所述第二数目达到第二门槛值之前,停止所述数据整并程序,其中所述第二门槛值大于所述第一门槛值;以及若所述第一数据是所述第二类数据,在所述第二数目达到所述第二门槛值之后,停止所述数据整并程序。在本发明的一范例实施例中,判断所述第一数据是所述第一类数据或所述第二类数据的步骤包括:根据被程序化至所述第一实体单元的所述第一数据的所述部分数据判断所述第一数据是所述第一类数据或所述第二类数据。在本发明的一范例实施例中,所述存储器管理方法还包括:若所述第一数据是所述第一类数据,在所述数据整并程序中判断所述实体单元中属于第二类实体单元的第二实体单元所储存的有效数据的数据量是否大于预置值;若所述第二实体单元所储存的所述有效数据的数据量大于所述预置值,将储存于所述第二实体单元中的所述有效数据复制到所述实体单元中的第三实体单元;以及若所述第二实体单元所储存的所述有效数据的数据量不大于所述预置值,抹除所述第二实体单元并停止所述数据整并程序。在本发明的一范例实施例中,所述存储器管理方法还包括:在判断所述第二实体单元所储存的有效数据的数据量是否大于所述预置值之前,执行选择程序;以及在所述选择程序中,选择所储存的有效数据的数据量小于平均值的所述第二实体单元。在本发明的一范例实施例中,所述存储器管理方法还包括:若所述第一数据是所述第一类数据,在开始所述数据整并程序之后,暂停所述第一程序化程序,并且在停止所述数据整并程序之后,恢复执行所述第一程序化程序;以及若所述第一数据是所述第二类数据,允许所述数据整并程序与所述第一程序化程序共享传输带宽。在本发明的一范例实施例中,所述存储器管理方法还包括:配置指令队列,其用以暂存指示储存数据的至少一指令;若所述第一数据是所述第一类数据,暂停将指示储存所述第一数据的指令加入至所述指令队列中,以暂停 所述第一程序化程序;以及若所述第一数据是所述第二类数据,将指示储存所述数据整并程序所收集的数据的指令与指示储存所述第一数据的所述指令加入至所述指令队列中。在本发明的一范例实施例中,所述存储器管理方法还包括:判断所述第一程序化程序是否接续于第二程序化程序,其中所述第二程序化程序用以程序化第二数据至所述实体单元中,其中所述第二数据为所述第二类数据。而在所述第二数目达到所述第二门槛值之前停止所述数据整并程序的步骤,是在判定所述第一数据是所述第一类数据且所述第一程序化程序是接续于所述第二程序化程序之后执行。本发明的另一范例实施例提供一种存储器储存装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元连接至所述连接接口单元与所述可复写式非易失性存储器模块,所述存储器控制电路单元用以接收第一数据并执行第一程序化程序,在所述第一程序化程序中,所述存储器控制电路单元发送程序化指令序列,以指示将所述第一数据的至少一部分数据程序化至所述实体单元中的第一实体单元,所述存储器控制电路单元更用以判断所述实体单元中的第一类实体单元的总数是否小于或等于第一门槛值,其中属于所述第一类实体单元的每一个实体单元皆未储存有效数据,若所述第一类实体单元的所述总数小于或等于所述第一门槛值,所述存储器控制电路单元更用以执行数据整并程序,使得所述第一类实体单元的所述总数从第一数目变更为第二数目,其中所述第二数目大于所述第一数目,其中所述存储器控制电路单元更用以判断所述第一数据是一第一类数据或一第二类数据,其中所述第一类数据属于多个连续编号的逻辑单元,而所述第二类数据不属于所述连续编号的逻辑单元,若所述第一数据是所述第一类数据,所述存储器控制电路单元更用以在所述第二数目达到一第二门槛值之前,停止所述数据整并程序,其中所述第二门槛值大于所述第一门槛值,若所述第一数据是所述第二类数据,所述存储器控制电路单元更用以在所述第二数目达到所述第二门槛值之后,停止所述数据整并程序。在本发明的一范例实施例中,所述存储器控制电路单元判断所述第一数 据是所述第一类数据或所述第二类数据的操作包括:根据被程序化至所述第一实体单元的所述第一数据的所述部分数据判断所述第一数据是所述第一类数据或所述第二类数据。在本发明的一范例实施例中,若所述第一数据是所述第一类数据,所述存储器控制电路单元更用以在所述数据整并程序中判断所述实体单元中属于第二类实体单元的第二实体单元所储存的有效数据的数据量是否大于预置值,若所述第二实体单元所储存的所述有效数据的数据量大于所述预置值,所述存储器控制电路单元更用以指示将储存于所述第二实体单元中的所述有效数据复制到所述实体单元中的第三实体单元,若所述第二实体单元所储存的所述有效数据的数据量不大于所述预置值,所述存储器控制电路单元抹除所述第二实体单元并停止所述数据整并程序。在本发明的一范例实施例中,在判断所述第二实体单元所储存的有效数据的数据量是否大于所述预置值之前,所述存储器控制电路单元更用以执行选择程序,在所述选择程序中,所述存储器控制电路单元选择所储存的有效数据的数据量小于平均值的所述第二实体单元。在本发明的一范例实施例中,若所述第一数据是所述第一类数据,在开始所述数据整并程序之后,所述存储器控制电路单元更用以暂停所述第一程序化程序,并且在停止所述数据整并程序之后,所述存储器控制电路单元恢复执行所述第一程序化程序,若所述第一数据是所述第二类数据,所述存储器控制电路单元允许所述数据整并程序与所述第一程序化程序共享传输带宽。在本发明的一范例实施例中,所述存储器控制电路单元更用以配置指令队列,其用以暂存指示储存数据的至少一指令,若所述第一数据是所述第一类数据,所述存储器控制电路单元更用以暂停将指示储存所述第一数据的指令加入至所述指令队列中,以暂停所述第一程序化程序,若所述第一数据是所述第二类数据,所述存储器控制电路单元将指示储存所述数据整并程序所收集的数据的指令与指示储存所述第一数据的所述指令加入至所述指令队列中。在本发明的一范例实施例中,所述存储器控制电路单元更用以判断所述第一程序化程序是否接续于第二程序化程序,其中所述第二程序化程序用以 程序化第二数据至所述实体单元中,其中所述第二数据为所述第二类数据。所述存储器控制电路单元是在判定所述第一数据是所述第一类数据且所述第一程序化程序是接续于所述第二程序化程序之后,执行在所述第二数目达到所述第二门槛值之前停止所述数据整并程序的操作。本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制包括多个实体单元的可复写式非易失性存储器模块,所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至所述可复写式非易失性存储器模块。所述存储器管理电路连接至所述主机接口与所述存储器接口,所述存储器管理电路用以接收第一数据并执行第一程序化程序,在所述第一程序化程序中,所述存储器管理电路发送程序化指令序列以指示将所述第一数据的至少一部分数据程序化至所述实体单元中的第一实体单元,所述存储器管理电路更用以判断所述实体单元中的第一类实体单元的总数是否小于或等于第一门槛值,其中属于所述第一类实体单元的每一个实体单元皆未储存有效数据,若所述第一类实体单元的所述总数小于或等于所述第一门槛值,所述存储器管理电路更用以执行数据整并程序,使得所述第一类实体单元的所述总数从第一数目变更为第二数目,其中所述第二数目大于所述第一数目,所述存储器管理电路更用以判断所述第一数据是第一类数据或第二类数据,其中所述第一类数据属于多个连续编号的逻辑单元,而所述第二类数据不属于所述连续编号的逻辑单元,若所述第一数据是所述第一类数据,所述存储器管理电路更用以在所述第二数目达到一第二门槛值之前,停止所述数据整并程序,其中所述第二门槛值大于所述第一门槛值,若所述第一数据是所述第二类数据,所述存储器管理电路更用以在所述第二数目达到所述第二门槛值之后,停止所述数据整并程序。在本发明的一范例实施例中,所述存储器管理电路判断所述第一数据是所述第一类数据或所述第二类数据的操作包括:根据被程序化至所述第一实体单元的所述第一数据的所述部分数据判断所述第一数据是所述第一类数据或所述第二类数据。在本发明的一范例实施例中,若所述第一数据是所述第一类数据,所述存储器管理电路更用以在所述数据整并程序中判断所述实体单元中属于第二 类实体单元的第二实体单元所储存的有效数据的数据量是否大于预置值,若所述第二实体单元所储存的所述有效数据的数据量大于所述预置值,所述存储器管理电路更用以将储存于所述第二实体单元中的所述有效数据复制到所述实体单元中的第三实体单元,若所述第二实体单元所储存的所述有效数据的数据量不大于所述预置值,所述存储器管理电路抹除所述第二实体单元并停止所述数据整并程序。在本发明的一范例实施例中,所述预置值为零。在本发明的一范例实施例中,在判断所述第二实体单元所储存的有效数据的数据量是否大于所述预置值之前,所述存储器管理电路更用以执行选择程序,在所述选择程序中,所述存储器管理电路选择所储存的有效数据的数据量小于平均值的所述第二实体单元。在本发明的一范例实施例中,若所述第一数据是所述第一类数据,在开始所述数据整并程序之后,所述存储器控制电路单元更用以暂停所述第一程序化程序,并且在停止所述数据整并程序之后,所述存储器控制电路单元恢复执行所述第一程序化程序,若所述第一数据是所述第二类数据,所述存储器控制电路单元允许所述数据整并程序与所述第一程序化程序共享传输带宽。在本发明的一范例实施例中,所述存储器管理电路更用以配置指令队列,其用以暂存指示储存数据的至少一指令,若所述第一数据是所述第一类数据,所述存储器管理电路更用以暂停将指示储存所述第一数据的指令加入至所述指令队列中,以暂停所述第一程序化程序,若所述第一数据是所述第二类数据,所述存储器管理电路将指示储存所述数据整并程序所收集的数据的指令与指示储存所述第一数据的所述指令加入至所述指令队列中。在本发明的一范例实施例中,所述存储器管理电路更用以判断所述第一程序化程序是否接续于第二程序化程序,其中所述第二程序化程序用以程序化第二数据至所述实体单元中,其中所述第二数据为所述第二类数据。所述存储器管理电路是在判定所述第一数据是所述第一类数据且所述第一程序化程序是接续于所述第二程序化程序之后,执行在所述第二数目达到所述第二门槛值之前停止所述数据整并程序的操作。基于上述,在存储器储存装置的运作中,一个数据整并程序可能会随着 第一类实体单元的减少而被触发。在开始执行此数据整并程序之后,若判定所需程序化的数据是属于多个连续编号的逻辑单元的第一类数据,则此数据整并程序可能会在第一类实体单元的总数达到一预置数目之前就停止,从而减少数据整并程序对第一类数据的写入速度造成的影响。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是根据本发明的一范例实施例所显示的主机系统、存储器储存装置及输入/输出(i/o)装置的示意图;图2是根据本发明的另一范例实施例所显示的主机系统、存储器储存装置及i/o装置的示意图;图3是根据本发明的另一范例实施例所显示的主机系统与存储器储存装置的示意图;图4是根据本发明的一范例实施例所显示的存储器储存装置的概要方框图;图5是根据本发明的一范例实施例所显示的存储器控制电路单元的概要方框图;图6是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器模块的示意图;图7是根据本发明的一范例实施例所显示的程序化程序的示意图;图8是根据本发明的另一范例实施例所显示的程序化程序的示意图;图9是根据本发明的一范例实施例所显示的存储器管理方法的流程图;图10是根据本发明的另一范例实施例所显示的存储器管理方法的流程图。附图标记:10、30:存储器储存装置11、31:主机系统110:系统总线111:处理器112:随机存取存储器113:只读存储器114:数据传输接口12:输入/输出(i/o)装置20:主板201:随身碟202:记忆卡203:固态硬盘204:无线存储器储存装置205:全球定位系统模块206:网络适配器207:无线传输装置208:键盘209:屏幕210:喇叭32:sd卡33:cf卡34:嵌入式储存装置341:嵌入式多媒体卡342:嵌入式多芯片封装储存装置402:连接接口单元404:存储器控制电路单元406:可复写式非易失性存储器模块502:存储器管理电路504:主机接口506:存储器接口508:错误检查与校正电路510:缓冲存储器512:电源管理电路601:储存区602:闲置区610(0)~610(b):实体单元612(0)~612(d):逻辑单元s901~s907、s1001~s1010:步骤具体实施方式一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。图1是根据本发明的一范例实施例所显示的主机系统、存储器储存装置及输入/输出(i/o)装置的示意图。图2是根据本发明的另一范例实施例所显示的主机系统、存储器储存装置及i/o装置的示意图。请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,ram)112、只读存储器(readonlymemory,rom)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆连接至系统总线(systembus)110。在本范例实施例中,主机系统11是通过数据传输接口114与存储器储存装置10连接。例如,主机系统11可经由数据传输接口114将数据储存至存储器储存装置10或从存储器储存装置10中读取数据。此外,主机系统11是通过系统总线110与i/o装置12连接。例如,主机系统11可经由系统总线110将输出信号传送至i/o装置12或从i/o装置12接收输入信号。在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式连接至存储器储存装置10。存储器储存装置10可例如是随身碟201、记忆卡202、固态硬盘(solidstatedrive,ssd)203或无线存储器储存装置204。无线存储器储存装置204可例如是近距离无线通信(nearfieldcommunication,nfc)存储器储存装置、无线传真(wifi)存储器储存装置、蓝牙(bluetooth)存储器储存装置或低功耗蓝牙存储器储存装置(例如,ibeacon)等以各式无线通信 技术为基础的存储器储存装置。此外,主板20也可以通过系统总线110连接至全球定位系统(globalpositioningsystem,gps)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式i/o装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器储存装置204。在一范例实施例中,所提及的主机系统为可实质地与存储器储存装置配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据本发明的另一范例实施例所显示的主机系统与存储器储存装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器储存装置30可为其所使用的安全数字(securedigital,sd)卡32、小型快闪(compactflash,cf)卡33或嵌入式储存装置34等各式非易失性存储器储存装置。嵌入式储存装置34包括嵌入式多媒体卡(embeddedmmc,emmc)341和/或嵌入式多芯片封装(embeddedmultichippackage,emcp)储存装置342等各类型将存储器模块直接连接于主机系统的基板上的嵌入式储存装置。图4是根据本发明的一范例实施例所显示的存储器储存装置的概要方框图。请参照图4,存储器储存装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。在本范例实施例中,连接接口单元402是兼容于序列先进附件(serialadvancedtechnologyattachment,sata)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并列先进附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准、通用串行总线(universalserialbus,usb)标准、sd接口标准、超高速一代(ultrahighspeed-i,uhs-i)接口标准、超高速二代(ultrahighspeed-ii,uhs-ii)接口标准、记忆棒(memorystick,ms)接口标准、多芯片封装(multi-chippackage)接口标准、多媒体储存卡(multimediacard,mmc)接口标准、emmc接口标准、通用闪存 (universalflashstorage,ufs)接口标准、emcp接口标准、cf接口标准、整合式驱动电子接口(integrateddeviceelectronics,ide)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。可复写式非易失性存储器模块406是连接至存储器控制电路单元404并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶记忆胞(singlelevelcell,slc)nand型闪存模块(即,一个记忆胞中可储存1个位的闪存模块)、多阶记忆胞(multilevelcell,mlc)nand型闪存模块(即,一个记忆胞中可储存2个位的闪存模块)、三阶记忆胞(triplelevelcell,tlc)nand型闪存模块(即,一个记忆胞中可储存3个位的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。可复写式非易失性存储器模块406中的每一个记忆胞是以电压(以下亦称为临界电压)的改变来储存一或多个位。具体来说,每一个记忆胞的控制栅极(controlgate)与信道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变记忆胞的临界电压。此改变临界电压的程序亦称为“把数据写入至记忆胞”或“程序化记忆胞”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个记忆胞具有多个储存状态。通过施予读取电压可以判断一个记忆胞是属于哪一个储存状态,藉此取得此记忆胞所储存的一个或多个位。图5是根据本发明的一范例实施例所显示的存储器控制电路单元的概要方框图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404 的操作。在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被刻录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。在另一范例实施例中,存储器管理电路502的控制指令亦可以程序代码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有开机码(bootcode),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是连接至微控制器。记忆胞管理电路用以管理可复写式非易失性存储器模块406的记忆胞或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列(亦称为程序化指令序列)以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一个或多个程序代码或脚本并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给 可复写式非易失性存储器模块406以指示执行相对应的操作。主机接口504是连接至存储器管理电路502并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于sata标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是兼容于pata标准、ieee1394标准、pciexpress标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。存储器接口506是连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种记忆体操作(例如,改变读取电压准位或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一个或多个信号,或是在总线上的数据。这些信号或数据可包括脚本或程序代码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510及电源管理电路512。错误检查与校正电路508是连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,ecc)和/或错误检查码(errordetectingcode,edc),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查 码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。缓冲存储器510是连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是连接至存储器管理电路502并且用以控制存储器储存装置10的电源。在本范例实施例中,可复写式非易失性存储器模块406的记忆胞会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。例如,同一条字符在线的记忆胞会组成一或多个实体程序化单元。若每一个记忆胞可储存2个以上的位,则同一条字符在线的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一记忆胞的最低有效位(leastsignificantbit,lsb)是属于下实体程序化单元,并且一记忆胞的最高有效位(mostsignificantbit,msb)是属于上实体程序化单元。一般来说,在mlcnand型闪存中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元通常包括数据位区与冗余(redundancy)位区。数据位区包含多个实体扇,用以储存用户数据,而冗余位区用以储存系统数据(例如,错误更正码)。在本范例实施例中,数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,b)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。例如,实体抹除单元为实体区块(block)。图6是根据本发明的一范例实施例所显示的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502会将可复写式非易失性存储器模块406 的记忆胞逻辑地分组为实体单元610(0)~610(b)。在本范例实施例中,实体单元610(0)~610(b)中的每一个是指一个实体抹除单元。然而,在另一范例实施例中,实体单元610(0)~610(b)中的每一个也可以包含多个实体抹除单元。在本范例实施例中,存储器管理电路502会将实体单元610(0)~610(b)逻辑地分组为储存区601与闲置(spare)区602。储存区601中的实体单元610(0)~610(a)储存有数据,而闲置区602中的实体单元610(a+1)~610(b)尚未被用来储存数据。例如,属于储存区601的每一个实体单元可能储存有有效数据和/或无效数据,而属于储存区601的某一个实体单元被抹除之后就会被关联至闲置区602。当属于储存区601的某一个实体单元被写满之后,某一个实体单元会被从闲置区602选择并且被关联至储存区601,以储存其他数据。在一范例实施例中,属于闲置区602的每一个实体单元亦称为闲置实体单元,而属于储存区601的每一个实体单元亦称为非闲置(non-spare)实体单元。在一范例实施例中,闲置实体单元亦称为第一类实体单元,而非闲置实体单元亦称为第二类实体单元。在本范例实施例中,存储器管理电路502会配置逻辑单元612(0)~612(c)以映象储存区601中的实体单元610(0)~610(a)的至少一部分。在本范例实施例中,主机系统11是通过逻辑地址(logicaladdress,la)来存取储存于储存区601中的数据,因此,逻辑单元612(0)~612(c)中的每一个是指一个逻辑地址。然而,在另一范例实施例中,逻辑单元612(0)~612(c)中的每一者也可以是由多个连续(例如,连续编号)的逻辑地址组成。在本范例实施例中,存储器管理电路502会将逻辑单元与实体单元之间的映象关系(亦称为逻辑-实体映象关系)记录于至少一逻辑-实体映象表。当主机系统11欲从存储器储存装置10读取数据或写入数据至存储器储存装置10时,存储器管理电路502可根据此逻辑-实体映象表来执行对于存储器储存装置10的数据存取。在一范例实施例中,逻辑-实体映象表以及特定的管理数据(例如,纪录有存储器储存装置10的管理信息的管理表格)会被储存在不属于储存区601与闲置区602的其他实体单元中,以避免被使用者修改。在本范例实施例中,有效数据是属于某一个逻辑单元的当前数据(或最新数据),而无效数据则不是属于任一个逻辑单元的当前数据。例如,若主机系 统11将一笔新数据储存至某一逻辑单元而覆盖掉此逻辑单元原先储存的旧数据(即,更新属于此逻辑单元的数据),则储存区601中的此笔新数据即为属于此逻辑单元的当前数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然储存在储存区601中但被标记为无效。在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与储存有属于此逻辑单元的旧数据的实体单元之间的映象关系会被移除,并且此逻辑单元与储存有属于此逻辑单元的当前数据(或最新数据)的实体单元之间的映象关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与储存有属于此逻辑单元的旧数据的实体单元之间的映象关系仍可被维持。当存储器储存装置10出厂时,属于闲置区602的实体单元(即,第一类实体单元)的总数会是一个预置数目(例如,30)。随着存储器储存装置10的使用,越来越多的实体单元会被从闲置区602选择并且被关联至储存区601以储存数据(例如,来自主机系统11的用户数据)。因此,属于闲置区602的实体单元(即,第一类实体单元)的总数会随着存储器储存装置10的使用而逐渐减少。在存储器储存装置10的运作中,存储器管理电路502会持续更新属于闲置区602的实体单元(即,第一类实体单元)的总数。存储器管理电路502会判断第一类实体单元的总数是否小于或等于一个门槛值(以下亦称为第一门槛值)。此第一门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若第一类实体单元的总数小于或等于第一门槛值,存储器管理电路502会执行一个数据整并程序。在一范例实施例中,此数据整并程序亦称为垃圾回收程序(garbagecollectionprocess)。在数据整并程序中,存储器管理电路502会从储存区601中选择至少一个实体单元并且尝试将有效数据从所选择的实体单元集中复制(或搬移)到另一实体单元。用来储存所复制(或搬移)的有效数据的实体单元则是从闲置区602中选择并且会被关联至储存区601。若某一个实体单元所储存的有效数据皆已被复制(或搬移),则此实体单元会被抹除并且被关联至闲置区602。在一范例实施例中,将某一个实体单元从储存区601重新关联回闲置区602的操作亦称为释放一个闲置实体单元。随着数据整并程序的运行时间增 加,越来越多的闲置实体单元会被释放。藉此,在开始执行数据整并程序之后,属于闲置区602的实体单元(即,第一类实体单元)的总数会逐渐增加,例如,从第一数目变更至第二数目。其中,第二数目大于第一数目。在本范例实施例中,存储器管理电路502会判断第一类实体单元的总数是否大于或等于另一个门槛值(以下亦称为第二门槛值)。在本范例实施例中,第二门槛值会大于第一门槛值。例如,若第一门槛值是“2”,则第二门槛值可能是“15”或任何大于“2”的数值。若第一类实体单元的总数大于或等于第二门槛值,存储器管理电路502会停止数据整并程序。在本范例实施例中,停止数据整并程序是指结束当前执行中的数据整并程序。在停止一个数据整并程序之后,若第一类实体单元的总数再次小于或等于第一门槛值,则下一个数据整并程序会再次被执行。然而,在另一范例实施例中,第二门槛值也可能会等于第一门槛值。在本范例实施例中,属于闲置区602的实体单元(即,第一类实体单元)的总数会被记载在一个管理表格中。当某一个闲置实体单元被释放时,存储器管理电路502会将此管理表格所记载的第一类实体单元的总数加“1”;当某一个实体单元被从闲置区602关联至储存区601以储存数据时,存储器管理电路502会将此管理表格所记载的第一类实体单元的总数减“1”。在存储器储存装置10的运作中,存储器管理电路502会根据此管理表格所记载的第一类实体单元的总数来判断是否需要执行下一个数据整并程序和/或是否要停止执行中的数据整并程序。在一范例实施例中,当欲储存特定类型的数据时,存储器管理电路502也可能直接停止执行中的数据整并程序,即便当前记录于上述管理表格中的第一类实体单元的总数尚未达到第二门槛值。例如,在一范例实施例中,此特定类型的数据是指循序(sequential)数据。在一范例实施例中,存储器管理电路502会从主机系统11接收数据(以下亦称为第一数据)并且据以执行一程序化程序(以下亦称为第一程序化程序)。在第一程序化程序中,存储器管理电路502会发送至少一程序化指令序列至可复写式非易失性存储器模块406,以指示将第一数据的至少一部分程序化至可复写式非易失性存储器模块406中。在一范例实施例中,存储器管理电路502会判断第一数据是第一类数据 或第二类数据。其中,第一类数据是指循序数据,而第二类数据是指非循序数据。例如,第一类数据属于多个连续(或连续编号)的逻辑单元,而第二类数据则不属于多个连续的逻辑单元。例如,若第一数据被储存至连续编号的多个逻辑单元或某一个逻辑地址范围内,则第一数据为第一类数据;然而,若第一数据被储存至非连续编号的(即,离散的)多个逻辑单元,则第一数据为第二类数据。在一范例实施例中,若第一数据是第一类数据,则第一程序化程序可视为循序写入(sequentialwrite)程序;然而,若第一数据是第二类数据,则第一程序化程序可视为随机写入(randomwrite)程序。在一范例实施例中,若第一数据是第一类数据(或第一程序化程序是循序写入程序)且当前有一个数据整并程序被执行,则在此数据整并程序中,即便记录于上述管理表格中的第一类实体单元的总数(即,上述第二数目)尚未达到第二门槛值,存储器管理电路502也可能直接停止执行中的数据整并程序。藉此,可减少数据整并程序对于循序写入程序的写入速度(或写入带宽)的影响;然而,若第一数据是第二类数据(或第一程序化程序是随机写入程序),则(只有)当记录于上述管理表格中的第一类实体单元的总数(即,上述第二数目)达到第二门槛值时,存储器管理电路502才会停止执行中的数据整并程序。图7是根据本发明的一范例实施例所显示的程序化程序的示意图。请参照图7,存储器管理电路502从主机系统11接收属于逻辑单元612(0)~612(d)的数据(即第一数据)。其中,逻辑单元612(0)~612(d)是连续编号的(或属于同一个逻辑地址范围),故属于逻辑单元612(0)~612(d)的数据为第一类数据(即循序数据)。在一范例实施例中,若一个逻辑单元是指一个逻辑地址,则逻辑单元612(0)~612(d)是由多个连续的逻辑地址组成。其中,任两个连续编号的逻辑单元具有连续的逻辑地址。在另一范例实施例中,若一个逻辑单元包含多个连续的逻辑地址,则逻辑单元612(0)~612(d)中任两个连续编号的逻辑单元是指后一个逻辑单元的起始逻辑地址接续于前一个逻辑单元的结束逻辑地址。例如,逻辑单元612(1)的起始逻辑地址接续于逻辑单元612(0)的结束逻辑地址,逻辑单元612(2)的起始逻辑地址接续于逻辑单元612(1)的结束逻辑地址等,以此类推。在接收到第一数据之后,存储器管理电路502会执行第一程序化程序。在第一程序化程序中,存储器管理电路502会指示将第一数据程序化至储存区601中的至少一实体单元。在本范例实施例中,一个实体单元可用于储存属于32个逻辑单元的数据,故属于逻辑单元612(0)~612(31)的数据(即第一数据中的至少一部分数据)会先被程序化至实体单元601(e)(以下亦称为第一实体单元)。同时,逻辑单元612(0)~612(31)会被映象至实体单元601(e)。由于逻辑单元612(0)~612(31)也是连续(或连续编号)的,故实体单元601(e)所储存的数据也为第一类数据。在一范例实施例中,存储器管理电路502会根据实体单元601(e)所储存的数据是否为第一类数据和/或储存于实体单元601(e)的数据是否占用连续(或连续编号)的多个逻辑单元来判定整个第一数据是否为第一类数据。例如,实体单元601(e)所储存的数据为第一类数据,故存储器管理电路502会据以判定整个第一数据为第一类数据。在另一范例实施例中,若实体单元601(e)所储存的数据为第二类数据,则存储器管理电路502会据以判定整个第一数据为第二类数据。在一范例实施例中,实体单元601(e)会储存一个系统数据。此系统信息用以表示实体单元601(e)所储存的数据是否为第一类数据和/或储存于实体单元601(e)的数据占用了哪些逻辑单元(或逻辑地址)。存储器管理电路502可查询此系统数据以获得实体单元601(e)所储存的数据是否为第一类数据。在写满实体单元601(e)之后,存储器管理电路502会从闲置区602中选择另一个实体单元以储存第一数据中尚未储存(或程序化)的数据。例如,存储器管理电路502会从闲置区602中选择实体单元610(e+1)并且将实体单元610(e+1)关联至储存区601。在选择实体单元610(e+1)之后,闲置区602中只剩下实体单元610(b),如图7所示。在选择实体单元610(e+1)之后,存储器管理电路502会在上述管理表格中将第一类实体单元的总数从“2”更新为“1”并且判定第一类实体单元的总数(即,“1”)小于第一门槛值(例如,2)。因此,存储器管理电路502会开始执行一个数据整并程序。然而,在另一范例实施例中,数据整并程序亦可以是在执行第一程序化程序之前即已开始执行,或者在第一程序化程序中的任一时间点被触发,本发明不加以限制。在数据整并程序中,存储器管理电路502会执行一个选择程序。此选择程序是用以选择有效数据的来源节点。例如,在选择程序中,存储器管理电路502会从储存区601中选择作为来源节点的一个实体单元(以下亦称为第二实体单元)。被选择作为有效数据的来源节点的第二实体单元会符合选择程序的一个筛选条件。例如,在一范例实施例中,此筛选条件是储存区601中储存最少的有效数据的一个实体单元。或者,在另一范例实施例中,所选择的第二实体单元所储存的有效数据的数据量会小于一个平均值。其中,此平均值是指储存区601中至少部分(或所有)的实体单元所储存的有效数据的数据量的平均。然而,此筛选条件也可以包含任意有用的条件,本发明不加以限制。在一范例实施例中,在选择第二实体单元之后,存储器管理电路502会开始复制(或搬移)储存于第二实体单元中的有效数据。例如,存储器管理电路502会将储存于第二实体单元中的有效数据复制(或搬移)到另一个实体单元(以下亦称为第三实体单元)。其中,第三实体单元也是从闲置区602中选择并且用以集中储存在数据整并程序中收集的有效数据。在将储存于第二实体单元中所有的有效数据都复制(或搬移)至第三实体单元之后,第二实体单元会被抹除。在一范例实施例中,在选择第二实体单元之后,存储器管理电路502还会判断第二实体单元所储存的有效数据的数据量是否大于一个预置值。例如,某一个实体单元所储存的有效数据的数据量是用此实体单元的一个有效计数值来表示。其中,此有效计数值会对应于此实体单元中储存有有效数据的实体子单元的总数。例如,若第二实体单元的有效计数值是“2”,表示第二实体单元中有2个实体子单元储存有有效数据。在本范例实施例中,一个实体子单元是指一个实体程序化单元。然而,在另一范例实施例中,一个实体子单元也可以是由一个实体抹除单元中任意数目的记忆胞组成。在一范例实施例中,存储器管理电路502会判断第二实体单元的有效计数值是否大于一预置计数值。若第二实体单元的有效计数值大于此预置计数值,存储器管理电路502会判定第二实体单元所储存的有效数据的数据量大于上述预置值并且开始复制(或搬移)储存于第二实体单元中的有效数据;然而,若第二实体单元的有效计数值不大于此预置计数值,则存储器管理电路 502会判定第二实体单元所储存的有效数据的数据量不大于上述预置值。若第二实体单元所储存的有效数据的数据量不大于上述预置值,则存储器管理电路502会将第二实体单元抹除并且直接停止数据整并程序。具体而言,在将第二实体单元抹除(即,释放一个闲置实体单元)之后,存储器管理电路502可能会需要一段处理时间去更新上述管理表格(例如,将第一类实体单元的总数加“1”)。然而,在一范例实施例中,若第二实体单元所储存的有效数据的数据量不大于上述预置值,则在此处理时间内,即便第一类实体单元的总数尚未被更新,存储器管理电路502也会直接停止数据整并程序。此外,若数据整并程序是基于第二实体单元所储存的有效数据的数据量不大于上述预置值而停止,则在经过上述处理时间之后,更新后的第一类实体单元的总数可能会达到或未达到上述第二门槛值,本发明不加以限制。在本范例实施例中,预置计数值与预置值皆是零。也就是说,若所选择要作为有效数据的来源节点的第二实体单元中没有需要复制(或搬移)的有效数据,则第二实体单元可以随即被抹除并且被释放为一个闲置实体单元。同时,执行中的数据整并程序会立即被停止。藉此,第一数据中尚未储存(或程序化)的数据(例如,属于逻辑单元612(32)~612(d)的数据)可随即被程序化至实体单元610(e+1)或者更多实体单元。值得一提的是,在图7的范例实施例中,第一程序化程序是用以程序化属于逻辑单元612(0)~612(d)的循序数据,故每当储存区601中的一个实体单元被写满,相对应地就可以释放一个闲置实体单元。藉此,即便在执行第一程序化程序的过程中,第一类实体单元的总数始终未达到一个预置数目(例如,上述第二门槛值),仍可确保第一程序化程序顺畅地执行。此外,上述快速地启动并停止数据整并程序的操作亦可以应用在后续储存属于逻辑单元612(32)~612(d)的数据的过程中,在此便不赘述。在一范例实施例中,若第一数据为第一类数据,则在开始执行数据整并程序之后,第一程序化程序的写入带宽会被限制至小于或等于一预置带宽。其中,写入带宽用以表示每秒将多少数据程序化至可复写式非易失性存储器模块406中。也就是说,藉由将第一程序化程序的写入带宽限制至小于或等于预置带宽,可提供更多的写入带宽供数据整并程序使用,从而增加数据整并程序中对于有效数据的收集效率并且可缩短数据整并程序的运行时间。在一范例实施例中,若第一数据为第一类数据,则在开始执行数据整并程序之后,第一程序化程序会被暂停。其中,暂停第一程序化程序也可以视为将第一程序化程序的写入带宽限制为零。例如,在一范例实施例中,存储器管理电路502可配置一指令队列,其用以暂存指示储存数据的至少一指令。例如,此指令队列会基于先入先出(firstinfirstout)规则来将暂存于其中的指令依序输出。若此指令队列输出一个用于指示储存第一数据的指令,存储器管理电路502会指示可复写式非易失性存储器模块406储存第一数据的至少一部分。另外,若此指令队列输出一个用于指示储存数据整并程序所收集的数据的指令,则存储器管理电路502会指示可复写式非易失性存储器模块406储存由数据整并程序所收集的数据。在一范例实施例中,若第一数据为第一类数据,存储器管理电路502会暂停将指示储存第一数据的指令加入至此指令队列中,以暂停第一程序化程序。同时,更多用于指示储存数据整并程序所收集的数据的指令可被加入至此指令队列中,使得将数据整并程序所收集的数据回存至可复写式非易失性存储器模块406的操作可以被连续地执行。藉此,可以确保在暂停第一程序化程序的期间所有的传输带宽都可以供数据整并程序使用,更进一步缩短数据整并程序的运行时间。在停止数据整并程序之后,第一程序化程序可被恢复执行。例如,在停止数据整并程序之后,存储器管理电路502会恢复将指示储存第一数据的指令加入至此指令队列中。在一范例实施例中,若第一数据为第二类数据,则在开始执行数据整并程序之后,存储器管理电路502允许数据整并程序与第一程序化程序共享传输带宽。例如,在配置有上述指令队列的一范例实施例中,若第一数据为第二类数据,则指示储存第一数据的指令与指示储存数据整并程序所收集的数据的指令皆可被加入至此指令队列中。例如,存储器管理电路502可随机地或依据一预置比例将指示储存第一数据的指令与指示储存数据整并程序所收集的数据的指令加入至此指令队列。然后,根据此指令队列的输出,相应的写入操作可被可复写式非易失性存储器模块406执行。因此,相对于第一数据为第一类数据的情况,当第一数据为第二类数据时,若数据整并程序被触发,则第一程序化程序的写入带宽会在整个可复写式非易失性存储器模块406的传输带宽中占有较大比例。在一范例实施例中,第一程序化程序是接续于前一个程序化程序(以下亦称为第二程序化程序)执行的。第二程序化程序是用以储存来自于主机系统11的另一数据(以下亦称为第二数据)。其中,第二数据是第二类数据。换言之,第二数据是属于多个离散的逻辑单元。在一范例实施例中,上述在第一类实体单元的总数达到第二门槛值之前就停止执行中的数据整并程序的操作是(只有)在判定第一数据是第一类数据(或第一程序化程序是循序写入程序)且第一程序化程序是接续于此第二程序化程序之后才会执行。图8是根据本发明的另一范例实施例所显示的程序化程序的示意图。请参照图8,主机系统11指示先储存属于逻辑单元612(g)、612(g+2)…612(h)的数据(即,第二数据),然后再储存属于逻辑单元612(0)~612(d)的数据(即,第一数据)。其中,逻辑单元612(g)、612(g+2)…612(h)是分散的(即未连续编号),而逻辑单元612(0)~612(d)是连续的(即连续编号)。因此,第二数据是第二类数据,而第一数据为第一类数据。在本范例实施例中,存储器管理电路502会先执行一个程序化程序(即,第二程序化程序)以将第二数据程序化至实体单元610(0)~610(i)。然后,存储器管理电路502会执行第一程序化程序以将第一数据程序化至包含实体单元610(i+1)在内的其余实体单元。其中,用于程序化第二数据的第二程序化程序亦称为随机写入程序,而用于程序化第一数据的第一程序化程序亦称为循序写入程序。在本范例实施例中,在执行第二程序化程序的过程中,若一个数据整并程序被执行,则存储器管理电路502只会依照预置的规则来停止数据整并程序(例如,当判定第一类实体单元的总数达到上述第二门槛值时,此数据整并程序会被停止),而不会执行上述在第一类实体单元的总数达到第二门槛值之前就停止数据整并程序的操作。然而,在切换至执行第一程序化程序之后,若一个数据整并程序被执行,则在第一类实体单元的总数达到第二门槛值之前,存储器管理电路502就可能直接停止数据整并程序,从而避免第一程序化程序的执行速度受到数据整并程序的影响。此外,图8的范例实施例中其余的操作细节皆已详述于图7的范例实施例中,故在此便不赘述。值得一提的是,在图8的另一范例实施例中,在执行第二程序化程序之前,用来程序化第一类数据的另一循序写入程序(以下亦称为第三程序化程序) 已先被执行。因此,在接续于第二程序化程序而执行的第一程序化程序中,若有数据整并程序被执行,表示此时属于储存区601的实体单元610(0)~610(f)(即,第二类实体单元)实际上是同时储存有第一类数据(即,循序数据)与第二类数据(非循序数据)。例如,储存区601是被循序数据与非循序数据写满。图9是根据本发明的一范例实施例所显示的存储器管理方法的流程图。请参照图9,在步骤s901中,接收第一数据。在步骤s902中,执行第一程序化程序。在步骤s903中,判断第一类实体单元的总数是否小于或等于第一门槛值。若否,回到步骤s902。若第一类实体单元的总数小于或等于第一门槛值,在步骤s904中,执行数据整并程序。在步骤s905中,判断第一数据是否是第一类数据。若第一数据是第一类数据,在步骤s906中,在第一类实体单元的总数达到第二门槛值之前,停止数据整并程序。若第一数据不是第一类数据(即,第一数据为第二类数据),在步骤s907中,在第一类实体单元的总数达到第二门槛值之后,停止数据整并程序。图10是根据本发明的另一范例实施例所显示的存储器管理方法的流程图。请参照图10,在步骤s1001中,接收第一数据并执行第一程序化程序。在步骤s1002中,将第一数据的至少一部分数据程序化至第一实体单元。在步骤s1003中,判断第一类实体单元的总数是否小于或等于第一门槛值。若否,再次执行步骤s1002,持续将第一数据程序化至第一实体单元。若第一类实体单元的总数小于或等于第一门槛值,在步骤s1004中,执行数据整并程序。在步骤s1005中,选择属于第二类实体单元的一个第二实体单元以作为有效数据的来源节点。在步骤s1006中,判断第一数据是否为循序数据。若第一数据是循序数据,在步骤s1007中,判断第二实体单元所储存的有效数据的数据量是否大于一预置值。若第二实体单元所储存的有效数据的数据量不大于此预置值,在步骤s1008中,抹除第二实体单元并停止(或结束)数据整并程序。若第二实体单元所储存的有效数据的数据量大于此预置值,在步骤s1009中,将储存于第二实体单元中的有效数据复制到第三实体单元,然后抹除第二实体单元。此外,若在步骤s1006中判定第一数据不是循序数据,则步骤1009也会被执行。在步骤s1010中,判断第一类实体单元的总数 是否大于第二门槛值。若是,则步骤s1008会被执行,以停止(或结束)数据整并程序。若在步骤s1010中判定第一类实体单元的总数仍小于第二门槛值,则步骤s1005会再次被执行,以选择属于第二类实体单元的另一个第二实体单元作为有效数据的来源节点。在步骤s1008之后,步骤s1002可被接续执行。然而,图9与图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9与图10中各步骤可以作为多个程序代码或是电路,本发明不加以限制。此外,图9与图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。综上所述,在存储器储存装置的运作中,一个数据整并程序可能会随着第一类实体单元的减少而被触发。在开始执行此数据整并程序之后,若判定所需程序化的数据是循序数据,则此数据整并程序可能会在第一类实体单元的总数达到一预置数目之前就停止,从而减少数据整并程序对循序数据(或循序写入程序)的写入速度造成的影响。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属
技术领域
:中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的改动与润饰,故本发明的保护范围当视所附权利要求界定范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1