有效数据合并方法、存储器控制器与存储器存储装置与流程

文档序号:11154191阅读:681来源:国知局
本发明是有关于一种用于可复写式非易失性存储器的有效数据合并方法、存储器控制器与存储器存储装置。
背景技术
::数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。快闪存储器模块具有多个物理擦除单元且每一物理擦除单元具有多个物理编程单元,其中在物理擦除单元中写入数据时必须依据物理编程单元的顺序写入数据。此外,已被写入数据的物理编程单元需先被擦除后才能再次用于写入数据。特别是,物理擦除单元为擦除的最小单位,并且物理编程单元为编程(也称写入)的最小单元。因此,在快闪存储器模块的管理中,物理擦除单元会被区分为数据区与闲置区。数据区的物理擦除单元是用以存储主机系统所存储的数据。具体来说,存储器存储装置中的存储器管理电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映射至数据区的物理擦除单元的物理编程单元。也就是说,快闪存储器模块的管理上数据区的物理擦除单元是被视为已被使用的物理擦除单元(例如,已存储主机系统所写入的数据)。例如,存储器管理电路会使用逻辑地址-物理地址映射表(logicaladdress-physicaladdressmappingtable)来记载逻辑页面与数据区的物理编程单元的映射关系。闲置区的物理擦除单元是用以轮替数据区中的物理擦除单元。具体来说,如上所述,已被写入数据的物理擦除单元必须被擦除后才可再次用于写入数据,因此,闲置区的物理擦除单元是被设计用于写入更新数据以替换映射逻辑区块的物理擦除单元。基此,在闲置区中的物理擦除单元为空或者可用于写入数据的物理擦除单元。在一般的写入操作中,存储器管理电路会将更新数据写入至闲置区中的一物理擦除单元中(也称为,作动物理擦除单元),并在适当时机,例如主机系统处于一段闲置时间时,存储器管理电路才会载入对应的逻辑地址-物理地址映射表以进行逻辑页面与物理编程单元间映射信息的更新,并将此作动物理擦除单元关联至数据区。特别是,在具有整理表的存储器存储装置中,所述整理表可用于记录数据区中的特殊态样数据与逻辑存取地址(或逻辑页面)之间的一对应信息。具体来说,数据区中的各个物理擦除单元的物理编程单元可以用于存储来自主机系统的写入数据,而所述写入数据可以是一般的数据或特殊态样数据。然而需注意的是,在上述具有整理表的存储器存储装置中,当闲置区中空的物理擦除单元的个数为非大于预先定义值时,存储器管理电路会执行有效数据合并程序。具体来说,当闲置区中闲置的物理擦除单元的个数为非大于预先定义值时,代表闲置区中可用于写入的物理擦除单元已不够用。此时,存储器管理电路会先对应地将整理表中的信息存储至可复写式非易失性存储器模块中。之后,存储器管理电路会在数据区中选择一或多个物理擦除单元,并将所选择的一或多个物理擦除单元中的有效数据复制至闲置区的一物理擦除单元中。之后,存储器管理电路对数据区中所选择的一或多个物理擦除单元执行一擦除操作,并将此些物理擦除单元关联至闲置区,并将闲置区中存有上述有效数据的物理擦除单元关联至数据区。在执行完上述有效数据合并程序后,倘若主机系统欲存取所述特殊态样数据,存储器管理电路会根据来自主机系统的逻辑存取地址,从可复写式非易失性存储器模块中找出对应所述特殊态样数据的字串排列方式,并回应此特殊态样数据的字串排列方式给主机系统。通过上述将特殊态样数据的字串排列方式记录在整理表中,可以让特殊态样数据不用被存储于物理擦除单元中,进而增加物理擦除单元中可用于存储其他一般数据的空间。然而,在上述具有整理表的存储器存储装置中,在执行有效数据合并程序的同时,主机系统仍然可以执行写入操作以将更新数据写入至闲置区中的作动物理擦除单元中。具体来说,当主机系统执行写入操作的同时,存储器管理电路会将数据区中所有的特殊态样数据与逻辑存取地址(或逻辑页面)之间的一对应信息记录至整理表中,并从数据区中选择一或多个物理擦除单元。接着,存储器管理电路会将所选择的一或多个物理擦除单元中的有效数据复制至闲置区中的N个物理擦除单元。然后,存储器管理电路对数据区中所选择的一或多个物理擦除单元执行擦除操作,并将此些物理擦除单元关联至闲置区。最后,存储器管理电路会将闲置区中存有所述有效数据的N个物理擦除单元关联至数据区,以完成有效数据合并程序。必须注意的是,N是一非零的正整数,N是代表在执行完上述有效数据合并程序时,闲置区中所需用于写入来自数据区的有效数据的物理擦除单元的数目的最小值,其可以使得在有效数据合并程序结束后产生一额外空的物理擦除单元于闲置区中。也就是说,对应于主机系统的写入操作所使用的一个作动物理擦除单元,存储器管理电路可以通过将数据区中所选择的一或多个物理擦除单元中的有效数据写入至闲置区中的N个物理擦除单元,藉以在执行上述有效数据合并程序后产生一个额外空的物理擦除单元于闲置区中,以维持闲置区中空的物理擦除单元的数目。也就是说,当N越小时,代表在有效数据合并程序中,使用闲置区中较少的物理擦除单元存储来自数据区的有效数据即可产生一额外空的物理擦除单元于闲置区中。换句话说,当N越小时,代表数据区中被选择用于执行有效数据合并程序的物理擦除单元中的有效数据(validdata)的数目越少,存储器管理电路复制有效数据的数量较少,对于存储器管理电路的效能来说相对较佳;相反地,当N越大时,代表在有效数据合并程序中,使用闲置区中较多的物理擦除单元存储来自数据区的有效数据,才能产生一额外空的物理擦除单元于闲置区中。换句话说,当N越大时,代表数据区中被选择用于执行有效数据合并程序的物理擦除单元中的有效数据的数目越多,存储器管理电路复制有效数据的数量较多,对于存储器管理电路的效能来说相对较差。然而,由于在每次执行有效数据合并时,存储器管理电路会对应地将整理表中所有的特殊态样数据与逻辑存取地址(或逻辑页面)之间的一对应信息 存储至可复写式非易失性存储器中,而当N的值越小时,反而会造成频繁地存储整理表,进而降低存储器管理电路的效能的问题。因此,如何在执行有效数据合并程序时,减少存储整理表的次数以提升存储器管理电路的效能,是本领域技术人员所致力的目标。技术实现要素:本发明提供一种有效数据合并方法、存储器控制器与存储器存储装置,其能够有效地降低在执行有效数据合并程序时整理表的存储次数。本发明的一范例实施例提出一种有效数据合并方法,此方法适用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多个物理擦除单元,每一物理擦除单元具有多个物理编程单元,其中物理擦除单元至少被分组为一数据区与一闲置区。所述有效数据合并方法包括:将数据区中的物理擦除单元至少分组至一第一群组与一第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的一整理表未被存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中;从第二群组中选择一第一物理擦除单元;将第一物理擦除单元中的有效数据复制至闲置区的物理擦除单元之中的一第二物理擦除单元,并对第一物理擦除单元进行擦除操作。在本发明的一范例实施例中,在上述从第二群组中选择第一物理擦除单元的步骤包括:判断第二群组的物理擦除单元的数目是否等于0;倘若第二群组的物理擦除单元的数目等于0时,将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组;以及倘若第二群组的物理擦除单元的数目不等于0时,从第二群组中选择其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,在上述从第二群组中选择第一物理擦除单元的步骤包括:记录第二群组中的每一物理擦除单元的无效数据数目;倘若第二群组中的每一物理擦除单元的无效数据数目都非大于一预定值时,将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组; 以及倘若第二群组中的物理擦除单元之中的其中一个物理擦除单元的无效数据数目大于所述预定值时,从第二群组中选择所述其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,上述有效数据合并方法还包括:执行写入操作以将写入数据写入至物理擦除单元中的第三物理擦除单元;以及将所述第三物理擦除单元分组至第一群组。在本发明的一范例实施例中,所述预定值为每一物理擦除单元中的物理编程单元的数目的五分之一。在本发明的一范例实施例中,所述特殊态样数据的每一个比特都为零。本发明一范例实施例提供一种用于控制可复写式非易失性存储器模块的存储器控制器,其中可复写式非易失性存储器模块具有多个物理擦除单元,每一物理擦除单元具有多个物理编程单元,其中所述物理擦除单元至少被分组为一数据区与一闲置区。此存储器控制器包括:用以电性连接至主机系统的主机接口;用以电性连接至可复写式非易失性存储器模块的存储器接口;以及电性连接至主机接口与存储器接口的存储器管理电路。存储器管理电路用以将数据区中的物理擦除单元至少分组至一第一群组与一第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的一整理表未被存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中。此外,存储器管理电路还用以从第二群组中选择一第一物理擦除单元,并将第一物理擦除单元中的有效数据复制至闲置区的物理擦除单元之中的一第二物理擦除单元,并对第一物理擦除单元进行擦除操作。在本发明的一范例实施例中,其中在上述存储器管理电路从第二群组中选择第一物理擦除单元的运作中,存储器管理电路还用以判断第二群组的物理擦除单元的数目是否等于0;倘若第二群组的物理擦除单元的数目等于0时,存储器管理电路将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组;以及倘若第二群组的物理擦除单元的数目不等于0时,存储器管理电路从第二群组中选择其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,其中在上述存储器管理电路从第二群组中选择第一物理擦除单元的运作中,存储器管理电路记录第二群组中的每一物理擦除单元的无效数据数目;倘若第二群组中的每一物理擦除单元的无效数据数目都非大于一预定值时,存储器管理电路将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组;以及倘若第二群组中的物理擦除单元之中的其中一个物理擦除单元的无效数据数目大于所述预定值时,存储器管理电路从第二群组中选择所述其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,存储器管理电路还用以执行写入操作以将写入数据写入至物理擦除单元中的第三物理擦除单元,并将所述第三物理擦除单元分组至第一群组。在本发明的一范例实施例中,所述预定值为每一物理擦除单元中的物理编程单元的数目的五分之一。在本发明的一范例实施例中,所述特殊态样数据的每一个比特都为零。本发明的一范例实施例提供一种存储器存储装置,其包括:用以电性连接至主机系统的连接器、可复写式非易失性存储器模块与存储器控制器。可复写式非易失性存储器模块具有多个物理擦除单元且每一物理擦除单元具有多个物理编程单元。存储器控制器电性连接至连接器与可复写式非易失性存储器模块,存储器控制器用以将数据区中的物理擦除单元至少分组至一第一群组与一第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的一整理表未被存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中。此外,存储器控制器还用以从第二群组中选择一第一物理擦除单元,并将第一物理擦除单元中的有效数据复制至闲置区的物理擦除单元之中的一第二物理擦除单元,并对第一物理擦除单元进行擦除操作。在本发明的一范例实施例中,其中在上述存储器控制器从第二群组中选择第一物理擦除单元的运作中,存储器控制器判断第二群组的物理擦除单元的数目是否等于0;倘若第二群组的物理擦除单元的数目等于0时,存储器控制器将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可 复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组;以及倘若第二群组的物理擦除单元的数目不等于0时,存储器控制器从第二群组中选择其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,其中在上述存储器控制器从第二群组中选择第一物理擦除单元的运作中,存储器控制器记录第二群组中的每一物理擦除单元的无效数据数目;倘若第二群组中的每一物理擦除单元的无效数据数目都非大于一预定值时,存储器控制器将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中,并将第一群组中的物理擦除单元重新分组至第二群组;以及倘若第二群组中的物理擦除单元之中的其中一个物理擦除单元的无效数据数目大于所述预定值时,存储器控制器从第二群组中选择所述其中一个物理擦除单元作为第一物理擦除单元。在本发明的一范例实施例中,存储器控制器还用以执行写入操作以将写入数据写入至物理擦除单元中的第三物理擦除单元,并将所述第三物理擦除单元分组至第一群组。在本发明的一范例实施例中,所述预定值为每一物理擦除单元中的物理编程单元的数目的五分之一。在本发明的一范例实施例中,所述特殊态样数据的每一个比特都为零。基于上述,本发明的重点在于,存储器控制器(或存储器管理电路)将数据区中的物理擦除单元区分为第一群组与第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的一整理表未被存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中;当在执行有效数据合并程序时,存储器控制器(或存储器管理电路)仅从第二群组中挑选用于执行有效数据合并程序的物理擦除单元,藉以在执行有效数据合并程序时减少整理表的存储,以解决在有效数据合并程序时频繁地存储整理表的问题。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;图2是本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;图3是本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;图4是本发明的一范例实施例所示出的存储器存储装置的概要方块图;图5是根据一范例实施例所示出的存储器控制器的概要方块图;图6与图7是根据一范例实施例所示出的管理物理擦除单元的范例示意图;图8A~图9B是示出数据写入与更新整理表的简化范例;图10A~图13B是示出有效数据合并程序与存储整理表的简化范例;图14是根据一范例实施例所示出的有效数据合并方法的流程图。附图标记说明:10:存储器存储装置;11:主机系统;110:系统总线;111:处理器;112:随机存取存储器;113:只读存储器;114:数据传输接口;12:I/O装置;20:主机板;201:随身碟;202:记忆卡;203:固态硬盘;204:无线存储器存储装置;205:全球定位系统模块;206:网络接口卡;207:无线传输装置;208:键盘;209:屏幕;210:喇叭;30:存储器存储装置;31:主机系统;32:SD卡;33:CF卡;34:嵌入式存储装置;341:嵌入式多媒体卡;342:嵌入式多芯片封装存储装置;102:连接器;104:存储器控制器;106:可复写式非易失性存储器模块;202:存储器管理电路;204:主机接口;206:存储器接口;208:缓冲存储器;210:电源管理电路;212:错误检查与校正电路;410(0)~410(N):物理擦除单元;502:数据区;502a:第一群组;502b:第二群组;504:闲置区;506:系统区;508:取代区;LBA(0)~LBA(H):逻辑单元;LZ(0)~LZ(M):逻辑区域;600:逻辑-整理表;SD1~SD3:特殊态样数据;ID1~ID6:一般数据;S1401、S1403、S1405、S1407、S1409、S1411、S1413:步骤。具体实施方式一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。图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可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,简称:eMMC)341和/或嵌入式多芯片封装存储装置(embeddedMultiChipPackage,简称:eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。图4是本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。在本范例实施例中,连接器102是兼容于串行高级技术附件(SerialAdvancedTechnologyAttachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并行高级技术附件(ParallelAdvancedTechnologyAttachment,简称:PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,简称:IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,简称:PCIExpress)标准、通用序列总线(UniversalSerialBus,简称:USB)标准、安全数字(SecureDigital,简称:SD)接口标准、超高速一代(UltraHighSpeed-I,简称:UHS-I)接口标准、超高速二代(UltraHighSpeed-II,简称:UHS-II)接口标准、记忆棒(MemoryStick,简称:MS)接口标准、多芯片封装(Multi-ChipPackage)接口标准、多媒体存储卡(MultiMediaCard,简称:MMC)接口标准、嵌入式多媒体存储卡(EmbeddedMultimediaCard,简称eMMC)接口标准、通用快闪存储器(UniversalFlashStorage,简称:UFS)接口标准、嵌入式多芯片封装(embeddedMultiChipPackage,简称:eMCP)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、集成式驱动电子接口(IntegratedDeviceElectronics,简称:IDE)标准或其他适合的标准。连接器102可与存储器控制器104封装在一个芯片中,或者连接器102是布设于一包含存储器控制器104的芯片外。存储器控制器104用以执行以硬件形式或软件形式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块106具有物理擦除单元410(0)~410(N)。例如,物理擦除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理擦除单元分别具有复数个物理编程单元,其中属于同一个物理擦除单元的物理编程单元可被独立地写入且被同时地擦除。然而,必须了解的是,本发明不限于此,每一物理擦除单元是可由64个物理编程单元、256个物理编程单元或其他任意个物理编程单元所组成。更详细来说,物理擦除单元为擦除的最小单位。也即,每一物理擦除单元含有最小数目之一并被擦除的存储单元。物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据比特区与冗余比特区。数据比特区包含多个物理存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理编程单元的数据比特区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理擦除单元为物理区块,并且物理编程单元为物理页面或物理扇区,但本发明不以此为限。在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevelCell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(SingleLevelCell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比 特数据的快闪存储器模块)、复数阶存储单元(TrinaryLevelCell,简称:TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。图5是根据一范例实施例所示出的存储器控制器的概要方块图。请参照图5,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与擦除等运作。在本范例实施例中,存储器管理电路202的控制指令是以软件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与擦除等运作。在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的物理擦除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性 存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器擦除电路用以对可复写式非易失性存储器模块106下达擦除指令以将数据从可复写式非易失性存储器模块106中擦除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是兼容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会通过存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。在本发明一范例实施例中,存储器控制器104还包括缓冲存储器208、电源管理电路210与错误检查与校正电路212。缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块106的数据。电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器存储装置10的电源。错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统11中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,简称:ECCCode),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106 中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。图6与图7是根据一范例实施例所示出的管理物理擦除单元的范例示意图。请参照图6,存储器控制器104(或存储器管理电路202)会将物理擦除单元410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。逻辑上属于数据区502与闲置区504的物理擦除单元是用以存储来自于主机系统11的数据。具体来说,数据区502的物理擦除单元是被视为已存储数据的物理擦除单元,而闲置区504的物理擦除单元是用以替换数据区502的物理擦除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取物理擦除单元,并且将数据写入至所提取的物理擦除单元中,以替换数据区502的物理擦除单元。逻辑上属于系统区506的物理擦除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理擦除单元数、每一物理擦除单元的物理编程单元数等。逻辑上属于取代区508中的物理擦除单元是用于坏物理擦除单元取代程序,以取代损坏的物理擦除单元。具体来说,倘若取代区508中仍存有正常的物理擦除单元并且数据区502的物理擦除单元损坏时,存储器管理电路202会从取代区508中提取正常的物理擦除单元来更换损坏的物理擦除单元。特别是,数据区502、闲置区504、系统区506与取代区508的物理擦除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,物理擦除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的物理擦除单元损坏而被取代区508的物理擦除单元取代时,则原本取代区508的物理擦除单元会被关联至闲置区504。请参照图7,存储器控制器104(或存储器管理电路202)会配置逻辑单元LBA(0)~LBA(H)以映射数据区502的物理擦除单元,其中每一逻辑单元具有 多个逻辑页面以映射对应的物理擦除单元的物理编程单元。并且,当主机系统10欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制器104(或存储器管理电路202)会从闲置区504中提取一个物理擦除单元作为作动物理擦除单元以用于写入数据,以轮替数据区502的物理擦除单元。在本发明的范例实施例中,一整理表被配置于缓冲存储器208中。其中,此整理表可以用于记录数据区中的特殊态样数据与逻辑单元LBA(0)~LBA(H)中的逻辑页面(或逻辑地址)间的一对应信息。具体来说,数据区502中的各个物理擦除单元410(0)~410(F-1)的物理编程单元可以用于存储来自主机写入的写入数据,而所述写入数据可以是一般的数据或特殊态样数据,其中所述特殊态样数据可以例如是每一个比特都为零的字串。在适当时机,例如主机系统11处于一段闲置时间或整理表被写满时,存储器控制器104(或存储器管理电路202)会将此整理表中所记录的内容存入可复写式非易失性存储器模块106的系统区506中,以清除缓冲存储器208中整理表的空间。此外,为了解决前述关于在有效数据合并程序时频繁地存储整理表的问题,在本发明的范例实施例中,存储器控制器104(或存储器管理电路202)还会将数据区502中的物理擦除单元410(0)~410(F-1)至少分组至第一群组与第二群组,藉以更有效率地从数据区502中挑选用于执行有效数据合并程序的物理擦除单元,以减少将整理表存储至可复写式非易失性存储器模块106的次数。具体来说,关于数据区502中被分组至第一群组的物理擦除单元,代表记录第一群组的物理擦除单元中的特殊态样数据的整理表尚未被存储于可复写式非易失性存储器模块106中;相反地,关于数据区502中被分组至第二群组的物理擦除单元,代表记录第二群组的物理擦除单元中的特殊态样数据的整理表已被存储于可复写式非易失性存储器模块106中,而存储器控制器104(或存储器管理电路202)会从第二群组中挑选用于执行有效数据合并程序的物理擦除单元,藉以在执行有效数据合并程序时减少整理表的存储次数。图8A~图9B是示出数据写入与更新整理表的简化范例。请同时参照图8A与图8B,在本发明的范例实施例中,数据区502中包括第一群组502a与第二群组502b。为方便说明,假设在图8A的存储器存储装置10的状态中,数据区502中尚未存储来自主机系统11的写入数据,且逻辑单元LBA(0)~LBA(2)的逻辑页面尚未映射至任何物理擦除单元。而闲置 区504具有5个物理擦除单元分别为物理擦除单元410(0)~410(4)。其中,每一物理擦除单元具有3个物理编程单元,并且存储器控制器104(或存储器管理电路202)会判断当闲置区504中闲置的物理擦除单元的个数非大于预先定义值时,存储器控制器104(或存储器管理电路202)会执行有效数据合并程序,以释放更多的存储空间。在本范例实施例中,所述预先定义值为2,也就是说,当闲置区504中仅剩两个空的物理擦除单元时,存储器控制器104(或存储器管理电路202)会执行上述数据合并程序。在图8A的存储器存储装置10的状态中,假设主机系统11欲写入特殊态样数据SD1至逻辑单元LBA(0)的第0个逻辑页面时,存储器控制器104(或存储器管理电路202)会从闲置区504中提取例如物理擦除单元410(0)作为作动物理擦除单元,并且下达写入指令以将此特殊态样数据SD1写入至物理擦除单元410(0)的第0个物理编程单元。存储器控制器104(或存储器管理电路202)会在一物理地址-逻辑地址映射表中记录物理擦除单元410(0)的第0个物理编程单元与逻辑单元LBA(0)的第0个逻辑页面的映射信息。接着,存储器控制器104(或存储器管理电路202)会记录此特殊态样数据SD1与逻辑单元LBA(0)的第0个逻辑页面之间的对应信息于缓冲存储器208的逻辑-整理表600中。具体来说,如图8B所示,假设特殊态样数据SD1为每一个比特都为零的字串(又称为,第一类型),则存储器控制器104(或存储器管理电路202)会在逻辑-整理表600中记录特殊态样数据SD1的特殊态样数据类型为第一类型(即,信息“1”)以及特殊态样数据SD1所映射的逻辑单元LBA(0)的第0个逻辑页面(即,信息“LBA(0)-0”)的对应信息。接着,假设之后主机系统11再分别地写入一般数据ID1与一般数据ID2至逻辑单元LBA(0)的第1个逻辑页面与逻辑单元LBA(0)的第2个逻辑页面时,存储器控制器104(或存储器管理电路202)会下达写入指令以将此一般数据ID1与一般数据ID2继续写入至物理擦除单元410(0)的第1个物理编程单元与物理擦除单元410(0)的第2个物理编程单元。接着,存储器控制器104(或存储器管理电路202)会在物理地址-逻辑地址映射表中记录物理擦除单元410(0)的第1个物理编程单元与逻辑单元LBA(0)的第1个逻辑页面的映射信息,以及记录物理擦除单元410(0)的第2个物理编程单元与逻辑单元LBA(0)的第2个逻辑页面的映射信息。请同时参照图9A与图9B,接续图8A与图8B,在此假设主机系统11的闲置时间超过一预设值时,存储器控制器104(或存储器管理电路202)可以根据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块106中载入逻辑单元LBA(0)的逻辑地址-物理地址映射表至缓冲存储器208中。接着,存储器控制器104(或存储器管理电路202)会更新逻辑单元LBA(0)与物理擦除单元410(0)之间的映射关系。其中,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表,将逻辑单元LBA(0)的第0个逻辑页面映射至物理擦除单元410(0)的第0个物理编程单元、将逻辑单元LBA(0)的第1个逻辑页面映射至物理擦除单元410(0)的第1个物理编程单元以及将逻辑单元LBA(0)的第2个逻辑页面映射至物理擦除单元410(0)的第2个物理编程单元。之后,存储器控制器104(或存储器管理电路202)会将物理擦除单元410(0)关联并分组至数据区502中的第一群组502a,如图9A所示。需注意的是,此时存储器控制器104(或存储器管理电路202)尚未对可复写式非易失性存储器模块106中的物理擦除单元执行有效数据合并程序,且存储于缓冲存储器208中的逻辑-整理表600也尚未被存储至可复写式非易失性存储器模块106中,如图9B所示。图10A~图13B是示出有效数据合并程序与存储整理表的简化范例。请同时参照图10A与图10B,接续图9A与图9B,在此假设主机系统11通过上述数据的写入方式,将特殊态样数据SD2、特殊态样数据SD3以及一般数据ID3分别写入至物理擦除单元410(1)的第0~2个物理编程单元,且存储器控制器104(或存储器管理电路202)载入对应的逻辑地址-物理地址映射表以将逻辑单元LBA(1)的第0~2个逻辑页面分别映射至物理擦除单元410(1)的第0~2个物理编程单元,并将物理擦除单元410(1)关联并分组至数据区502中的第一群组502a。此外,存储器控制器104(或存储器管理电路202)会存储特殊态样数据SD2与逻辑单元LBA(1)的第0个逻辑页面之间的对应信息于缓冲存储器208的逻辑-整理表600中,以及存储特殊态样数据SD3逻辑单元LBA(1)的第1个逻辑页面之间的对应信息于缓冲存储器208的逻辑-整理表600中。具体来说,如图10B所示,假设特殊态样数据SD2为“01”重复排列的字串(又称为,第二类型),则存储器控制器104(或存储器管理电路202)会在逻辑-整理表600中记录特殊态样数据SD2的特殊态样数据类型为第二类型 (即,信息“2”)以及特殊态样数据SD2所映射的逻辑单元LBA(1)的第0个逻辑页面(即,信息“LBA(1)-0”)的对应信息。类似地,假设特殊态样数据SD3为每一个比特都为零的字串(又称为,第一类型),则存储器控制器104(或存储器管理电路202)会在逻辑-整理表600中记录特殊态样数据SD3的特殊态样数据类型为第一类型(即,信息“1”)以及特殊态样数据SD3所映射的逻辑单元LBA(1)的第1个逻辑页面(即,信息“LBA(1)-1”)的对应信息。之后,假设主机系统11也通过上述数据的写入方式,将一般数据ID4、一般数据ID5以及一般数据ID6分别写入至物理擦除单元410(2)的第0~2个物理编程单元,且存储器控制器104(或存储器管理电路202)对应地载入逻辑地址-物理地址映射表以将逻辑单元LBA(2)的第0~2个逻辑页面分别映射至物理擦除单元410(2)的第0~2个物理编程单元,并将物理擦除单元410(2)关联并分组至数据区502中的第一群组502a。需注意的是,此时,由于存储器控制器104(或存储器管理电路202)会判断闲置区504中空的物理擦除单元的个数已非大于预先定义值,存储器控制器104(或存储器管理电路202)会执行有效数据合并程序,以释放更多的存储空间。而在本范例实施例中,所述预先定义值为2,也就是说,在图10A的存储器存储装置10的状态下,由于闲置区504中仅剩下物理擦除单元410(3)以及物理擦除单元410(4)两个空的物理擦除单元,存储器控制器104(或存储器管理电路202)会执行本发明的有效数据合并程序。在执行有效数据合并程序的状态下,存储器控制器104(或存储器管理电路202)首先会判断数据区502的第二群组502b中的物理擦除单元的数目是否等于0。也就是说,存储器控制器104(或存储器管理电路202)首先会判断数据区502的第二群组502b是否为空。请同时参照图11A与图11B,接续图10A与图10B,倘若存储器控制器104(或存储器管理电路202)在图10A与图10B中判断第二群组502b的物理擦除单元的数目等于0时,存储器控制器104(或存储器管理电路202)将记录第一群组502a的物理擦除单元410(0)~410(2)中的特殊态样数据SD1~SD3的逻辑-整理表600从缓冲存储器208存储至可复写式非易失性存储器模块106中,并清空逻辑-整理表600中的信息(如图11B所示)。之后,存储器控制器104(或存储器管理电路202)将第一群组502a中的物理擦除单元 410(0)~410(2)分组至第二群组502b(如图11A所示)。接着,存储器控制器104(或存储器管理电路202)会从数据区502的第二群组502b中选择用于执行有效数据合并的物理擦除单元(也称为,第一物理擦除单元)。请同时参照图12A与图12B,接续图11A与图11B,在本范例实施例中,假设存储器控制器104(或存储器管理电路202)会选择物理擦除单元410(0)与物理擦除单元410(1)来执行有效数据合并程序。必须了解的是,本发明并不对选择用于进行有效数据合并程序的物理擦除单元的方法作限制。例如,在一范例实施例中,存储器控制器104(或存储器管理电路202)可以记录第二群组502b中的每一物理擦除单元的一无效数据数目,并判断第二群组502b中是否有一物理擦除单元的无效数据数目大于预定值,其中所述预定值例如是每一个物理擦除单元中的物理编程单元的数目的五分之一。在一范例实施例中,倘若第二群组502b中的物理擦除单元之中的其中一个物理擦除单元的无效数据数目大于所述预定值时,存储器控制器104(或存储器管理电路202)即可以从第二群组502b中选择无效数据数目大于所述预定值的一个物理擦除单元作为用于执行有效数据合并程序的物理擦除单元。然而,在另一实施例中,倘若第二群组502b中的每一物理擦除单元的无效数据数目都非大于所述预定值时,存储器控制器104(或存储器管理电路202)会再次将记录第一群组502a的物理擦除单元中的特殊态样数据的逻辑-整理表600从缓冲存储器208存储至可复写式非易失性存储器模块106中,并清空逻辑-整理表600中的信息。之后,存储器控制器104(或存储器管理电路202)会将第一群组502a中的物理擦除单元分组至第二群组502b。之后存储器控制器104(或存储器管理电路202)会再次从第二群组502b中选择用于执行有效数据合并程序的物理擦除单元。在本范例实施例中,由于存储器控制器104(或存储器管理电路202)已选择物理擦除单元410(0)与物理擦除单元410(1)来执行有效数据合并程序,且由于逻辑-整理表600中与物理擦除单元410(0)与物理擦除单元410(1)中的特殊态样数据有关的信息已被存储至可复写式非易失性存储器模块106中,故原本用于存储特殊态样数据SD1的物理擦除单元410(0)的第0个物理编程单元、原本用于存储特殊态样数据SD2的物理擦除单元410(1)的第0个物理编 程单元以及原本用于存储特殊态样数据SD3的物理擦除单元410(0)的第1个物理编程单元都会被存储器控制器104(或存储器管理电路202)识别为无效数据。也就是说,在进行有效数据合并程序时,特殊态样数据SD1~SD3不会被视为有效数据,故特殊态样数据SD1~SD3不会被复制。因此,存储器控制器104(或存储器管理电路202)可以将目前物理擦除单元410(0)中的有效数据(即,一般数据ID1与一般数据ID2),分别复制至闲置区504中的例如物理擦除单元410(3)(也称为,第二物理擦除单元)的第0~1个物理编程单元中,以及将物理擦除单元410(1)中的有效数据(即,一般数据ID3)复制至物理擦除单元504的第2个物理编程单元中。接着,存储器控制器104(或存储器管理电路202)会对应地将逻辑单元LBA(0)的第1个逻辑页面重新映射至物理擦除单元410(3)的第0个物理编程单元、将逻辑单元LBA(0)的第2个逻辑页面以重新映射至物理擦除单元410(3)的第1个物理编程单元以及将逻辑单元LBA(1)的第2个逻辑页面重新映射至物理擦除单元410(3)的第2个物理编程单元。此时,存储器控制器104(或存储器管理电路202)会将原本存储于物理擦除单元410(0)以及物理擦除单元410(1)中的所有数据都视为无效数据。请同时参照图13A与图13B,接续图12A与图12B,由于存储器控制器104(或存储器管理电路202)会将原本存储于物理擦除单元410(0)以及物理擦除单元410(1)中的所有数据都视为无效数据,故存储器控制器104(或存储器管理电路202)会对物理擦除单元410(0)以及物理擦除单元410(0)进行擦除操作,并将物理擦除单元410(0)以及物理擦除单元410(0)重新关联至闲置区504中。此外,由于物理擦除单元410(3)中已存储执行有效数据合并程序后的有效数据,且物理擦除单元410(3)中并不包括特殊态样数据,故物理擦除单元410(3)会被分组至数据区502的第二群组502b。通过上述有效数据合并程序,可以增加闲置区504中物理擦除单元的数量,且有效降低逻辑-整理表600的存储次数。具体来说,当存储器控制器104(或存储器管理电路202)执行写入操作以将一写入数据写入至可复写式非易失性存储器模块106的物理擦除单元中的其中之一(也称为,第三物理擦除单元)时,对于刚被写入此写入数据的第三物理擦除单元来说,由于此第三物理擦除单元中关于写入数据的特殊态样数据与逻辑页面(或逻辑地址)间的对应信息仅存储至缓冲存储器208的逻辑-整理表600中而尚未被存储至可复写 式非易失性存储器模块106中,故此第三物理擦除单元会被分组至数据区502中的第一群组502a。而关于第二群组502b中所存储的数据来说,其特殊态样数据与逻辑页面(或逻辑地址)间的对应信息已被存储至可复写式非易失性存储器模块106中,故在执行有效数据合并程序时,存储器控制器104(或存储器管理电路202)只会从第二群组502中选择要用于执行有效数据合并程序的物理擦除单元,藉以减少逻辑-整理表600的存储次数。图14是根据一范例实施例所示出的有效数据合并方法的流程图。请参照图14,首先将该数据区中的物理擦除单元至少分组至第一群组与第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的一整理表未被存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中(步骤S1401)并且,在执行有效数据合并程序时,判断第二群组的物理擦除单元的数目是否等于0(步骤S1403)。倘若第二群组的物理擦除单元的数目等于0时,将记录第一群组的物理擦除单元中的特殊态样数据的整理表存储至可复写式非易失性存储器模块中(步骤S1405),并将第一群组中的物理擦除单元重新分组至第二群组(步骤S1407),并执行步骤S1409。此外,倘若第二群组中的物理擦除单元的数目不等于0时,则直接执行步骤S1409。接着,记录第二群组中的每一物理擦除单元的一无效数据数目(步骤S1409),并判断第二群组中是否有一物理擦除单元的无效数据数目大于预定值(步骤S1411)。倘若第二群组中的每一物理擦除单元的无效数据数目都非大于所述预定值,则返回执行步骤S1405。倘若第二群组中的物理擦除单元之中的其中一个物理擦除单元的无效数据数目大于所述预定值,则从第二群组中选择无效数据数目大于所述预定值的一物理擦除单元(以下称为第一物理擦除单元),并将此第一物理擦除单元中的多个有效数据复制至闲置区的物理擦除单元之中的第二物理擦除单元,并对第一物理擦除单元进行擦除操作(步骤S1413),其中所述有效数据并不包括第一物理擦除单元中的特殊态样数据。综上所述,本发明通过将数据区中的物理擦除单元区分为第一群组与第二群组,其中记录第一群组的物理擦除单元中的特殊态样数据的整理表未被 存储于可复写式非易失性存储器模块中,且记录第二群组的物理擦除单元中的特殊态样数据的一整理表已被存储于可复写式非易失性存储器模块中。此外,当在执行有效数据合并程序时,存储器控制器(或存储器管理电路)仅从第二群组中挑选用于执行有效数据合并程序的物理擦除单元,藉以在执行有效数据合并程序时减少整理表的存储,以解决在有效数据合并程序时频繁地存储整理表的问题。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1