数据整并方法、存储器存储装置及存储器控制电路单元与流程

文档序号:24035185发布日期:2021-02-23 14:44阅读:55来源:国知局
[0001]本发明涉及一种闪存存储器技术,尤其涉及一种数据整并方法、存储器存储装置及存储器控制电路单元。
背景技术
::[0002]数码相机、移动电话与mp3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)(例如,闪存存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。[0003]当存储器存储装置出厂时,存储器存储装置中一部分的实体单元会被配置为多个闲置实体单元,以使用此些闲置实体单元来存储新数据。在使用一段时间后,存储器存储装置中的闲置实体单元的数目会逐渐减少。存储器存储装置可通过数据整并程序(或称为垃圾收集程序)将有效数据从多个来源节点复制到回收节点(亦称为目标节点)并抹除属于来源节点的实体单元以释放出新的闲置实体单元。[0004]一般来说,在每一次的数据整并程序中,皆需要存取记载来源节点的多个实体单元所映射的逻辑单元的管理信息(例如映射信息)的表格以识别出有效数据。然而,当存在大量管理信息需要被存取时,将会增加存储器存储装置的存取次数并导致存储器存储装置的整体效能下降。技术实现要素:[0005]本发明提供一种数据整并方法、存储器存储装置及存储器控制电路单元,可改善上述问题,并有效减少在数据整并程序中对于存储器存储装置的存取次数。[0006]本发明的范例实施例提供一种数据整并方法,其用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体单元。所述数据整并方法包括:启动第一数据整并操作,并从所述实体单元中选择用以执行所述第一数据整并操作的至少一第一实体单元与执行第二数据整并操作的至少一第二实体单元;在所述第一数据整并操作中,从所述可复写式非易失性存储器模块中读取第一映射信息,并根据所述第一映射信息将从所述至少一第一实体单元中收集的第一有效数据复制到所述实体单元中的至少一第三实体单元;在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的第二有效数据;以及启动所述第二数据整并操作,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元。[0007]在本发明的一范例实施例中,所述第二数据整并操作是在所述第一数据整并操作结束后启动。[0008]在本发明的一范例实施例中,根据所述第一映射信息将从所述至少一第一实体单元中收集的所述第一有效数据复制到所述实体单元中的所述至少一第三实体单元之后的步骤包括:更新所述第一映射信息,其中在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的步骤包括:根据更新的所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据。[0009]在本发明的一范例实施例中,在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的步骤包括:根据所识别的所述第二有效数据记录有效数据地址表,其中所述有效数据地址表用以反应出所述至少一第二实体单元中的所述第二有效数据的存储地址。[0010]在本发明的一范例实施例中,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元的步骤包括:根据所述有效数据地址表将所述至少一第二实体单元中的所述第二有效数据复制到所述至少一第四实体单元。[0011]在本发明的一范例实施例中,在所述第二数据整并操作中,不执行识别所述至少一第二实体单元中至少部分的所述第二有效数据的操作。[0012]在本发明的一范例实施例中,在所述第一数据整并操作中,根据所述第一映射信息所识别的所述至少一第二实体单元中的所述第二有效数据仅包括所述第二有效数据的第一部分,其中在所述第二数据整并操作中,从所述可复写式非易失性存储器模块中读取第二映射信息,并根据所述第二映射信息识别所述至少一第二实体单元中的所述第二有效数据的第二部分,其中所述第一映射信息的逻辑至实体映射范围不包含所述第二映射信息的逻辑至实体映射范围。[0013]本发明的范例实施例另提供一种存储器存储装置,其包括连接接口连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口连接接口单元用以电性连接至主机系统。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元电性连接至所述连接接口连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以启动第一数据整并操作,并从所述实体单元中选择用以执行第一数据整并操作的至少一第一实体单元与执行第二数据整并操作的至少一第二实体单元,所述存储器控制电路单元更用以在所述第一数据整并操作中,从所述可复写式非易失性存储器模块中读取第一映射信息,并根据所述第一映射信息将从所述至少一第一实体单元中收集的第一有效数据复制到所述实体单元中的至少一第三实体单元,所述存储器控制电路单元更用以在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的第二有效数据,以及所述存储器控制电路单元更用以启动所述第二数据整并操作,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元。[0014]在本发明的一范例实施例中,所述第二数据整并操作是在所述第一数据整并操作结束后启动。[0015]在本发明的一范例实施例中,根据所述第一映射信息将从所述至少一第一实体单元中收集的所述第一有效数据复制到所述实体单元中的所述至少一第三实体单元之后的操作包括:更新所述第一映射信息,其中在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的操作包括:根据更新的所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据。[0016]在本发明的一范例实施例中,在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的操作包括:根据所识别的所述第二有效数据记录一有效数据地址表,其中所述有效数据地址表用以反应出所述至少一第二实体单元中的所述第二有效数据的存储地址。[0017]在本发明的一范例实施例中,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元的操作包括:根据所述有效数据地址表将所述至少一第二实体单元中的所述第二有效数据复制到所述至少一第四实体单元。[0018]在本发明的一范例实施例中,在所述第二数据整并操作中,所述存储器控制电路单元不执行识别所述至少一第二实体单元中至少部分的所述第二有效数据的操作。[0019]在本发明的一范例实施例中,在所述第一数据整并操作中,根据所述第一映射信息所识别的所述至少一第二实体单元中的所述第二有效数据仅包括所述第二有效数据的第一部分,其中在所述第二数据整并操作中,所述存储器控制电路单元从所述可复写式非易失性存储器模块中读取第二映射信息,并根据所述第二映射信息识别所述至少一第二实体单元中的所述第二有效数据的第二部分,其中所述第一映射信息的逻辑至实体映射范围不包含所述第二映射信息的逻辑至实体映射范围。[0020]本发明的范例实施例另提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个实体单元。所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以电性连接至主机系统。所述存储器接口用以电性连接至所述可复写式非易失性存储器模块。所述存储器管理电路电性连接至所述主机接口与所述存储器接口。所述存储器管理电路用以启动第一数据整并操作,并从所述实体单元中选择用以执行第一数据整并操作的至少一第一实体单元与执行第二数据整并操作的至少一第二实体单元,所述存储器管理电路更用以在所述第一数据整并操作中,从所述可复写式非易失性存储器模块中读取第一映射信息,并根据所述第一映射信息将从所述至少一第一实体单元中收集的第一有效数据复制到所述实体单元中的至少一第三实体单元,所述存储器管理电路更用以在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的第二有效数据,以及所述存储器管理电路更用以启动所述第二数据整并操作,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元。[0021]在本发明的一范例实施例中,所述第二数据整并操作是在所述第一数据整并操作结束后启动。[0022]在本发明的一范例实施例中,根据所述第一映射信息将从所述至少一第一实体单元中收集的所述第一有效数据复制到所述实体单元中的所述至少一第三实体单元之后的操作包括:更新所述第一映射信息,其中在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的操作包括:根据更新的所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据。[0023]在本发明的一范例实施例中,所述在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的所述第二有效数据的操作包括:根据所识别的所述第二有效数据记录有效数据地址表,其中所述有效数据地址表用以反应出所述至少一第二实体单元中的所述第二有效数据的存储地址。[0024]在本发明的一范例实施例中,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元的操作包括:根据所述有效数据地址表将所述至少一第二实体单元中的所述第二有效数据复制到所述至少一第四实体单元。[0025]在本发明的一范例实施例中,在所述第二数据整并操作中,所述存储器管理电路不执行识别所述至少一第二实体单元中至少部分的所述第二有效数据的操作。[0026]在本发明的一范例实施例中,在所述第一数据整并操作中,根据所述第一映射信息所识别的所述至少一第二实体单元中的所述第二有效数据仅包括所述第二有效数据的第一部分,其中在所述第二数据整并操作中,所述存储器管理电路从所述可复写式非易失性存储器模块中读取第二映射信息,并根据所述第二映射信息识别所述至少一第二实体单元中的所述第二有效数据的第二部分,其中所述第一映射信息的逻辑至实体映射范围不包含所述第二映射信息的逻辑至实体映射范围。[0027]基于上述,存储器管理电路在一个数据整并操作中,在目前的数据整并操作中预先选择下一个数据整并操作中的来源节点,由此可在此数据整并操作中的来源节点所映射的映射信息包含下一个数据整并操作中的来源节点的映射信息时,预先识别所述来源节点的有效数据,使下一个数据整并操作中存取来源节点所使用的逻辑至实体映射表的读取操作可被省略。由此可有效地减少数据整并操作中存储器存储装置的存取次数,进而提升存储器存储装置的整体运作效能。附图说明[0028]图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;[0029]图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及i/o装置的示意图;[0030]图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;[0031]图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;[0032]图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;[0033]图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;[0034]图7a与图7b是根据本发明的一范例实施例所示出的数据整并操作的示意图;[0035]图8是根据本发明的一范例实施例所示出的数据整并方法的流程图。具体实施方式[0036]现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。[0037]一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。[0038]图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及i/o装置的示意图。[0039]请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,ram)112、只读存储器(readonlymemory,rom)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(systembus)110。[0040]在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与i/o装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至i/o装置12或从i/o装置12接收输入信号。[0041]在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是u盘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。[0042]在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的sd卡32、cf卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedmultimediacard,emmc)341和/或嵌入式多芯片封装(embeddedmultichippackage,emcp)存储装置342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。[0043]图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。[0044]请参照图4,存储器存储装置10包括连接接口连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。[0045]连接接口连接接口单元402用以将存储器存储装置10电性连接至主机系统11。存储器存储装置10可通过连接接口连接接口单元402与主机系统11通讯。在本范例实施例中,连接接口连接接口单元402是相容于串行高级技术附件(serialadvancedtechnologyattachment,sata)标准。然而,必须了解的是,本发明不限于此,连接接口连接接口单元402亦可以是符合并行高级技术附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准、通用串行总线(universalserialbus,usb)标准、sd接口标准、超高速一代(ultrahighspeed-i,uhs-i)接口标准、超高速二代(ultrahighspeed-ii,uhs-ii)接口标准、存储棒(memorystick,ms)接口标准、mcp接口标准、mmc接口标准、emmc接口标准、通用闪存存储器(universalflashstorage,ufs)接口标准、emcp接口标准、cf接口标准、整合式驱动电子接口(integrateddeviceelectronics,ide)标准或其他适合的标准。连接接口连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。[0046]存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。[0047]可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(singlelevelcell,slc)nand型闪存存储器模块(即,一个存储单元中可存储1个比特的闪存存储器模块)、多阶存储单元(multilevelcell,mlc)nand型闪存存储器模块(即,一个存储单元中可存储2个比特的闪存存储器模块)、三阶存储单元(triplelevelcell,tlc)nand型闪存存储器模块(即,一个存储单元中可存储3个比特的闪存存储器模块)、四阶存储单元(quadlevelcell,tlc)nand型闪存存储器模块(即,一个存储单元中可存储4个比特的闪存存储器模块)、其他闪存存储器模块或其他具有相同特性的存储器模块。[0048]可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,由此取得此存储单元所存储的一或多个比特。[0049]在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字元线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字元线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效位(leastsignificantbit,lsb)是属于下实体程序化单元,并且一存储单元的最高有效位(mostsignificantbit,msb)是属于上实体程序化单元。一般来说,在mlcnand型闪存存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。[0050]在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,b)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。[0051]图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。[0052]请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。[0053]存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。[0054]在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。[0055]在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(bootcode),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。[0056]此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。[0057]主机接口504是电性连接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通讯。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于pata标准、ieee1394标准、pciexpress标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。[0058]存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。[0059]在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。[0060]错误检查与校正电路508是电性连接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(errorcorrectingcode,ecc)和/或错误检查码(errordetectingcode,edc),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。[0061]缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。[0062]在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为闪存(flash)存储器模块,存储器控制电路单元404亦称为用于控制闪存存储器模块的闪存存储器控制器,和/或图5的存储器管理电路502亦称为闪存存储器管理电路。[0063]图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。[0064]请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(c)逻辑地分组至存储区601、闲置(spare)区602及系统区603。存储区601中的实体单元610(0)~610(a)存储有数据。例如,存储区601中的实体单元610(0)~610(a)可存储有效(valid)数据与无效(invalid)数据。闲置区602中的实体单元610(a+1)~610(b)尚未用来存储数据(例如有效数据)。系统区603中的实体单元610(b+1)~610(c)用以存储系统数据,例如逻辑至实体映射表、坏块管理表、装置型号或其他类型的管理数据。[0065]存储器管理电路502可从闲置区602的实体单元610(a+1)~610(b)中选择一个实体单元并且将来自主机系统11或来自存储区601中至少一实体单元的数据存储至所选的实体单元中。同时,所选的实体单元会被关联至存储区601。此外,在抹除存储区601中的某一个实体单元后,所抹除的实体单元会被重新关联至闲置区602。[0066]在本范例实施例中,属于存储区601的每一个实体单元亦称为非闲置(non-spare)实体单元,而属于闲置区602的每一个实体单元亦称为闲置实体单元。在本范例实施例中,一个实体单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体单元亦可以包含多个实体抹除单元。[0067]存储器管理电路502可配置逻辑单元612(0)~612(d)以映射存储区601中的实体单元610(0)~610(a)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(d)中的每一者可被映射至一或多个实体单元。须注意的是,存储器管理电路502可不配置映射至系统区603的逻辑单元,以防止存储于系统区603的系统数据被使用者修改。[0068]存储器管理电路502会将逻辑单元与实体单元之间的映射信息(亦称为逻辑至实体映射信息)记录于至少一逻辑至实体映射表。此映射信息可反映存储区601中的某一个实体单元与某一个逻辑单元之间的映射关系。逻辑至实体映射表是存储于系统区603的实体单元610(b+1)~610(c)中。存储器管理电路502可根据此逻辑至实体映射表来执行对于存储器存储装置10的数据存取操作。例如,存储器管理电路502可根据某一个逻辑至实体映射表获得存储区601中的某一个实体单元与某一个逻辑单元之间的映射关系。存储器管理电路502可根据此映射关系存取此实体单元。[0069]在本范例实施例中,有效数据是属于某一个逻辑单元的最新数据,而无效数据则不是属于任一个逻辑单元的最新数据。例如,若主机系统11将一笔新数据存储至某一逻辑单元而覆盖掉此逻辑单元原先存储的旧数据(即,更新属于此逻辑单元的数据),则存储至存储区601中的此笔新数据即为属于此逻辑单元的最新数据并且会被标记为有效,而被覆盖掉的旧数据可能仍然存储在存储区601中但被标记为无效。[0070]在本范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系会被移除,并且此逻辑单元与存储有属于此逻辑单元的最新数据的实体单元之间的映射关系会被建立。然而,在另一范例实施例中,若属于某一逻辑单元的数据被更新,则此逻辑单元与存储有属于此逻辑单元的旧数据的实体单元之间的映射关系仍可被维持。[0071]当存储器存储装置10出厂时,属于闲置区602的实体单元的总数会是一个预设数目(例如,30)。在存储器存储装置10的运作中,越来越多的实体单元会被从闲置区602选择并且被关联至存储区601以存储数据(例如,来自主机系统11的使用者数据)。因此,属于闲置区602的实体单元的总数可随着存储器存储装置10的使用而逐渐减少。[0072]在存储器存储装置10的运作中,存储器管理电路502可持续更新属于闲置区602的实体单元的总数。存储器管理电路502可根据闲置区602中实体单元的数目(即,闲置实体单元的总数)执行数据整并操作。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否小于或等于一个门槛值(亦称为第一门槛值)。此第一门槛值例如是2或者更大的值(例如,10),本发明不加以限制。若属于闲置区602的实体单元的总数小于或等于第一门槛值,存储器管理电路502可执行数据整并操作。在一范例实施例中,数据整并操作亦称为垃圾收集(garbagecollection)操作。[0073]在数据整并操作中,存储器管理电路502可从存储区601中选择至少一个实体单元作为来源节点。存储器管理电路502可将有效数据从所选择的实体单元(即来源节点)复制到作为回收节点的至少一个实体单元。用来存储所复制的有效数据的实体单元(即回收节点)是从闲置区602中选择并且会被关联至存储区601。若某一个实体单元所存储的有效数据皆已被复制至回收节点,则此实体单元可被抹除并且被关联至闲置区602。在一范例实施例中,将某一个实体单元从存储区601重新关联回闲置区602的操作(或抹除某一个实体单元的操作)亦称为释放一个闲置实体单元。通过执行数据整并操作,一或多个闲置实体单元会被释放并且使得属于闲置区602的实体单元的总数逐渐增加。[0074]在开始执行数据整并操作后,若属于闲置区602的实体单元符合一特定条件,数据整并操作可被停止。例如,存储器管理电路502可判断属于闲置区602的实体单元的总数是否大于或等于一个门槛值(以下亦称为第二门槛值)。例如,第二门槛值可以大于第一门槛值。若属于闲置区602的实体单元的总数大于或等于第二门槛值,存储器管理电路502可停止数据整并操作。须注意的是,停止数据整并操作是指结束当前执行中的数据整并操作。在停止一个数据整并操作之后,若属于闲置区602的实体单元的总数再次小于或等于第一门槛值,则下一个数据整并操作可再次被执行,以释放新的闲置实体单元。[0075]特别是,在本发明范例实施例中,在一个数据整并操作中,不仅会选择此次数据整并操作(亦称为第一数据整并操作)的作为来源节点的实体单元(亦称为至少一第一实体单元),还会预先选择下一个数据整并操作(亦称为第二数据整并操作)中的作为来源节点的实体单元(亦称为至少一第二实体单元),由此可在第一数据整并操作中的至少一第一实体单元所映射的逻辑单元的映射信息包含第二数据整并操作中的至少一第二实体单元的逻辑单元的映射信息时,在第一数据整并操作中同步识别出至少一第二实体单元中的有效数据。当进入第二数据整并操作时(例如,在结束第一数据整并操作之后,若属于闲置区602的实体单元的总数再次小于或等于第一门槛值时),则可省去从可复写式非易失性存储器模块中读取至少一第二实体单元的映射信息的步骤,直接将所识别出的至少一第二实体单元中的有效数据直接复制到目标节点,由此达到在数据整并程序中减少对于存储器存储装置的存取次数。以下将参照图7a与图7b来更详细地说明本发明的数据整并方法。[0076]图7a与图7b是根据本发明的一范例实施例所示出的数据整并操作的示意图。[0077]请先参照图7a,一个数据整并操作例如包括第一阶段s1~第四阶段s4,其中第一阶段s1为选择来源节点与目标节点的步骤、第二阶段s2为识别有效数据的步骤、第三阶段s3为复制数据的步骤以及第四阶段s4为更新映射信息的步骤。在本发明范例实施例的数据整并操作中,存储器管理电路502会在启动一个数据整并操作gc1(亦称为第一数据整并操作gc1)后的第一阶段s1中,从可复写式非易失性存储器模块406中选择用以执行此第一数据整并操作的至少一实体单元(亦称为至少一第一实体单元)与执行下一个数据整并操作gc2(亦称为第二数据整并操作gc2)的至少一实体单元(亦称为至少一第二实体单元)。例如,在此范例实施例中,存储器管理电路502选择至少一第一实体单元710(0)~710(3)作为第一数据整并操作gc1的来源节点,以及选择至少一第二实体单元810(0)~810(3)作为第二数据整并操作gc2的来源节点。必须了解的是,本发明并不限制存储器管理电路502所选择的作为来源节点的实体单元的数目,例如,在另一范例实施例中,所选择的至少一第一实体单元与至少一第二实体单元可分别大于或小于4个。[0078]接着,在第一数据整并操作gc1的第二阶段s2中,存储器管理电路502会从可复写式非易失性存储器模块406中读取映射信息(亦称为第一映射信息),在此,第一映射信息例如是包含至少一第一实体单元710(0)~710(3)的逻辑至实体映射信息的逻辑至实体映射表t0~t4。并且,存储器管理电路502会根据此些逻辑至实体映射表t0~t4识别至少一第一实体单元710(0)~710(3)中的有效数据(亦称为第一有效数据)。[0079]在第一数据整并操作gc1的第三阶段s3中,存储器管理电路502会根据逻辑至实体映射表t0~t4将从至少一第一实体单元710(0)~710(3)中收集的第一有效数据复制到作为目标节点的至少一实体单元720(0)(亦称为至少一第三实体单元720(0))。必须了解的是,本发明并不限制存储器管理电路502在第一阶段s1所选择的作为目标节点的实体单元的数目,例如,所选择的至少一第三实体单元可大于1个。[0080]在至少一第一实体单元710(0)~710(3)中的第一有效数据被复制到至少一实体单元720(0)之后,由于对应于至少一第一实体单元710(0)~710(3)的逻辑单元的数据已更动,因此在第一数据整并操作gc1的第四阶段s4中,存储器管理电路502会更新第一映射信息(即,逻辑至实体映射表t0~t4),例如,逻辑至实体映射表t0~t4被更新为逻辑至实体映射表t0′~t4′。[0081]需注意的是,在第一数据整并操作gc1中,存储器管理电路502还会根据第一映射信息识别下一个数据整并操作(即,第二数据整并操作gc2)的来源节点的至少一第二实体单元810(0)~810(3)中的有效数据(亦称为第二有效数据)。例如,在此范例实施例中,存储器管理电路502是在第一数据整并操作gc1的第四阶段s4中,根据更新的第一映射信息(即,逻辑至实体映射表t0′~t4′)识别至少一第二实体单元810(0)~810(3)中的第二有效数据。然而,本发明并不限于此,存储器管理电路502亦可以在第一数据整并操作gc1的其他的阶段中识别作为第二数据整并操作gc2的来源节点的至少一第二实体单元810(0)~810(3)中的第二有效数据。例如,在另一范例实施例中,存储器管理电路502可在第一数据整并操作gc1的第二阶段s2中,根据逻辑至实体映射表t0~t4识别至少一第一实体单元710(0)~710(3)中的第一有效数据的同时,根据逻辑至实体映射表t0~t4识别至少一第二实体单元810(0)~810(3)中的第二有效数据。[0082]特别是,在此范例实施例中,由于上述存储器管理电路502在第一数据整并操作gc1的第二阶段s2中,所读取的包含至少一第一实体单元710(0)~710(3)的逻辑至实体映射信息的第一映射信息亦包含识别至少一第二实体单元810(0)~810(3)中第二有效数据所需的所有的逻辑至实体映射信息。因此,存储器管理电路502根据逻辑至实体映射表t0~t4或更新的逻辑至实体映射表t0′~t4′即可识别出至少一第二实体单元810(0)~810(3)中所有的有效数据(即,第二有效数据)。具体而言,存储器管理电路502会将所识别的第二有效数据的存储地址记录于一有效数据地址表。换言之,有效数据地址表用以反应出至少一第二实体单元810(0)~810(3)中的第二有效数据的存储地址。[0083]请继续参照图7a,存储器管理电路502在第一数据整并操作gc1结束后,进入下一个数据整并操作(即,第二数据整并操作gc2)时,即可直接根据在第一数据整并操作gc1中所识别的第二有效数据,将从至少一第二实体单元810(0)~810(3)中收集的第二有效数据复制到作为来源节点的至少一实体单元(亦称为至少一第四实体单元)。更详细地说,在第二数据整并操作gc2的第一阶段s1中的至少一第二实体单元810(0)~810(3)为在第一数据整并操作gc1中所预先选择的来源节点,并且在此范例实施例中,由于在第一数据整并操作gc1中所记录的有效数据地址表记录有至少一第二实体单元810(0)~810(3)中的所有的有效数据(即,第二有效数据),因此存储器管理电路502在第二数据整并操作gc2的第三阶段s3中,可仅根据此有效数据地址表将至少一第二实体单元810(0)~810(3)中的第二有效数据直接复制到至少一第四实体单元820(0)。由此可知,在此第二数据整并操作gc2中,用以识别来源节点的有效数据的第二阶段s2可被省去,亦即,存储器管理电路502不需执行识别至少一第二实体单元810(0)~810(3)中的第二有效数据的操作。换言之,通过本发明的数据整并方法可达到在一个数据整并操作中,不需执行读取作为目前数据整并操作的来源节点的实体单元的逻辑至实体映射表以识别有效数据的操作,由此可确实地减少在数据整并操作中对于存储器存储装置的存取次数。[0084]更具体而言,在图7a的范例实施例的情况中,存储器管理电路502在第一数据整并操作gc1所读取的至少一第一实体单元710(0)~710(3)的第一映射信息(即,逻辑至实体映射表t0~t4)的逻辑至实体映射范围包含第二数据整并操作gc2的至少一第二实体单元810(0)~810(3)中所有有效数据(即,第二有效数据)所对应的逻辑至实体映射信息的范围。因此,在第二数据整并操作gc2中原本需读取的5个逻辑至实体映射表的操作可完全被省略。在另一范例实施例中,倘若存储器管理电路502在第一数据整并操作gc1所读取的至少一第一实体单元的逻辑至实体映射表的数量为100个,而此100个逻辑至实体映射表中的80个逻辑至实体映射表可用于识别第二数据整并操作gc2的至少一第二实体单元中所有的有效数据,则通过本发明的数据整并方法可达到在一个数据整并操作(例如,第二数据整并操作gc2)中省略从可复写式非易失性存储器模块406读取80个逻辑至实体映射表的操作,由此减少在数据整并操作中对于存储器存储装置的存取次数。[0085]在本发明的另一范例实施例中,说明在一个数据整并操作中所读取的来源节点的实体单元的映射信息仅亦包含下一个数据整并操作中来源节点的实体单元的一部分的映射信息的情况。请参照图7b,存储器管理电路502在启动第一数据整并操作gc1后的第一阶段s1中,从可复写式非易失性存储器模块406中选择用以执行此第一数据整并操作的至少一第一实体单元710(0)~710(3)与执行下一个数据整并操作gc2(即,第二数据整并操作gc2)的至少一第二实体单元810(4)~810(7)。类似地,在此范例实施例中,本发明亦不限制存储器管理电路502所选择的作为来源节点的实体单元的数目。[0086]接着,在第一数据整并操作gc1的第二阶段s2中,存储器管理电路502会从可复写式非易失性存储器模块406中读取包含至少一第一实体单元710(0)~710(3)的逻辑至实体映射信息的第一映射信息,例如,第一映射信息包括逻辑至实体映射表t0~t4。并且,存储器管理电路502会根据此些逻辑至实体映射表t0~t4识别至少一第一实体单元710(0)~710(3)中的第一有效数据。[0087]在第一数据整并操作gc1的第三阶段s3中,存储器管理电路502会根据逻辑至实体映射表t0~t4将从至少一第一实体单元710(0)~710(3)中收集的第一有效数据复制到作为目标节点的至少一第三实体单元720(0)。在此,本发明亦不限制存储器管理电路502所选择的作为目标节点的实体单元的数目。在至少一第一实体单元710(0)~710(3)中的第一有效数据被复制到至少一实体单元720(0)之后,由于对应于至少一第一实体单元710(0)~710(3)的逻辑单元的数据已更动,因此在第一数据整并操作gc1的第四阶段s4中,存储器管理电路502会将逻辑至实体映射表t0~t4更新为逻辑至实体映射表t0′~t4′。[0088]在此范例实施例中,上述存储器管理电路502在第一数据整并操作gc1的第二阶段s2中,所读取的包含至少一第一实体单元710(0)~710(3)的逻辑至实体映射信息的第一映射信息仅包含识别至少一第二实体单元810(4)~810(7)中第二有效数据的一部分(亦称为第一部分)所需的逻辑至实体映射信息。例如,在第一数据整并操作gc1的第四阶段s4中,存储器管理电路502根据更新的逻辑至实体映射表t1′、t2′、t4′可识别出至少一第二实体单元810(4)~810(7)中第二有效数据的第一部分,并且存储器管理电路502会将所识别的第二有效数据的第一部分的存储地址记录于有效数据地址表。在此,有效数据地址表用以反应出至少一第二实体单元810(4)~810(7)中的第二有效数据的第一部分的存储地址。[0089]请继续参照图7b,在第一数据整并操作gc1结束后,进入下一个数据整并操作(即,第二数据整并操作gc2)时,由于在第一数据整并操作gc1中所记录的有效数据地址表仅记录有至少一第二实体单元810(4)~810(7)中的有第二有效数据的第一部分,因此在第二数据整并操作gc2的第三阶段s2中,存储器管理电路502会从可复写式非易失性存储器模块406中读取对应至少一第二实体单元810(4)~810(7)的映射信息(亦称为第二映射信息),在此,第二映射信息仅包含识别至少一第二实体单元810(4)~810(7)中第二有效数据的另一部分(亦称为第二部分)所需的逻辑至实体映射信息,例如逻辑至实体映射表t5、t6。换言之,由于第一映射信息仅包含识别至少一第二实体单元810(4)~810(7)中第二有效数据的第一部分所需的逻辑至实体映射信息,因此上述第一映射信息的逻辑至实体映射范围不包含第二映射信息的逻辑至实体映射范围。此外,在此范例实施例中,第二有效数据的第一部分与第二有效数据的第二部分的总和为至少一第二实体单元810(4)~810(7)中所有的有效数据。[0090]之后,在第二数据整并操作gc2的第三阶段s3中,存储器管理电路502可根据上述有效数据地址表与从逻辑至实体映射表t5、t6,将至少一第二实体单元810(4)~810(7)中的所有的有效数据(即,第二有效数据的第一部分与第二有效数据的第二部分)复制到至少一第四实体单元820(0),并且类似地,在第二数据整并操作gc2的第三阶段s4中,存储器管理电路502会更新第二映射信息(即,逻辑至实体映射表t5、t6),例如,逻辑至实体映射表t5、t6被更新为逻辑至实体映射表t5′、t6′。[0091]基于上述可知,可用以识别至少一第二实体单元810(4)~810(7)中的第二有效数据的逻辑至实体映射表包括5个逻辑至实体映射表t1、t2、t4、t5、t6(或者逻辑至实体映射表t1′、t2′、t4′、t5、t6),其中逻辑至实体映射表t1、t2、t4(或者逻辑至实体映射表t1′、t2′、t4′)中属于第二有效数据的第一部分的逻辑至实体映射信息已在第一数据整并操作gc1中被记录于有效数据地址表中。因此在第二数据整并操作gc2的第二阶段s2中原本需读取的5个逻辑至实体映射表的操作可被省略为仅读取2个逻辑至实体映射表,由此可相对地减少在数据整并操作中对于存储器存储装置的存取次数。[0092]在另一范例实施例中,倘若存储器管理电路502在第一数据整并操作gc1所读取的至少一第一实体单元的逻辑至实体映射表的数量为100个,而此100个逻辑至实体映射表中的60个逻辑至实体映射表可用于识别第二数据整并操作gc2的至少一第二实体单元中有效数据的一部分,且至少一第二实体单元中有效数据的另一部分尚需由另外40个逻辑至实体映射表来识别,则通过本发明的数据整并方法可达到在一个数据整并操作(例如,第二数据整并操作gc2)中省略从可复写式非易失性存储器模块406中读取60个逻辑至实体映射表的操作,即,所需读取的逻辑至实体映射表的数目(40)可少于在此数据整并操作中原本所需读取的逻辑至实体映射表的数目(100)的一半以上,由此减少在数据整并操作中对于存储器存储装置的存取次数。[0093]通过本发明的数据整并操作中的在一个数据整并操作中预先选择下一个数据整并操作中来源节点并预先识别所述来源节点的有效数据的机制,可有效减少在数据整并操作中需要载入的逻辑至实体映射表的数目,进而减少存储器管理电路执行数据整并操作的次数。由此可有效减少对图4的可复写式非易失性存储器模块406的存取次数,更提升存储器存储装置的整体运作效能。[0094]图8是根据本发明的一范例实施例所示出的数据整并方法的流程图。请参照图8,在步骤s801中,存储器管理电路502启动第一数据整并操作,并从可复写式非易失性存储器模块中的实体单元中选择用以执行所述第一数据整并操作的至少一第一实体单元与执行第二数据整并操作的至少一第二实体单元。在步骤s803中,存储器管理电路502在所述第一数据整并操作中,从所述可复写式非易失性存储器模块中读取第一映射信息,并根据所述第一映射信息将从所述至少一第一实体单元中收集的第一有效数据复制到所述实体单元中的至少一第三实体单元。在步骤s805中,存储器管理电路502在所述第一数据整并操作中,根据所述第一映射信息识别所述至少一第二实体单元中的第二有效数据。在步骤s807中,存储器管理电路502启动所述第二数据整并操作,将从所述至少一第二实体单元中收集的所述第二有效数据复制到所述实体单元中的至少一第四实体单元。[0095]然而,图8中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图8中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。[0096]综上所述,在本发明的范例实施例中,提出的数据整并方法、存储器存储装置与存储器控制电路单元,通过在目前的数据整并操作中预先选择下一个数据整并操作中的来源节点并预先识别所述来源节点的有效数据,使下一个数据整并操作中存取来源节点所使用的逻辑至实体映射表的读取操作可被省略。如此一来,数据整并操作中存储器存储装置的存取次数可被有效减少,进而延长存储器存储装置的使用寿命。特别是,在来源节点所对应的逻辑至实体映射表的数目庞大且与前一次的数据整并操作所使用的逻辑至实体映射表重复率高的情况下,通过本发明的数据整并方法,可减少在数据整并操作中需要载入的逻辑至实体映射表的数目与存储器管理电路执行数据整并操作的次数,进而提升存储器存储装置的整体运作效能。虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
:中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。[0097]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1