CN106469122B - 有效数据合并方法、存储器控制器与存储器储存装置 - Google Patents
有效数据合并方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN106469122B CN106469122B CN201510498321.3A CN201510498321A CN106469122B CN 106469122 B CN106469122 B CN 106469122B CN 201510498321 A CN201510498321 A CN 201510498321A CN 106469122 B CN106469122 B CN 106469122B
- Authority
- CN
- China
- Prior art keywords
- physical
- mapping table
- erase unit
- logical address
- physical erase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供一种有效数据合并方法、存储器控制器与存储器储存装置。本方法包括:选取一第一物理抹除单元,依据物理地址‑逻辑地址映射表,载入第一逻辑地址‑物理地址映射表。本发法还包括:根据物理地址‑逻辑地址映射表,更新所述第一逻辑地址‑物理地址映射表,根据物理地址‑逻辑地址映射表与第一逻辑地址‑物理地址映射表识别出该第一物理抹除单元中的有效数据。本方法还包括:储存第一逻辑地址‑物理地址映射表,将该有效数据复制到一第二物理抹除单元,并对第一物理抹除单元执行抹除操作。本发明能够有效地降低在执行清除物理地址‑逻辑地址映射表的操作及执行有效数据合并时所造成的延迟。
Description
技术领域
本发明涉及一种用于可复写式非易失性存储器的有效数据合并方法、存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为储存媒体的存储器储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
快闪存储器模块具有多个物理抹除单元且每一物理抹除单元具有多个物理程序化单元(physical page),其中在物理抹除单元中写入数据时必须依据物理程序化单元的顺序写入数据。此外,已被写入数据的物理程序化单元需先被抹除后才能再次用于写入数据。特别是,物理抹除单元为抹除的最小单位,并且物理程序化单元为程序化(也称写入)的最小单元。因此,在快闪存储器模块的管理中,物理抹除单元会被区分为数据区与闲置区。
数据区的物理抹除单元是用以储存主机系统所储存的数据。具体来说,存储器储存装置中的存储器管理电路会将主机系统所存取的逻辑存取地址转换为逻辑区块的逻辑页面并且将逻辑区块的逻辑页面映射至数据区的物理抹除单元的物理程序化单元。也就是说,快闪存储器模块的管理上数据区的物理抹除单元是被视为已被使用的物理抹除单元(例如,已储存主机系统所写入的数据)。例如,存储器管理电路会使用逻辑地址-物理地址映射表(logical address-physical address mapping table)来记载逻辑页面与数据区的物理程序化单元的映射关系。
闲置区的物理抹除单元是用以轮替数据区中的物理抹除单元。具体来说,如上所述,已被写入数据的物理抹除单元必须被抹除后才可再次用于写入数据,因此,闲置区的物理抹除单元是被设计用于写入更新数据以替换映射逻辑区块的物理抹除单元。基此,在闲置区中的物理抹除单元为空或者可用于写入数据的物理抹除单元。
在一般的写入操作中,数据被写入闲置区的物理抹除单元后,存储器储存装置中的存储器管理电路并不会立即更改逻辑地址-物理地址映射表中逻辑页面与物理程序化单元间的映射关系,而是通过储存在缓冲存储器中的一物理地址-逻辑地址映射表(physicaladdress-logical address mapping table),来储存对应于写入操作的映射信息。具体来说,在一写入操作中,存储器管理电路会将更新数据写入至闲置区中的一物理抹除单元中(也称为,作动物理抹除单元),并在物理地址-逻辑地址映射表中纪录关于此写入操作的逻辑页面以及用于储存其更新数据的物理程序化单元两者间的映射信息。在适当时机,例如主机系统处于一段闲置时间或物理地址-逻辑地址映射表被写满时,存储器管理电路才会根据物理地址-逻辑地址映射表中的映射信息,载入对应的逻辑地址-物理地址映射表以进行逻辑页面与物理程序化单元间映射信息的更新。
此外,当闲置区中闲置的物理抹除单元的个数为非大于一预先定义值时,存储器管理电路会执行一有效数据合并程序。具体来说,当闲置区中闲置的物理抹除单元的个数为非大于一预先定义值时,代表闲置区中可用于写入的物理抹除单元已不够用,而存储器管理电路也会通过载入逻辑地址-物理地址映射表来执行数据合并程序,以释放更多的空间给闲置区。
由于物理地址-逻辑地址映射表的储存空间通常为对应于闲置区中被挑选用来写入更新数据的作动物理抹除单元的大小或倍数,因此当物理地址-逻辑地址映射表被写满时,时常伴随着作动物理抹除单元被写入操作的更新数据写满的情况发生。倘若作动物理抹除单元被更新数据写满且闲置区中闲置的物理抹除单元的个数非大于一预先定义值时,存储器管理电路会执行上述的有效数据合并程序。也就是说,在进行有效数据合并程序之前,经常会搭配物理地址-逻辑地址映射表的清除操作以更新逻辑地址-物理地址映射表。由于传统的方法两者为互相独立的机制,在两者皆需载入逻辑地址-物理地址映射表至缓冲存储器中的情况下,可能会有相同的逻辑地址-物理地址映射表被重复载入至缓冲存储器的情形,进而造成主机系统等待回应的时间过长。
发明内容
本发明提供一种有效数据合并方法、存储器控制器与存储器储存装置,其能够有效地降低在执行清除物理地址-逻辑地址映射表的操作及执行有效数据合并时所造成的延迟。
本发明一范例实施例提供一种有效数据合并方法,此方法适用于可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个物理抹除单元,每一物理抹除单元具有多个物理程序化单元,多个逻辑地址-物理地址映射表被储存在可复写式非易失性存储器模块中以记录多个逻辑地址与物理程序化单元之间的映射信息。本有效数据合并方法包括:从物理抹除单元之中选取一第一物理抹除单元;依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表;根据物理地址-逻辑地址映射表,更新第一逻辑地址-物理地址映射表;根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据;将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块;从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的一第二物理抹除单元;以及对第一物理抹除单元执行一抹除操作。
在本发明的一范例实施例中,在上述对第一物理抹除单元执行抹除操作的步骤之前包括:倘若第一物理抹除单元中有储存其他有效数据,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中除了第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与所述第二逻辑地址-物理地址映射表以识别出第一物理抹除单元中的其他有效数据,从第一物理抹除单元中将所识别出的所述其他有效数据复制到物理抹除单元之中的第二物理抹除单元。
在本发明的一范例实施例中,上述的有效数据合并方法还包括在缓冲存储器中建立物理地址-逻辑地址映射表,其中此物理地址-逻辑地址映射表记录物理抹除单元之中的一作动物理抹除单元的物理程序化单元与逻辑地址之中的已更新逻辑地址之间的映射信息,其中所述第一逻辑地址-物理地址映射表是记录有对应已更新逻辑地址的映射信息。
在本发明的一范例实施例中,上述的有效数据合并方法还包括依据物理抹除单元中的有效数据的数量记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述的有效数据合并方法还包括建立有效数据计数表以记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述的有效数据合并方法还包括物理抹除单元至少被分组为一数据区与一闲置区,且闲置区的物理抹除单元用以替换数据区的物理抹除单元以写入数据。
在本发明的一范例实施例中,上述从物理抹除单元之中选取第一物理抹除单元的步骤包括:从数据区中选取第一物理抹除单元,其中此第一物理抹除单元的有效数据计数小于数据区中的其他物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述的有效数据合并方法还包括判断闲置区中的物理抹除单元的数目是否非大于一预先定义值。上述的有效数据合并方法还包括倘若闲置区中的物理抹除单元的数目非大于预先定义值,从物理抹除单元之中选取第一物理抹除单元,依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的所述第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表,更新第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据,并将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块,从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的第二物理抹除单元,并对第一物理抹除单元执行抹除操作;以及倘若闲置区中的物理抹除单元的数目大于预先定义值,依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表,更新所述第一逻辑地址-物理地址映射表。
本发明一范例实施例提供一种用于控制可复写式非易失性存储器模块的存储器控制器,其中可复写式非易失性存储器模块具有多个物理抹除单元,每一物理抹除单元具有多个物理程序化单元,且多个逻辑地址-物理地址映射表被储存在可复写式非易失性存储器模块中以记录多个逻辑地址与物理程序化单元之间的映射信息。此存储器控制器包括:用以电性连接至主机系统的主机接口;用以电性连接至可复写式非易失性存储器模块的存储器接口;以及电性连接至主机接口与存储器接口的存储器管理电路。存储器管理电路用以从物理抹除单元之中选取一第一物理抹除单元,依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表,更新第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据。此外,其中存储器管理电路还用以将第一逻辑地址-物理地址映射表回存至该可复写式非易失性存储器模块,从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的一第二物理抹除单元,并对第一物理抹除单元执行一抹除操作。
在本发明的一范例实施例中,其中在上述存储器管理电路对第一物理抹除单元执行抹除操作的操作之前包括:倘若该第一物理抹除单元中有储存其他有效数据,存储器管理电路还用以从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中除了第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与所述第二逻辑地址-物理地址映射表以识别出第一物理抹除单元中的其他有效数据,从第一物理抹除单元中将所识别出的所述其他有效数据复制到物理抹除单元之中的第二物理抹除单元。
在本发明的一范例实施例中,上述存储器管理电路还用以在缓冲存储器中建立上述物理地址-逻辑地址映射表,其中此物理地址-逻辑地址映射表记录物理抹除单元之中的作动物理抹除单元的物理程序化单元与逻辑地址之中的多个已更新逻辑地址之间的映射信息。并且,上述第一逻辑地址-物理地址映射表是记录有对应已更新逻辑地址的映射信息。
在本发明的一范例实施例中,上述存储器管理电路还用以依据物理抹除单元中的有效数据的数量记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器管理电路还用以建立一有效数据计数表以记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器管理电路还用以将物理抹除单元至少分组为数据区与闲置区,且闲置区的物理抹除单元用以替换该数据区的物理抹除单元以写入数据。
在本发明的一范例实施例中,在上述从物理抹除单元之中选取第一物理抹除单元的操作中,上述存储器管理电路还用以从该数据区中选取此第一物理抹除单元,其中第一物理抹除单元的有效数据计数小于数据区中的其他物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器管理电路还用以判断闲置区中的物理抹除单元的数目是否非大于预先定义值。倘若闲置区中的物理抹除单元的数目非大于预先定义值,存储器管理电路从物理抹除单元之中选取第一物理抹除单元,依据物理地址-逻辑地址映射表从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表更新第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据,将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块,从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的第二物理抹除单元,并对该第一物理抹除单元执行抹除操作。倘若闲置区中的物理抹除单元的数目大于预先定义值,存储器管理电路依据物理地址-逻辑地址映射表从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表更新所述第一逻辑地址-物理地址映射表。
本发明的一范例实施例提供一种存储器储存装置,其包括:用以电性连接至主机系统的连接器、可复写式非易失性存储器模块与存储器控制器。可复写式非易失性存储器模块具有多个物理抹除单元且每一物理抹除单元具有多个物理程序化单元,多个逻辑地址-物理地址映射表被储存在此可复写式非易失性存储器模块中以记录多个逻辑地址与物理程序化单元之间的映射信息。存储器控制器电性连接至连接器与可复写式非易失性存储器模块,存储器控制器用以从物理抹除单元之中选取一第一物理抹除单元并且依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表。此外,存储器控制器还用以根据物理地址-逻辑地址映射表,更新第一逻辑地址-物理地址映射表,并根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据。再者,存储器控制器还用以根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据,并将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块,从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的一第二物理抹除单元,存储器控制器更用以对第一物理抹除单元执行一抹除操作。
在本发明的一范例实施例中,其中上述存储器控制器对第一物理抹除单元执行抹除操作的操作之前包括:倘若第一物理抹除单元中有储存其他有效数据,该存储器管理电路从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中除了第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与所述第二逻辑地址-物理地址映射表以识别出第一物理抹除单元中的其他有效数据,从第一物理抹除单元中将所识别出的所述其他有效数据复制到物理抹除单元之中的第二物理抹除单元。
在本发明的一范例实施例中,上述存储器控制器还用以在缓冲存储器中建立上述物理地址-逻辑地址映射表,其中此物理地址-逻辑地址映射表记录物理抹除单元之中的一作动物理抹除单元的物理程序化单元与逻辑地址之中的已更新逻辑地址之间的映射信息。并且,上述第一逻辑地址-物理地址映射表是记录有对应已更新逻辑地址的映射信息。
在本发明的一范例实施例中,上述存储器控制器更用以依据物理抹除单元中的有效数据的数量记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器控制器还用以建立有效数据计数表以记录每一物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器控制器还用以将物理抹除单元至少分组为数据区与闲置区,且闲置区的物理抹除单元用以替换该数据区的物理抹除单元以写入数据。
在本发明的一范例实施例中,在上述从物理抹除单元之中选取第一物理抹除单元的操作中,上述存储器控制器还用以从该数据区中选取此第一物理抹除单元,其中第一物理抹除单元的有效数据计数小于数据区中的其他物理抹除单元的有效数据计数。
在本发明的一范例实施例中,上述存储器控制器还用以判断闲置区中的物理抹除单元的数目是否非大于预先定义值。倘若闲置区中的物理抹除单元的数目非大于预先定义值,存储器控制器从物理抹除单元之中选取第一物理抹除单元,依据物理地址-逻辑地址映射表从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表更新第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据,将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块,从第一物理抹除单元中将所识别出的有效数据复制到该些物理抹除单元之中的第二物理抹除单元,并对第一物理抹除单元执行抹除操作。倘若闲置区中的物理抹除单元的数目大于预先定义值,存储器控制器依据物理地址-逻辑地址映射表从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,根据物理地址-逻辑地址映射表更新所述第一逻辑地址-物理地址映射表。
基于上述,综上所述,本发明通过分段地载入逻辑地址-物理地址映射表,执行逻辑地址-物理地址映射表映射信息的更新以及执行数据合并程序,以避免相同的逻辑地址-物理地址映射表被重复载入,并有效解决主机系统延迟时间过长的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器储存装置;
图2是根据本发明范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;
图3是根据本发明范例实施例所示出的主机系统与存储器储存装置的示意图;
图4是示出图1所示的存储器储存装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制器的概要方块图;
图6与图7是根据一范例实施例所示出的管理物理区块的范例示意图;
图8A~图8C是示出数据写入的简化范例;
图9A~图9C是示出数据写入的简化范例;
图10A~图10C是示出数据写入的简化范例;
图11A~图11C是示出数据写入的简化范例;
图12A~图12C是示出有效数据合并方法的简化范例;
图13A~图13C是示出有效数据合并方法的简化范例;
图14A~图14C是示出有效数据合并方法的简化范例;
图15是根据一范例实施例所示出的数据管理方法的流程图;
图16是根据另一范例实施例所示出的数据管理方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:随身碟;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式储存装置;
100:存储器储存装置;
102:连接器;
104:存储器控制器;
106:可复写式非易失性存储器模块;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:缓冲存储器;
210:电源管理电路;
212:错误检查与校正电路;
410(0)~410(N):物理抹除单元;
502:数据区;
504:闲置区;
506:系统区;
508:取代区;
LBA(0)~LBA(H):逻辑单元;
LZ(0)~LZ(M):逻辑区域;
600:物理地址-逻辑地址映射表;
700:有效数据计数表;
ID1~ID9:初始数据;
UD1~UD3:更新数据;
S1501、S1503、S1505、S1507、S1509、S1511、S1513、S1515、S1517、S1519、S1521、S1601、S1603、S1605:步骤。
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器储存装置。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称:I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,简称:RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图2所示的随身碟1212、存储卡1214或固态硬盘(Solid StateDrive,简称:SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图3所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是示出图1所示的存储器储存装置的概要方块图。
请参照图4,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于串行高级技术附件(Serial AdvancedTechnology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,简称:IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,简称:PCI Express)标准、通用串行总线(Universal Serial Bus,简称:USB)标准、超高速一代(Ultra High Speed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称:UHS-II)接口标准、安全数字(Secure Digital,简称:SD)接口标准、记忆棒(Memory Stick,简称:MS)接口标准、多媒体储存卡(Multi Media Card,简称:MMC)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元410(0)~410(N)。例如,物理抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理程序化单元,其中属于同一个物理抹除单元的物理程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理程序化单元、256个物理程序化单元或其他任意个物理程序化单元所组成。
更详细来说,物理抹除单元为抹除的最小单位。也即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。每一物理程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个物理存取地址用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理程序化单元的数据比特区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理抹除单元为物理区块,并且物理程序化单元为物理页面或物理扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可储存2个比特数据的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可储存1个比特数据的快闪存储器模块)、多阶存储单元(Trinary Level Cell,简称:TLC)NAND型快闪存储器模块(即,一个记忆胞中可储存3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制器的概要方块图。
请参照图5,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。
在本范例实施例中,存储器管理电路202的控制指令是以固体型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此唯读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以编程型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器208、电源管理电路210与错误检查与校正电路212。
缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。在本范例实施例中,缓冲存储器208还用以储存物理地址-逻辑地址映射表,所述物理地址-逻辑地址映射表用于记录物理抹除单元之中的作动物理抹除单元的物理程序化单元与逻辑地址中的多个已更新逻辑地址之间的映射信息。具体来说,当主机系统1000欲写入更新数据至可复写式非易失性存储器模块106时,存储器管理电路202会将该更新数据储存至可复写式非易失性存储器模块106的闲置区的一作动物理抹除单元中,并在物理地址-逻辑地址映射表中纪录关于此写入操作的逻辑页面以及该作动物理抹除单元中用于储存其更新数据的物理程序化单元两者间的映射信息。
电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称:ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据一范例实施例所示出的管理物理抹除单元的范例示意图。
请参照图6,存储器控制器104(或存储器管理电路202)会将物理抹除单元410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
逻辑上属于数据区502与闲置区504的物理抹除单元是用以储存来自于主机系统1000的数据。具体来说,数据区502的物理抹除单元是被视为已储存数据的物理抹除单元,而闲置区504的物理抹除单元是用以替换数据区502的物理抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取物理抹除单元,并且将数据写入至所提取的物理抹除单元中,以替换数据区502的物理抹除单元。
逻辑上属于系统区506的物理抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。在本范例实施例中,系统区506还用于储存一有效数据计数表,所述有效数据计数表用于记录数据区502中物理抹除单元410(0)~410(F-1)的有效数据计数,其中所述有效数据计数为一物理抹除单元中储存有效数据的物理程序化单元的个数。然而在一范例实施例中,所述有效数据计数表还可以被用于记录可复写式非易失性存储器模块106中所有的物理抹除单元410(0)~410(N)的有效数据计数。
逻辑上属于取代区508中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区508中仍存有正常的物理抹除单元并且数据区502的物理抹除单元损坏时,存储器管理电路202会从取代区508中提取正常的物理抹除单元来更换损坏的物理抹除单元。
特别是,数据区502、闲置区504、系统区506与取代区508的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的物理抹除单元损坏而被取代区508的物理抹除单元取代时,则原本取代区508的物理抹除单元会被关联至闲置区504。
请参照图7,存储器控制器104(或存储器管理电路202)会配置逻辑单元LBA(0)~LBA(H)以映射数据区502的物理抹除单元,其中每一逻辑单元具有多个逻辑页面以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统100欲写入数据至逻辑单元或更新储存于逻辑单元中的数据时,存储器控制器104(或存储器管理电路202)会从闲置区504中提取一个物理抹除单元作为作动物理抹除单元以用于写入数据,以轮替数据区502的物理抹除单元。
为了识别数据每个逻辑单元的数据被储存在哪个物理抹除单元,在本范例实施例中,存储器控制器104(或存储器管理电路202)会记录逻辑单元与物理抹除单元之间的映射关系。并且,当主机系统1000欲在逻辑页面中存取数据时,存储器控制器104(或存储器管理电路202)会确认此逻辑页面所属的逻辑单元,并且在此逻辑单元所映射的物理抹除单元中来存取数据。例如,在本范例实施例中,存储器控制器104(或存储器管理电路202)会在可复写式非易失性存储器模块106中储存逻辑地址-物理地址映射表来记录每一逻辑单元所映射的物理抹除单元,并且当欲存取数据时存储器控制器104(或存储器管理电路202)会将逻辑地址-物理地址映射表载入至缓冲存储器208来维护。
值得一提的是,由于缓冲存储器208的容量有限无法储存记录了所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制器104(或存储器管理电路202)会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址-物理地址映射表。特别是,当存储器控制器104(或存储器管理电路202)欲更新某个逻辑单元的映射信息时,对应此逻辑单元所属的逻辑区域的逻辑地址-物理地址映射表会被载入至缓冲存储器208来被更新。在本范例实施例中,储存所有的逻辑地址-物理地址映射表所需的空间为对应于可复写式非易失性存储器模块106中可用于储存数据的空间的千分之一。也就是说,假设可复写式非易失性存储器模块106的容量为1TB(Terabyte),则储存所有的逻辑地址-物理地址映射表所需的空间为1GB(Gigabyte)。然而,在其他范例实施例中,储存所有的逻辑地址-物理地址映射表所需的空间可以随着可复写式非易失性存储器模块106的容量的不同而改变。
在本范例实施例中,当主机系统1000欲执行写入操作时,存储器控制器104(或存储器管理电路202)会从闲置区504中提取一作动物理抹除单元,并且将包含于来自主机系统1000的写入指令中的数据(也称为更新数据)写入至此作动物理抹除单元中。
具体来说,当存储器储存装置100从主机系统1000接收到写入指令时,来自于主机系统1000之写入指令中的数据可被写入闲置区504中的一作动物理抹除单元中。并且,当此物理抹除单元已被写满时,存储器控制器104(或存储器管理电路202)会再从闲置区504中提取空的物理抹除单元作为另一个作动物理抹除单元,以继续写入对应来自于主机系统1000的写入指令的更新数据。
值得一提的是,当存储器储存装置100属于闲置状态一段时间(例如,30秒未从主机系统1000中接收到任何指令)或者是当闲置区504中空的物理抹除单元的数目非大于一预先定义值时,存储器控制电路单元104(或存储器管理电路302)会对数据区502执行有效数据合并程序,以释放出空的物理抹除单元。在本范例实施例中,所述预先定义值被设定为1。然而,必须了解的是,在其他范例实施例中,预先定义值也可以是其他适当的数值。
图8A~图11C是示出数据写入的简化范例。
为方便说明,在此假设数据区502具有3个物理抹除单元分别为物理抹除单元410(0)~410(2),闲置区504具有2个物理抹除单元分别为物理抹除单元410(3)~410(4)。其中,每一物理抹除单元具有3个物理程序化单元,并且存储器控制器104(或存储器管理电路202)会判断当闲置区504中的闲置的物理抹除单元的个数非大于一预先定义值时,存储器控制器104(或存储器管理电路202)会执行一有效数据合并程序,以释放更多的储存空间。在本范例实施例中,所述预先定义值为1,也就是说,当闲置区504中仅剩一个空的物理抹除单元时,存储器控制器104(或存储器管理电路202)会执行上述数据合并程序。
请同时参照图8A、图8B与图8C,假设在图8A的存储器储存装置100的状态中,逻辑单元LBA(0)~LBA(2)的逻辑页面映射数据区502的物理抹除单元410(0)~410(2)的物理程序化单元,并且闲置区504具有物理抹除单元410(3)~410(4)。也就是说,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表中记录逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系,并且将物理抹除单元410(0)~410(2)的物理程序化单元视为已储存属于逻辑单元LBA(0)~LBA(2)的逻辑页面的数据(即,初始数据ID1~ID9)。特别是,在此范例实施例中,假设目前的逻辑单元LBA(1)的第2个逻辑页面是映射至物理抹除单元410(2)的第0个物理程序化单元,且逻辑单元LBA(2)的第0个逻辑页面是映射至物理抹除单元410(1)的第2个物理程序化单元。此外,存储器控制器104(或存储器管理电路202)会记录闲置区504中可用的物理抹除单元410(3)~410(4),且当主机系统1000执行写入操作时,存储器控制器104(或存储器管理电路202)会记录对应此写入操作的更新数据的映射信息至缓冲存储器208中如图8B所示的物理地址-逻辑地址映射表600。
具体来说,当主机系统1000执行关于一逻辑页面的写入操作时,存储器控制器104(或存储器管理电路202)会将此写入操作对应的更新数据写入从闲置区504选出的作动物理抹除单元中。于此同时,存储器控制器104(或存储器管理电路202)并不会更改逻辑地址-物理地址映射表中逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系,存储器控制器104(或存储器管理电路202)会将作动物理抹除单元中,被用于储存此更新数据的物理程序化单元的地址(也称,物理地址),连同此写入操作所对应的逻辑页面的地址(也称,逻辑地址)记录至图8B中的物理地址-逻辑地址映射表600中。等到物理地址-逻辑地址映射表600被写满后,才会根据物理地址-逻辑地址映射表600中的映射信息(即,更新数据所对应的逻辑地址),载入对应的逻辑地址-物理地址映射表至缓冲存储器208中,以更新逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系。值得一提的是,当存储器储存装置100属于闲置状态一段时间(例如,30秒未从主机系统1000中接收到任何指令)时,存储器控制器104(或存储器管理电路202)也可以根据物理地址-逻辑地址映射表600中的映射信息,载入对应的逻辑地址-物理地址映射表至缓冲存储器208中,以更新逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系。
此外,在本范例实施例中,存储器控制器104(或存储器管理电路202)会建立如图8C中的有效数据计数表700以记录数据区502中每一物理抹除单元410(0)~410(2)的有效数据计数,其中所述有效数据计数为一物理抹除单元中储存有效数据的物理程序化单元的个数。例如,对应于图8A的状态,图8C的有效数据计数表700分别记录了物理抹除单元410(0)、物理抹除单元410(1)以及物理抹除单元410(2)的有效数据计数为3。必须了解的是,在另一范例实施例中,有效数据计数表700可以用于记录可复写式非易失性存储器模块106中每一物理抹除单元的有效数据个数。在本范例实施例中,在存储器储存装置100运作时,有效数据计数表700会被载入至缓冲存储器208中来更新与维护,并且在关机前,存储器控制器104(或存储器管理电路202)会将有效数据计数表700回存至系统区506。
请同时参照图9A、图9B与图9C,假设主机系统1000欲写入更新数据UD1并且更新数据UD1是属于逻辑单元LBA(0)的第2个逻辑页面时,存储器控制器104(或存储器管理电路202)会从闲置区504中提取例如物理抹除单元410(3)做为作动物理抹除单元,并且下达写入指令以将此更新数据UD1写入至物理抹除单元410(3)的第0个物理程序化单元。接着,如图9B所示,存储器控制器104(或存储器管理电路202)会在物理地址-逻辑地址映射表600中记录物理抹除单元410(3)的第0个物理程序化单元(即,信息“410(3)-0”)与逻辑单元LBA(0)的第2个逻辑页面(即,信息“LBA(0)-2”)的映射信息。此外,如图9C所示,存储器控制器104(或存储器管理电路202)还会对应此写入操作,将有效数据计数表700中原本用于储存逻辑单元LBA(0)的第2个逻辑页面的数据的物理抹除单元410(0)的有效数据计数修改为2。
请同时参照图10A、图10B与图10C,接续图9A、图9B与图9C,假设主机系统1000欲再写入更新数据UD2并且更新数据UD2是属于逻辑单元LBA(1)的第0个逻辑页面时,存储器控制器104(或存储器管理电路202)会将此更新数据UD2写入至物理抹除单元410(3)的第1个物理程序化单元。接着如图10B所示,存储器控制器104(或存储器管理电路202)会在物理地址-逻辑地址映射表600中记录物理抹除单元410(3)的第1个物理程序化单元(即,信息“410(3)-1”)与逻辑单元LBA(1)的第0个逻辑页面(即,信息“LBA(1)-0”)的映射信息。此外,如图10C所示,存储器控制器104(或存储器管理电路202)还会对应此写入操作,将有效数据计数表700中原本用于储存逻辑单元LBA(1)的第0个逻辑页面的数据的物理抹除单元410(1)的有效数据计数修改为2。
请同时参照图11A、图11B与图11C,接续图10A、图10B与图10C,假设主机系统1000欲再写入更新数据UD3并且更新数据UD3是属于逻辑单元LBA(1)的第1个逻辑页面时,存储器控制器104(或存储器管理电路202)会将此更新数据UD3写入至物理抹除单元410(3)的第2个物理程序化单元。接着如图11B所示,存储器控制器104(或存储器管理电路202)会在物理地址-逻辑地址映射表600中记录物理抹除单元410(3)的第2个物理程序化单元(即,信息“410(3)-2”)与逻辑单元LBA(1)的第1个逻辑页面(即,信息“LBA(1)-1”)的映射信息。此外,如图11C所示,存储器控制器104(或存储器管理电路202)还会对应此写入操作,将有效数据计数表700中原本用于储存逻辑单元LBA(1)的第1个逻辑页面的数据的物理抹除单元410(1)的有效数据计数修改为1。
必须了解的是,由于此时物理地址-逻辑地址映射表600已被写满,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表600中写入信息所对应的逻辑地址(例如,信息“LBA(0)-2”、信息“LBA(1)-0”以及信息“LBA(1)-1”),载入对应的逻辑地址-物理地址映射表至缓冲存储器208中,以更新逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系。此外,由于被选择为作动物理抹除单元的物理抹除单元410(3)已无储存空间,且存储器控制器104(或存储器管理电路202)会判断闲置区504中闲置且可用于写入更新数据的物理抹除单元的个数为非大于一预先定义值(例如,在本范例实施例中预先定义值为1)。也就是说,在此情况下,存储器控制器104(或存储器管理电路202)会执行有效数据合并程序,以释放更多空间。也就是说,在此情况下,存储器控制器104(或存储器管理电路202)会更新逻辑地址-物理地址映射表中的映射关系以清空物理地址-逻辑地址映射表600,并对可复写式非易失性存储器模块106执行数据合并程序。
必须了解的是,传统通过物理地址-逻辑地址映射表来更新逻辑地址-物理地址映射表的方法,以及执行数据合并程序的方法两者为互相独立的机制。具体来说,由于逻辑地址-物理地址映射表的更新需要根据物理转逻辑映射表中储存的映射信息,以载入对应的逻辑地址-物理地址映射表至缓冲存储器中进行更新。此外,在数据合并程序中,需载入所有的逻辑地址-物理地址映射表至缓冲存储器中,并搭配物理地址-逻辑地址映射表来比对(或辨识)欲进行数据合并程序的物理抹除单元中,储存有效数据的物理程序化单元以及储存无效数据的物理程序化单元,以将比对出(或辨识出)的有效数据写入至其他空的物理抹除单元中,并修改有效数据与逻辑页面间的映射关系。要知道的是,由于物理地址-逻辑地址映射表用于储存关于写入操作的信息的储存空间通常为对应于用于写入更新数据的作动物理抹除单元的大小或倍数,故当物理地址-逻辑地址映射表被写满时,通常作动物理抹除单元也会被写入操作的更新数据写满。倘若作动物理抹除单元被更新数据写满且闲置区504中闲置的物理抹除单元的数目为非大于一预先定义值时,存储器控制器104(或存储器管理电路202)会对可复写式非易失性存储器106执行有效数据合并程序。
也就是说,在执行有效数据合并程序之前常会搭配逻辑转物理映射表的更新,且由于传统的方法两者为互相独立的机制,在两者皆需载入逻辑地址-物理地址映射表至缓冲存储器中的情况下,可能会有相同的逻辑地址-物理地址映射表被重复载入缓冲存储器中的情形,造成主机系统等待的时间过长。基此,本发明所提出的数据管理方法为用于解决上述逻辑地址-物理地址映射表载入时间过长的问题。
图12A~图14C是示出有效数据合并方法的简化范例。
请同时参照图12A、图12B与图12C,接续图11A、图11B与图11C,在本范例实施例中,存储器控制器104(或存储器管理电路202)首先会根据图12C的有效数据计数表700挑选出数据区502中的物理抹除单元410(1)(即,第一物理抹除单元),其中对应物理抹除单元410(1)的有效数据计数(即,有效数据计数值为1)小于数据区502中的其他物理抹除单元(例如物理抹除单元410(0)及物理抹除单元410(3))的有效数据计数。也就是说,物理抹除单元410(1)的有效数据计数是数据区502中最小且物理抹除单元410(1)中储存的有效数据为最少。
接着,存储器控制器104(或存储器管理电路202)会依据物理地址-逻辑地址映射表600,从可复写式非易失性存储器模块106中载入对应于物理地址-逻辑地址映射表600的逻辑地址-物理地址映射表(也即,第一逻辑地址-物理地址映射表)。具体来说,由于图12B中的物理地址-逻辑地址映射表600中储存了关于逻辑单元LBA(0)的第2个逻辑页面的更新信息(即,信息“LBA(0)-2”)、逻辑单元LBA(1)的第0个逻辑页面的更新信息(即,信息“LBA(1)-0”)以及逻辑单元LBA(1)的第1个逻辑页面的更新信息(即,信息“LBA(1)-1”),存储器控制器104(或存储器管理电路202)会对应地从可复写式非易失性存储器模块106中载入逻辑单元LBA(0)的逻辑地址-物理地址映射表以及逻辑单元LBA(1)的逻辑地址-物理地址映射表(也就是,第一逻辑转物理映射表)至缓冲存储器208中。
接着,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表600中储存的信息,更新逻辑单元LBA(0)以及逻辑单元LBA(1)与物理抹除单元410(0)~410(3)之间的映射关系。具体来说,由于物理地址-逻辑地址映射表600中储存了关于逻辑单元LBA(0)的第2个逻辑页面(即,信息“LBA(0)-2”)的更新数据UD1被储存至物理抹除单元410(3)的第0个物理程序化单元(即,信息“410(3)-0”)的更新信息、关于逻辑单元LBA(1)的第0个逻辑页面(即,信息“LBA(1)-0”)的更新数据UD2被储存至物理抹除单元410(3)的第1个物理程序化单元(即,信息“410(3)-1”)的更新信息、以及关于逻辑单元LBA(1)的第1个逻辑页面(即,信息“LBA(1)-1”)的更新数据UD3被储存至物理抹除单元410(3)的第2个物理程序化单元(即,信息“410(3)-2”)的更新信息,存储器控制器104(或存储器管理电路202)会分别更新逻辑单元LBA(0)的逻辑地址-物理地址映射表以及逻辑单元LBA(1)的逻辑地址-物理地址映射表,以将逻辑单元LBA(0)的第2个逻辑页面映射至物理抹除单元410(3)的第0个物理程序化单元、将逻辑单元LBA(1)的第0个逻辑页面映射至物理抹除单元410(3)的第1个物理程序化单元以及将逻辑单元LBA(1)的第1个逻辑页面映射至物理抹除单元410(3)的第2个物理程序化单元。
接着,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表600与逻辑单元LBA(0)的逻辑地址-物理地址映射表以及逻辑单元LBA(1)的逻辑地址-物理地址映射表,以找出物理抹除单元410(1)中的有效数据。具体来说,请参照图11A,存储器控制器104(或存储器管理电路202)首先会通过逻辑单元LBA(1)的逻辑地址-物理地址映射表来确认原本未更新前的映射关系,其中逻辑单元LBA(1)的第0个逻辑页面原本为映射至物理抹除单元410(1)的第0个物理程序化单元,逻辑单元LBA(1)的第1个逻辑页面原本为映射至物理抹除单元410(1)的第1个物理程序化单元,以及逻辑单元LBA(1)的第2个逻辑页面原本为映射至物理抹除单元410(2)的第0个物理程序化单元。接着,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表600中所储存的信息LBA(1)-0及信息LBA(1)-1,判断出关于逻辑单元LBA(1)的第0个逻辑页面以及逻辑单元LBA(1)的第1个逻辑页面的数据已被更新,且更新数据被分别储存于物理抹除单元410(3)的第1个物理程序化单元以及物理抹除单元410(3)的第2个物理程序化单元中。故存储器控制器104(或存储器管理电路202)可以判断出物理抹除单元410(1)中初始数据ID4以及初始数据ID5为无效数据。
必须了解的是,在本范例实施例中,有效数据合并的步骤是先更新第一逻辑地址-物理地址映射表,再根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据;然而需注意的是,在其他范例实施例中,也可以先根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据,再更新第一逻辑地址-物理地址映射表,在此并不设限。
请再次参照图12A、图12B与图12C。接着,存储器控制器104(或存储器管理电路202)会将更新后的逻辑单元LBA(0)以及逻辑单元LBA(1)的逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块106中。而需注意的是,本范例实施例并非用于限定将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块106中的时机;在本发明另一实施例中,第一逻辑地址-物理地址映射表也可以在执行完本发明所述的数据合并方法后才被回存至可复写式非易失性存储器模块106中,在此并不设限。
接着,存储器控制器104(或存储器管理电路202)会判断物理抹除单元410(1)(即,第一物理抹除单元)中是否有储存其他有效数据。具体来说,存储器控制器104(或存储器管理电路202)会判断物理抹除单元410(1)(即,第一物理抹除单元)中是否尚有储存未被识别出的其他有效数据。必须了解的是,在一范例实施例中,假设在此情形下存储器控制器104(或存储器管理电路202)通过逻辑单元LBA(0)以及逻辑单元LBA(1)的逻辑地址-物理地址映射表,识别出物理抹除单元410(1)中的有效数据的个数刚好等于有效数据计数表700中关于物理抹除单元410(1)的有效数据计数的值时,存储器控制器104(或存储器管理电路202)可以判断物理抹除单元410(1)中所有的有效数据为映射至逻辑单元LBA(0)或逻辑单元LBA(1)中。此时,存储器控制器104(或存储器管理电路202)可以不从可复写式非易失性存储器模块106中载入其他的逻辑地址-物理地址映射表,而可以直接根据逻辑单元LBA(0)或逻辑单元LBA(1)中的映射信息将物理抹除单元410(1)中所有的有效数据复制至其他的物理抹除单元中,以执行有效数据合并操作。
然而,在本范例实施例中,存储器控制器104(或存储器管理电路202)根据图12C中的有效数据计数表700判断出物理抹除单元410(1)中还储存有一有效数据(即,物理抹除单元410(1)的有效数据计数的值为1),且由于逻辑单元LBA(0)以及逻辑单元LBA(1)中并没有储存关于物理抹除单元410(1)中该有效数据的映射信息,故存储器控制器104(或存储器管理电路202)会载入逻辑单元LBA(2)(以下称第二逻辑地址-物理地址映射表)来识别出物理抹除单元410(1)中该有效数据所对应的逻辑地址。也就是说,存储器控制器104(或存储器管理电路202)会从可复写式非易失性存储器模块106中载入逻辑单元LBA(0)的逻辑地址-物理地址映射表以及逻辑单元LBA(1)的逻辑地址-物理地址映射表以外的其他逻辑地址-物理地址映射表(即,逻辑单元LBA(2)的逻辑地址-物理地址映射表)。
接着,存储器控制器104(或存储器管理电路202)会根据物理地址-逻辑地址映射表600与逻辑单元LBA(2)的逻辑地址-物理地址映射表,以找出物理抹除单元410(1)中的其他有效数据。具体来说,存储器控制器104(或存储器管理电路202)会通过逻辑单元LBA(2)的逻辑地址-物理地址映射表,得知初始的逻辑单元LBA(2)的第0个逻辑页面为映射至物理抹除单元410(1)的第2个物理程序化单元。然而,由于物理地址-逻辑地址映射表600中没有储存关于逻辑单元LBA(2)的第0个逻辑页面的更新信息,故存储器控制器104(或存储器管理电路202)会判断关于逻辑单元LBA(2)的第0个逻辑页面的初始数据ID6尚未被更新,存储器控制器104(或存储器管理电路202)会判断初始数据ID6为有效数据。
请同时参照图13A、图13B与图13C,接续图12A、图12B与图12C,存储器控制器104(或存储器管理电路202)会从闲置区504中挑选出物理抹除单元410(4)(也即,第二物理抹除单元),并将初始数据ID6复制到物理抹除单元410(4)的第0个物理程序化单元中。接着,存储器控制器104(或存储器管理电路202)更新逻辑单元LBA(2)的逻辑地址-物理地址映射表,将逻辑单元LBA(2)的第0个逻辑页面映射至物理抹除单元410(4)的第0个物理程序化单元中,并将图13C的有效数据计数表700中对应于物理抹除单元410(1)的有效数据计数调整为0。也就是说,原本物理抹除单元410(1)中的有效数据(即,初始数据ID6)被复制到物理抹除单元410(4)的第0个物理程序化单元后,物理抹除单元410(1)中储存的数据皆为无效数据。此外,存储器控制器104(或存储器管理电路202)会清除物理地址-逻辑地址映射表600中储存的更新信息,以释放物理地址-逻辑地址映射表600的空间,如图13B所示。
请同时参照图14A、图14B与图14C,接续图13A、图13B与图13C,存储器控制器104(或存储器管理电路202)会对物理抹除单元410(1)执行抹除操作,并将物理抹除单元410(1)关联至闲置区504中。此外,存储器控制器104(或存储器管理电路202)会将物理抹除单元410(3)关联至数据区502中,并对应修改有效数据计数表700。需注意的是,在本范例实施例中,由于有效数据计数表700仅用于纪录数据区502中的物理抹除单元的有效数据计数,故在图14C中,存储器控制器104(或存储器管理电路202)会删除原先对应于物理抹除单元410(1)的记录,并增加物理抹除单元410(3)的记录,以记录物理抹除单元410(3)的有效数据计数,其值为3。然而,在其他范例实施例中,有效数据计数表700可以记录可复写式非易失性存储器106中所有的物理抹除单元的有效计数。
基于上述,本范例实施例是通过分段地载入逻辑地址-物理地址映射表,以执行逻辑地址-物理地址映射表的更新以及有效数据合并程序,以避免相同的逻辑地址-物理地址映射表被重复载入,并造成主机系统1000等待时间过长的问题。
值得一提的是,在一范例实施例中,当物理地址-逻辑地址映射表600被写满时,存储器控制器104(或存储器管理电路202)会先判断闲置区504中物理抹除单元的数目是否非大于一预先定义值(例如,预先定义值为1)。倘若存储器控制器104(或存储器管理电路202)判断闲置区504中物理抹除单元的数目为非大于一预先定义值时,则代表闲置区504中空的物理抹除单元已不够用,并且存储器控制器104(或存储器管理电路202)会进行如上述图12~14的有效数据合并操作,以释放更多空间。倘若,存储器控制器104(或存储器管理电路202)判断闲置区504中物理抹除单元的数目为大于预先定义值时,则代表闲置区504中物理抹除单元仍然足够,故存储器控制器104(或存储器管理电路202)不需执行有效数据合并操作,只需执行逻辑地址-物理地址映射表的更新,以清除物理地址-逻辑地址映射表中的信息。
具体来说,当存储器控制器104(或存储器管理电路202)判断闲置区504中物理抹除单元的数目为大于预先定义值时,存储器控制器104(或存储器管理电路202)仅需根据物理地址-逻辑地址映射表中数据的更新信息,载入对应的逻辑地址-物理地址映射表,并更新逻辑单元LBA(0)~LBA(2)与物理抹除单元410(0)~410(4)之间的映射关系,再将更新后的逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块106中。也就是说,在闲置区504仍拥有足够的物理抹除单元可以用于写入的情况下,当物理地址-逻辑地址映射表600被写满时,仅需执行逻辑地址-物理地址映射表的更新以释放物理地址-逻辑地址映射表600的空间。
图15是根据一范例实施例所示出的有效数据合并方法的流程图。
请参照图15,首先从物理抹除单元之中选取物理抹除单元(以下称为第一物理抹除单元)(步骤S1501)并且,依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表(步骤S1503)。然后,根据物理地址-逻辑地址映射表,更新第一逻辑地址-物理地址映射表(步骤S1505),并且根据物理地址-逻辑地址映射表与第一逻辑地址-物理地址映射表识别出第一物理抹除单元中的有效数据(步骤S1507),再将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块(步骤S1509)。之后,判断第一物理抹除单元中是否有储存其他有效数据(步骤S1511)。倘若第一物理抹除单元中没有储存其他有效数据,从第一物理抹除单元中将所识别出的有效数据复制到物理抹除单元之中的一第二物理抹除单元(步骤S1513)。接着,对第一物理抹除单员执行一抹除操作(步骤S1521)。倘若第一物理抹除单元中有储存所述其他有效数据,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中除了第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表(步骤S1515),且根据物理地址-逻辑地址映射表与所述第二逻辑地址-物理地址映射表以识别出第一物理抹除单元中的其他有效数据(步骤S1517)。最后从第一物理抹除单元中将所识别出的所述有效数据与所述其他有效数据复制到物理抹除单元之中的空物理抹除单元(以下称为第二物理抹除单元)中(步骤S1519)并且对第一物理抹除单元执行一抹除操作(步骤S1521)。
图16是根据另一范例实施例所示出的有效数据合并方法的流程图。
请参照图16,首先,判断闲置区中的物理抹除单元的数目是否非大于预先定义值(步骤S1601)。
倘若闲置区中的物理抹除单元的数目非大于预先定义值,则执行上述步骤S1501、S1503、S1505、S1507、S1509、S1511、S1513、S1515、S1517、S1519与S1521。
倘若闲置区中的物理抹除单元的数目大于预先定义值,则依据物理地址-逻辑地址映射表,从可复写式非易失性存储器模块中载入逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表(步骤S1603),并且根据物理地址-逻辑地址映射表更新第一逻辑地址-物理地址映射表及将第一逻辑地址-物理地址映射表回存至可复写式非易失性存储器模块(步骤S1605)。
综上所述,本发明通过分段地载入逻辑地址-物理地址映射表,执行更新逻辑地址-物理地址映射表以及数据合并程序,以避免相同的逻辑地址-物理地址映射表被重复载入,并有效解决主机系统等待时间过长的问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种有效数据合并方法,适用于一可复写式非易失性存储器模块,其特征在于,所述可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,多个逻辑地址-物理地址映射表被储存在所述可复写式非易失性存储器模块中以记录多个逻辑地址与该些物理程序化单元之间的一映射信息,所述有效数据合并方法包括:
从该些物理抹除单元之中选取一第一物理抹除单元;
依据一物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表;
根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表;
根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的有效数据;
将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块;
从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的一第二物理抹除单元;以及
对所述第一物理抹除单元执行一抹除操作。
2.根据权利要求1所述的有效数据合并方法,其特征在于,上述对所述第一物理抹除单元执行所述抹除操作的步骤之前包括:
倘若所述第一物理抹除单元中有储存其他有效数据,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中除了所述至少一第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,
根据所述物理地址-逻辑地址映射表与所述至少一第二逻辑地址-物理地址映射表以识别出所述第一物理抹除单元中的所述其他有效数据,
从所述第一物理抹除单元中将所识别出的所述其他有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元。
3.根据权利要求1所述的有效数据合并方法,其特征在于,还包括:
在一缓冲存储器中建立所述物理地址-逻辑地址映射表,其中所述物理地址-逻辑地址映射表记录该些物理抹除单元之中的一作动物理抹除单元的物理程序化单元与该些逻辑地址之中的多个已更新逻辑地址之间的映射信息,
其中所述至少一第一逻辑地址-物理地址映射表是记录有对应该些已更新逻辑地址的映射信息。
4.根据权利要求1所述的有效数据合并方法,其特征在于,还包括:
依据该些物理抹除单元中的有效数据的数量记录每一该些物理抹除单元的有效数据计数。
5.根据权利要求4所述的有效数据合并方法,其特征在于,还包括:
建立一有效数据计数表以记录每一该些物理抹除单元的有效数据计数。
6.根据权利要求4所述的有效数据合并方法,其特征在于,该些物理抹除单元至少被分组为一数据区与一闲置区,且所述闲置区的物理抹除单元用以替换所述数据区的物理抹除单元以写入数据。
7.根据权利要求6所述的有效数据合并方法,其特征在于,上述从该些物理抹除单元之中选取所述第一物理抹除单元的步骤包括:
从所述数据区中选取所述第一物理抹除单元,其中所述第一物理抹除单元的有效数据计数小于所述数据区中的其他物理抹除单元的有效数据计数。
8.根据权利要求7所述的有效数据合并方法,其特征在于,还包括:
判断所述闲置区中的物理抹除单元的数目是否非大于一预先定义值;
倘若所述闲置区中的物理抹除单元的数目非大于所述预先定义值,从该些物理抹除单元之中选取所述第一物理抹除单元,依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表,根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的有效数据,并将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块,从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元,并对所述第一物理抹除单元执行所述抹除操作;以及
倘若所述闲置区中的物理抹除单元的数目大于所述预先定义值,依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表。
9.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其特征在于,所述存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且多个逻辑地址-物理地址映射表被储存在所述可复写式非易失性存储器模块中以记录多个逻辑地址与该些物理程序化单元之间的一映射信息;以及
一存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以从该些物理抹除单元之中选取一第一物理抹除单元,
其中所述存储器管理电路还用以依据一物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,
其中所述存储器管理电路还用以根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表,
其中所述存储器管理电路还用以根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的有效数据,
其中所述存储器管理电路还用以将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块,
其中所述存储器管理电路还用以从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的一第二物理抹除单元,
其中所述存储器管理电路还用以对所述第一物理抹除单元执行一抹除操作。
10.根据权利要求9所述的存储器控制器,其特征在于,所述存储器管理电路对所述第一物理抹除单元执行所述抹除操作的操作之前包括:
倘若所述第一物理抹除单元中有储存其他有效数据,所述存储器管理电路还用以从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中除了所述至少一第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,根据所述物理地址-逻辑地址映射表与所述至少一第二逻辑地址-物理地址映射表以识别出所述第一物理抹除单元中的所述其他有效数据,从所述第一物理抹除单元中将所识别出的所述其他有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元。
11.根据权利要求9所述的存储器控制器,其特征在于,所述存储器管理电路还用以在一缓冲存储器中建立所述物理地址-逻辑地址映射表,其中所述物理地址-逻辑地址映射表记录该些物理抹除单元之中的一作动物理抹除单元的物理程序化单元与该些逻辑地址之中的多个已更新逻辑地址之间的映射信息,
其中所述至少一第一逻辑地址-物理地址映射表是记录有对应该些已更新逻辑地址的映射信息。
12.根据权利要求9所述的存储器控制器,其特征在于,所述存储器管理电路还用以依据该些物理抹除单元中的有效数据的数量记录每一该些物理抹除单元的有效数据计数。
13.根据权利要求12所述的存储器控制器,其特征在于,所述存储器管理电路还用以建立一有效数据计数表以记录每一该些物理抹除单元的有效数据计数。
14.根据权利要求12所述的存储器控制器,其特征在于,所述存储器管理电路还用以将该些物理抹除单元至少分组为一数据区与一闲置区,且所述闲置区的物理抹除单元用以替换所述数据区的物理抹除单元以写入数据。
15.根据权利要求14所述的存储器控制器,其特征在于,所述存储器管理电路从该些物理抹除单元之中选取所述第一物理抹除单元的操作中,所述存储器管理电路还用以从所述数据区中选取所述第一物理抹除单元,其中所述第一物理抹除单元的有效数据计数小于所述数据区中的其他物理抹除单元的有效数据计数。
16.根据权利要求15所述的存储器控制器,其特征在于,所述存储器管理电路还用以判断所述闲置区中的物理抹除单元的数目是否非大于一预先定义值,
倘若所述闲置区中的物理抹除单元的数目非大于所述预先定义值,所述存储器管理电路从该些物理抹除单元之中选取所述第一物理抹除单元,
所述存储器管理电路依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,
所述存储器管理电路根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表,
所述存储器管理电路根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的所述有效数据,
所述存储器管理电路将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块,
所述存储器管理电路从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元,
所述存储器管理电路对所述第一物理抹除单元执行所述抹除操作,
倘若所述闲置区中的物理抹除单元的数目大于所述预先定义值,所述存储器管理电路依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,
所述存储器管理电路根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表。
17.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,多个逻辑地址-物理地址映射表被储存在所述可复写式非易失性存储器模块中以记录多个逻辑地址与该些物理程序化单元之间的一映射信息;以及
一存储器控制器,电性连接至所述连接器与所述可复写式非易失性存储器模块,
其中所述存储器控制器还用以从该些物理抹除单元之中选取一第一物理抹除单元,
其中所述存储器控制器还用以依据一物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的至少一第一逻辑地址-物理地址映射表,
其中所述存储器控制器还用以根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表,
其中所述存储器控制器还用以根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的有效数据,
其中所述存储器控制器还用以将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块,
其中所述存储器控制器还用以从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的一第二物理抹除单元,
其中所述存储器控制器还用以对所述第一物理抹除单元执行一抹除操作。
18.根据权利要求17所述的存储器储存装置,其特征在于,所述存储器控制器对所述第一物理抹除单元执行所述抹除操作的操作之前包括:
倘若所述第一物理抹除单元中有储存其他有效数据,所述存储器控制器还用以从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中除了所述至少一第一逻辑地址-物理地址映射表以外的至少一第二逻辑地址-物理地址映射表,根据所述物理地址-逻辑地址映射表与所述至少一第二逻辑地址-物理地址映射表以识别出所述第一物理抹除单元中的所述其他有效数据,从所述第一物理抹除单元中将所识别出的所述其他有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元。
19.根据权利要求17所述的存储器储存装置,其特征在于,所述存储器控制器还用以在一缓冲存储器中建立所述物理地址-逻辑地址映射表,其中所述物理地址-逻辑地址映射表记录该些物理抹除单元之中的一作动物理抹除单元的物理程序化单元与该些逻辑地址之中的多个已更新逻辑地址之间的映射信息,
其中所述至少一第一逻辑地址-物理地址映射表是记录有对应该些已更新逻辑地址的映射信息。
20.根据权利要求17所述的存储器储存装置,其特征在于,所述存储器控制器还用以依据该些物理抹除单元中的有效数据的数量记录每一该些物理抹除单元的有效数据计数。
21.根据权利要求20所述的存储器储存装置,其特征在于,所述存储器控制器还用以建立一有效数据计数表以记录每一该些物理抹除单元的有效数据计数。
22.根据权利要求20所述的存储器储存装置,其特征在于,所述存储器控制器还用以将该些物理抹除单元至少分组为一数据区与一闲置区,且所述闲置区的物理抹除单元用以替换所述数据区的物理抹除单元以写入数据。
23.根据权利要求22所述的存储器储存装置,其特征在于,所述存储器控制器从该些物理抹除单元之中选取所述第一物理抹除单元的操作中,所述存储器控制器还用以从所述数据区中选取所述第一物理抹除单元,其中所述第一物理抹除单元的有效数据计数小于所述数据区中的其他物理抹除单元的有效数据计数。
24.根据权利要求23所述的存储器储存装置,其特征在于,所述存储器控制器还用以判断所述闲置区中的物理抹除单元的数目是否非大于一预先定义值,
倘若所述闲置区中的物理抹除单元的数目非大于所述预先定义值,所述存储器控制器从该些物理抹除单元之中选取所述第一物理抹除单元,
所述存储器控制器依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,
所述存储器控制器根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表,
所述存储器控制器根据所述物理地址-逻辑地址映射表与所述至少一第一逻辑地址-物理地址映射表识别出所述第一物理抹除单元中的所述有效数据,
所述存储器控制器将所述至少一第一逻辑地址-物理地址映射表回存至所述可复写式非易失性存储器模块,
所述存储器控制器从所述第一物理抹除单元中将所识别出的所述有效数据复制到该些物理抹除单元之中的所述第二物理抹除单元
所述存储器控制器对所述第一物理抹除单元执行所述抹除操作,
倘若所述闲置区中的物理抹除单元的数目大于所述预先定义值,所述存储器控制器依据所述物理地址-逻辑地址映射表,从所述可复写式非易失性存储器模块中载入该些逻辑地址-物理地址映射表之中的所述至少一第一逻辑地址-物理地址映射表,
所述存储器控制器根据所述物理地址-逻辑地址映射表,更新所述至少一第一逻辑地址-物理地址映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510498321.3A CN106469122B (zh) | 2015-08-14 | 2015-08-14 | 有效数据合并方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510498321.3A CN106469122B (zh) | 2015-08-14 | 2015-08-14 | 有效数据合并方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106469122A CN106469122A (zh) | 2017-03-01 |
CN106469122B true CN106469122B (zh) | 2019-11-19 |
Family
ID=58214822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510498321.3A Active CN106469122B (zh) | 2015-08-14 | 2015-08-14 | 有效数据合并方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469122B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423038B (zh) * | 2017-03-16 | 2020-09-29 | 深圳市广和通无线通信软件有限公司 | 不依赖文件系统的差分包合并方法与系统 |
CN109388332A (zh) * | 2017-08-04 | 2019-02-26 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元及存储器存储装置 |
KR102567140B1 (ko) * | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | 데이터 관리 방법 및 이를 수행하는 저장 장치 |
CN109840218B (zh) * | 2017-11-24 | 2023-08-01 | 深圳大心电子科技有限公司 | 有效数据管理方法以及存储控制器 |
KR20200020464A (ko) * | 2018-08-17 | 2020-02-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
CN111143230B (zh) * | 2018-11-02 | 2022-03-29 | 群联电子股份有限公司 | 数据整并方法、存储器存储装置及存储器控制电路单元 |
CN111208932B (zh) * | 2018-11-21 | 2023-03-24 | 群联电子股份有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
CN111367824B (zh) * | 2018-12-25 | 2022-03-29 | 北京兆易创新科技股份有限公司 | 一种控制映射表的方法以及装置 |
CN112328587A (zh) * | 2020-11-18 | 2021-02-05 | 山东健康医疗大数据有限公司 | ElasticSearch的数据处理方法和装置 |
CN113126915B (zh) * | 2021-03-26 | 2022-07-22 | 山东英信计算机技术有限公司 | 一种基于Trim指令的SSD表更新方法、系统及装置 |
CN113885808B (zh) * | 2021-10-28 | 2024-03-15 | 合肥兆芯电子有限公司 | 映射信息记录方法以及存储器控制电路单元与存储装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075211A (zh) * | 2007-06-08 | 2007-11-21 | 马彩艳 | 基于sector访问的flash存储器的存储管理 |
CN102841851A (zh) * | 2012-07-19 | 2012-12-26 | 深圳市江波龙电子有限公司 | 闪存管理方法和闪存设备 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN104238956A (zh) * | 2013-06-24 | 2014-12-24 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
KR20160078611A (ko) * | 2014-12-24 | 2016-07-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
-
2015
- 2015-08-14 CN CN201510498321.3A patent/CN106469122B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075211A (zh) * | 2007-06-08 | 2007-11-21 | 马彩艳 | 基于sector访问的flash存储器的存储管理 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN102841851A (zh) * | 2012-07-19 | 2012-12-26 | 深圳市江波龙电子有限公司 | 闪存管理方法和闪存设备 |
CN104238956A (zh) * | 2013-06-24 | 2014-12-24 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106469122A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106469122B (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
CN104765568B (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104679437B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104732153B (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
CN104793891B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN103593296B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存系统 | |
CN106445401A (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN106484308B (zh) | 数据保护方法、存储器控制电路单元及存储器储存装置 | |
CN110471612A (zh) | 存储器管理方法以及存储控制器 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |