CN103593255B - 数据管理方法、记忆存储存储器与记忆存储控制器 - Google Patents
数据管理方法、记忆存储存储器与记忆存储控制器 Download PDFInfo
- Publication number
- CN103593255B CN103593255B CN201210290508.0A CN201210290508A CN103593255B CN 103593255 B CN103593255 B CN 103593255B CN 201210290508 A CN201210290508 A CN 201210290508A CN 103593255 B CN103593255 B CN 103593255B
- Authority
- CN
- China
- Prior art keywords
- data
- erased cell
- memory storage
- those
- mnemon
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据管理方法、记忆存储存储器与记忆存储控制器,该数据管理方法用于包括第一记忆单元与第二记忆单元的可复写式非易失性记忆存储模块。此方法包括:将第一记忆单元的多个实体抹除单元划分出数据区与闲置区,并且将第二记忆单元的多个实体抹除单元划分出备份数据区与指令记录区;配置多个逻辑地址以映射到关联至数据区的实体抹除单元;接收指示将数据写入的写入指令:将数据写入到关联至闲置区的一个实体抹除单元,并且将数据写入到关联至备份数据区的一个实体抹除单元;将至少部分的写入指令记录在关联至指令记录区的实体抹除单元。从而,可以在可复写式非易失性记忆存储模块中备份数据。
Description
技术领域
本发明是有关于一种用于可复写式非易失性记忆存储模块的数据管理方法、记忆存储存储器与记忆存储控制器。
背景技术
数码相机、手机与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性记忆存储模块(例如,快速记忆存储)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建在上述所举例的各种可携式多媒体装置中。
一般来说,一个可复写式非易失性记忆存储模块会包括多个实体块。一个实体块在被抹除之前并无法被写入新的数据。因此,一个记忆存储控制器需要通过整并与搬移的操作来管理可复写式非易失性记忆存储模块。当可复写式非易失性记忆存储模块被用来备份数据时,若使用廉价磁盘冗余阵列-1(Redundant Array of Inexpensive Disks-1,简称RAID-1)的方式来备份数据,则上述整并与搬移的操作会被执行两次,造成系统额外的负荷。因此,如何在可复写式非易失性记忆存储模块中有效地备份数据,为此领域研究人员所关心的议题。
发明内容
本发明的实施例中提出一种数据管理方法、记忆存储控制器与记忆存储存储器,可以在可复写式非易失性记忆存储模块中备份数据。
本发明一实施例提出一种数据管理方法,用于可复写式非易失性记忆存储模块。此可复写式非易失性记忆存储包括第一记忆单元与第二记忆单元。第一记忆单元包括多个第一实体抹除单元,并且第二记忆单元包括多个第二实体抹除单元。此数据管理方法包括:将第一实体抹除单元至少划分出数据区与闲置区,并且将第二实体抹除单元至少划分出备份数据区与指令记录区;配置多个逻辑地址以映射至关联至数据区的第一实体抹除单元;接收一个写入指令,此写入指令指示将第一数据写入到至少一个第一逻辑地址;将第一数据写入第一实体抹除单元中关联至闲置区的其中之一,并且将第一数据写入至第二实体抹除单元中关联至备份数据区的其中之一;以及,将至少部分的写入指令记录在第二实体抹除单元中关联至指令记录区的其中之一。
在一实施例中,上述的第一数据包括第一部分与第二部分。上述将第一数据写入至第一实体抹除单元中关联至闲置区的其中之一,并且将第一数据写入至第二实体抹除单元中关联至备份数据区的其中之一的步骤包括:致能第一记忆单元,并且传送第一指令至第一记忆单元,其中第一指令是用以指示第一部分欲被写入;致能第二记忆单元,并且传送第一指令至第二记忆单元;同时将第一部分传送至第一记忆单元与第二记忆单元;致能第一记忆单元与第二记忆单元,并且同时传送第二指令至第一记忆单元与第二记忆单元,其中第二指令用以表示第一部分已传送完毕;致能第一记忆单元,并且传送第三指令至第一记忆单元,其中第三指令用以指示第二部分欲被写入;致能第二记忆单元,并且传送第三指令至第二记忆单元;同时将第二部分传送至第一记忆单元与第二记忆单元;以及,致能第一记忆单元与第二记忆单元,同时传送第四指令至第一记忆单元与第二记忆单元,其中第四指令用以指示将第一部分与第二部分写入。
在一实施例中,上述的第一数据是被写入至第二实体抹除单元中关联至备份数据区的一个第三实体抹除单元。上述将写入指令记录在第二实体抹除单元中关联至指令记录区的其中之一的步骤包括:将第三实体抹除单元的一个初始实体地址以及第一数据的一个数据长度写入至第二实体抹除单元中关联至指令记录区的其中之一。此第一数据是从初始实体地址开始被写入。
在一实施例中,上述将第一数据写入至第二实体抹除单元中关联至备份数据区的其中之一的步骤还包括:建立一个前指针,此前指针指向第二实体抹除单元中关联至备份数据区的一个第四实体抹除单元中的一个第一实体程序化单元;建立一个后指针,此后指针指向第二实体抹除单元中关联至备份数据区的一个第五实体抹除单元;将第一数据写入至第一实体程序化单元;判断关联至备份数据区的第二实体抹除单元的一个闲置记忆存储空间是否足够写入第一数据;若此闲置记忆存储空间不足够写入第一数据时,抹除第五实体抹除单元,将第一数据写入至第五实体抹除单元,将后指针移动至第六实体抹除单元,并将前指针移动至接续在第一数据后的实体程序化单元。
在一实施例中,上述判断闲置记忆存储空间是否足够写入第一数据的步骤包括:判断第一实体程序化单元的实体地址与上述数据长度的和是否超过第五实体抹除单元的实体地址;若第一实体程序化单元的实体地址与数据长度的和超过第五实体抹除单元的实体地址,则判断闲置记忆存储空间不足够写入第一数据。上述的第六实体抹除单元的程序化序列接续在第五实体抹除单元之后。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元。上述将写入指令记录在关联至指令记录区的第二实体抹除单元的步骤包括:将指令记录区的第二实体抹除单元划分为第一指令记录区与第二指令记录区;建立第一指针与第二指针,其中第一指针与第二指针指向第二实体程序化单元中关联至第一指令记录区的其中之一或指向第二实体程序化单元中关联至第二指令记录区的其中之一;将写入指令记录在第二指针所指向的实体程序化单元,并且将第二指针移动至下一个实体程序化单元;以及,当第一指针与第二指针皆指向第二指令记录区时,抹除第二实体抹除单元中关联至第一指令记录区的其中之一。
在一实施例中,上述的数据管理方法,还包括;从关联至指令记录区的第二实体抹除单元中读取第三实体抹除单元的初始实体地址以及第一数据的数据长度;根据第一数据的数据长度以及第三实体抹除单元的初始实体地址,从备份数据区中读取第一数据;以及将第一数据写入至所述第一实体抹除单元的其中之一。
在一实施例中,上述的数据管理方法,还包括:将第一实体抹除单元还划分出系统区;以及将第一指针、第二指针、前指针以及后指针写入至第一实体抹除单元中关联至系统区的其中之一。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元组,每一个实体程序化单元组包括下实体程序化单元与上实体程序化单元。下实体程序化单元的写入速度大于上实体程序化单元的写入速度。上述将写入指令记录在第二实体抹除单元中关联至指令记录区的其中之一的步骤包括:仅使用关联智指令记录区的第二实体抹除单元的下实体程序化单元来记录所述至少部分的写入指令。
在一实施例中,上述的数据管理方法还包括:对位于第一实体抹除单元中相关于第一数据的有效数据与第一数据执行一个数据合并程序。位于第二实体抹除单元中相关于第一数据的有效数据不与第一数据进行数据合并程序。
在一实施例中,上述的数据管理方法,还包括:执行一个第一平均磨损程序在第一实体抹除单元;以及执行一个第二平均磨损程序在第二实体抹除单元。其中,第一平均磨损程序不同于第二平均磨损程序,并且第一实体抹除单元之间的交换频率高于第二实体抹除单元之间的交换频率。
以另外一个角度来说,本发明一实施例提供一种记忆存储存储器,包括连接器、可复写式非易失性记忆存储模块与记忆存储控制器。连接器是用以电性连接至主机系统。可复写式非易失性记忆存储模块包括第一记忆单元与第二记忆单元。第一记忆单元包括多个第一实体抹除单元,并且第二记忆单元包括多个第二实体抹除单元。记忆存储控制器是电性连接至连接器与可复写式非易失性记忆存储模块,用以将第一实体抹除单元至少划分出数据区与闲置区,将第二实体抹除单元至少划分出备份数据区与指令记录区,并且配置多个逻辑地址以映射至关联至数据区的第一实体抹除单元。记忆存储控制器也用以接收写入指令,此写入指令指示将第一数据写入到逻辑地址的至少一个第一逻辑地址。记忆存储控制器也用以将第一数据写入至第一实体抹除单元中关联至闲置区的其中之一,将第一数据写入至第二实体抹除单元中关联至备份数据区的其中之一,并且将至少部分的写入指令记录在第二实体抹除单元中关联至指令记录区的其中之一。
在一实施例中,上述的第一数据包括第一部分与第二部分。记忆存储控制器还用以致能第一记忆单元,并且传送第一指令至第一记忆单元,其中第一指令是用以指示第一部分欲被写入。记忆存储控制器还用以致能第二记忆单元,传送第一指令至第二记忆单元,并且同时将第一部分传送至第一记忆单元与第二记忆单元。记忆存储控制器还用以致能第一记忆单元与第二记忆单元,并且同时传送第二指令至第一记忆单元与第二记忆单元,其中第二指令用以表示第一部分已传送完毕。记忆存储控制器还用以致能第一记忆单元,并且传送第三指令至第一记忆单元,其中第三指令用以指示第二部分欲被写入。记忆存储控制器还用以致能第二记忆单元,传送第三指令至第二记忆单元,并且同时将第二部分传送至第一记忆单元与第二记忆单元。记忆存储控制器还用以致能第一记忆单元与第二记忆单元,并且同时传送第四指令至第一记忆单元与第二记忆单元,其中第四指令用以指示将第一部分与第二部分写入。
在一实施例中,上述的第一数据是被写入至第二实体抹除单元中关联至备份数据区的第三实体抹除单元。记忆存储控制器还用以将第三实体抹除单元的初始实体地址以及第一数据的数据长度写入至第二实体抹除单元中关联至指令记录区的其中之一。其中,第一数据是从初始实体地址开始被写入。
在一实施例中,上述的记忆存储控制器还用以建立一个前指针,此前指针指向第二实体抹除单元关联至备份数据区的第四实体抹除单元中的第一实体程序化单元。记忆存储控制器还用以建立一个后指针,此后指针指向第二实体抹除单元中关联至备份数据区的第五实体抹除单元。记忆存储控制器还用以将第一数据写入至第一实体程序化单元,并判断关联至备份数据区的第二实体抹除单元的一个闲置记忆存储空间是否足够写入第一数据。若闲置记忆存储空间不足够写入第一数据时,记忆存储控制器还用以抹除第五实体抹除单元,将第一数据写入至第五实体抹除单元,将后指针移动至第六实体抹除单元,并将前指针移动至接续在第一数据后的实体程序化单元。
在一实施例中,上述的记忆存储控制器还用以判断第一实体程序化单元的实体地址与上述数据长度的和是否超过第五实体抹除单元的实体地址。若第一实体程序化单元的实体地址与数据长度的和超过第五实体抹除单元的实体地址,记忆存储控制器判断闲置记忆存储空间不足够写入第一数据。其中,第六实体抹除单元的程序化序列是接续在第五实体抹除单元之后。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元。记忆存储控制器还用以将指令记录区的第二实体抹除单元划分为第一指令记录区与第二指令记录区,并且建立第一指针与第二指针。第一指针与第二指针是指向第二实体抹除单元中关联至第一指令记录区的其中之一或指向实体程序化单元中关联至第二指令记录区的其中之一。记忆存储控制器还用以将写入指令记录在第二指针所指向的实体程序化单元,并且将第二指针移动至下一个实体程序化单元。当第一指针与第二指针皆指向第二指令记录区时,记忆存储控制器还用以抹除第二实体抹除单元中关联至第一指令记录区的其中之一。
在一实施例中,上述的记忆存储控制器还用以从关联至指令记录区的第二实体抹除单元中读取第三实体抹除单元的初始实体地址以及第一数据的数据长度。记忆存储控制器还用以根据第一数据的数据长度以及第三实体抹除单元的初始实体地址,从备份数据区中读取第一数据。记忆存储控制器还用以将第一数据写入至所述第一实体抹除单元的其中之一。
在一实施例中,上述的记忆存储控制器还用以将第一实体抹除单元还划分出一个系统区,并且将第一指针、第二指针、前指针以及后指针写入至第一实体抹除单元中关联至系统区的其中之一。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元组,每一实体程序化单元组包括下实体程序化单元与上实体程序化单元,并且下实体程序化单元的写入速度大于上实体程序化单元的写入速度。记忆存储控制器还用以仅使用关联至指令记录区的第二实体抹除单元的下实体程序化单元来记录所述至少部分的写入指令。
在一实施例中,上述的记忆存储控制器还用以对位于第一实体抹除单元中相关于第一数据的有效数据与第一数据执行一个数据合并程序。其中,位于第二实体抹除单元中相关于第一数据的有效数据不与第一数据进行数据合并程序。
在一实施例中,上述的记忆存储控制器还用以执行第一平均磨损程序在第一实体抹除单元,并且执行第二平均磨损程序在第二实体抹除单元。其中,第一平均磨损程序不同于第二平均磨损程序,且第一实体抹除单元之间的交换频率高于第二实体抹除单元之间的交换频率。
以另外一个角度来说,本发明一实施例提供一种记忆存储控制器,包括主机接口、记忆存储接口与记忆存储管理电路。主机接口是用以电性连接至主机系统。记忆存储接口是用以电性连接至可复写式非易失性记忆存储模块,此可复写式非易失性记忆存储模块包括第一记忆单元与第二记忆单元。第一记忆单元包括多个第一实体抹除单元,并且第二记忆单元包括多个第二实体抹除单元。记忆存储管理电路是电性连接至主机接口与记忆存储接口,用以将第一实体抹除单元至少划分出数据区与闲置区,将第二实体抹除单元至少划分出备份数据区与指令记录区,并且配置多个逻辑地址以映射至关联至数据区的第一实体抹除单元。记忆存储管理电路也用以接收写入指令,此写入指令指示将第一数据写入到逻辑地址的至少一个第一逻辑地址。记忆存储管理电路也用以将第一数据写入至第一实体抹除单元中关联至闲置区的其中之一,将第一数据写入至第二实体抹除单元中关联至备份数据区的其中之一,并且将至少部分的写入指令记录在第二实体抹除单元中关联至指令记录区的其中之
在一实施例中,上述的第一数据包括第一部分与第二部分。记忆存储管理电路还用以致能第一记忆单元,并且传送第一指令至第一记忆单元,其中第一指令是用以指示第一部分欲被写入。记忆存储管理电路还用以致能第二记忆单元,传送第一指令至第二记忆单元,并且同时将第一部分传送至第一记忆单元与第二记忆单元。记忆存储管理电路还用以致能第一记忆单元与第二记忆单元,并且同时传送第二指令至第一记忆单元与第二记忆单元,其中第二指令用以表示第一部分已传送完毕。记忆存储管理电路还用以致能第一记忆单元,并且传送第三指令至第一记忆单元,其中第三指令用以指示第二部分欲被写入。记忆存储管理电路还用以致能第二记忆单元,传送第三指令至第二记忆单元,并且同时将第二部分传送至第一记忆单元与第二记忆单元。记忆存储管理电路还用以致能第一记忆单元与第二记忆单元,并且同时传送第四指令至第一记忆单元与第二记忆单元,其中第四指令用以指示将第一部分与第二部分写入。
在一实施例中,上述的第一数据是被写入至第二实体抹除单元中关联至备份数据区的第三实体抹除单元。记忆存储管理电路还用以将第三实体抹除单元的初始实体地址以及第一数据的数据长度写入至第二实体抹除单元中关联至指令记录区的其中之一。其中,第一数据是从初始实体地址开始被写入。
在一实施例中,上述的记忆存储管理电路还用以建立一个前指针,此前指针指向第二实体抹除单元关联至备份数据区的第四实体抹除单元中的第一实体程序化单元。记忆存储管理电路还用以建立一个后指针,此后指针指向第二实体抹除单元中关联至备份数据区的第五实体抹除单元。记忆存储管理电路还用以将第一数据写入至第一实体程序化单元,并判断关联至备份数据区的第二实体抹除单元的一个闲置记忆存储空间是否足够写入第一数据。若闲置记忆存储空间不足够写入第一数据时,记忆存储管理电路还用以抹除第五实体抹除单元,将第一数据写入至第五实体抹除单元,将后指针移动至第六实体抹除单元,并将前指针移动至接续在第一数据后的实体程序化单元。
在一实施例中,上述的记忆存储管理电路还用以判断第一实体程序化单元的实体地址与上述数据长度的和是否超过第五实体抹除单元的实体地址。若第一实体程序化单元的实体地址与数据长度的和超过第五实体抹除单元的实体地址,记忆存储管理电路判断闲置记忆存储空间不足够写入第一数据。其中,第六实体抹除单元的程序化序列是接续在第五实体抹除单元之后。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元。记忆存储管理电路还用以将指令记录区的第二实体抹除单元划分为第一指令记录区与第二指令记录区,并且建立第一指针与第二指针。第一指针与第二指针是指向第二实体抹除单元中关联至第一指令记录区的其中之一或指向实体程序化单元中关联至第二指令记录区的其中之一。记忆存储管理电路还用以将写入指令记录在第二指针所指向的实体程序化单元,并且将第二指针移动至下一个实体程序化单元。当第一指针与第二指针皆指向第二指令记录区时,记忆存储管理电路还用以抹除第二实体抹除单元中关联至第一指令记录区的其中之一。
在一实施例中,上述的记忆存储管理电路还用以从关联至指令记录区的第二实体抹除单元中读取第三实体抹除单元的初始实体地址以及第一数据的数据长度。记忆存储管理电路还用以根据第一数据的数据长度以及第三实体抹除单元的初始实体地址,从备份数据区中读取第一数据。记忆存储管理电路还用以将第一数据写入至所述第一实体抹除单元的其中之一。
在一实施例中,上述的记忆存储管理电路还用以将第一实体抹除单元还划分出一个系统区,并且将第一指针、第二指针、前指针以及后指针写入至第一实体抹除单元中关联至系统区的其中之一。
在一实施例中,上述的每一个第二实体抹除单元包括多个实体程序化单元组,每一实体程序化单元组包括下实体程序化单元与上实体程序化单元,并且下实体程序化单元的写入速度大于上实体程序化单元的写入速度。记忆存储管理电路还用以仅使用关联至指令记录区的第二实体抹除单元的下实体程序化单元来记录所述至少部分的写入指令。
在一实施例中,上述的记忆存储管理电路还用以对位于第一实体抹除单元中相关于第一数据的有效数据与第一数据执行一个数据合并程序。其中,位于第二实体抹除单元中相关于第一数据的有效数据不与第一数据进行数据合并程序。
在一实施例中,上述的记忆存储管理电路还用以执行第一平均磨损程序在第一实体抹除单元,并且执行第二平均磨损程序在第二实体抹除单元。其中,第一平均磨损程序不同于第二平均磨损程序,且第一实体抹除单元之间的交换频率高于第二实体抹除单元之间的交换频率。
基于上述,本发明提出的数据管理方法、记忆存储控制器与记忆存储存储器可以在可复写式非易失性记忆存储中备份数据。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是一实施例所示出的主机系统与记忆存储存储器图;
图1B是一实施例所示出的电脑、输入/输出装置与记忆存储存储器的示意图;
图1C是一实施例所示出的主机系统与记忆存储存储器的示意图;
图2A是示出图1A所示的记忆存储存储器的概要方块图;
图2B是一实施例说明记忆存储控制器与可复写式非易失性记忆存储之间的电性连接关系;
图3是一实施例所示出的记忆存储控制器的概要方块图;
图4是一实施例所示出的管理第一记忆单元的范例示意图;
图5是一实施例说明管理第二记忆单元的示意图;
图6是一实施例说明备份第一数据的示意图;
图7是一实施例说明抹除备份数据区的实体抹除单元的范例示意图;
图8至图10是一实施例说明抹除指令记录区的实体抹除单元的范例示意图;
图11是一实施例说明数据管理方法的流程图。
附图标记说明:
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:可复写式非易失性记忆存储模块;
310:第一记忆单元;
320:第二记忆单元;
312、322:信号;
311(0)~311(A)、311(C)、311(C+1)、321(0)~321(B)、321(H)、321(H+1)~321(K)、321(K+1)~321(I):实体抹除单元;
330:总线;
202:记忆存储管理电路;
204:主机接口;
206:记忆存储接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
410:数据区;
420:闲置区;
430:系统区;
440:取代区;
450(0)~450(G):逻辑地址;
460:第一数据;
510:备份数据区;
520:指令记录区;
610(0)~610(J):逻辑程序化单元地址;
620(0)~620(J)、630(0)~630(L)、721(0)~721(J)、830(0)~830(L)、832(0)~832(L)、834(0)~834(L)、836(0)~836(L):实体程序化单元;
640:写入指令;
730:前指针;
740:后指针;
802:第一指针;
804:第二指针;
S1102、S1104、S1106、S1108、S1110:数据管理方法的步骤;
810:第一指令记录区;
820:第二指令记录区。
具体实施方式
一般而言,记忆存储存储器(亦称,记忆存储储存系统)包括可复写式非易失性记忆存储模块与控制器(亦称,控制电路)。通常记忆存储存储器是与主机系统一起使用,以使主机系统可将数据写入至记忆存储存储器或从记忆存储存储器中读取数据。
图1A是一实施例所示出的主机系统与记忆存储存储器图,图1B是一实施例所示出的电脑、输入/输出装置与记忆存储存储器的示意图,图1C是一实施例所示出的主机系统与记忆存储存储器的示意图。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,记忆存储存储器100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的操作可将数据写入至记忆存储存储器100或从记忆存储存储器100中读取数据。例如,记忆存储存储器100可以是如图1B所示的随身盘1212、记忆卡1214或固态硬盘(Solid StateDrive,简称SSD)1216等的可复写式非易失性记忆存储存储器。
一般而言,主机系统1000为可实质地与记忆存储存储器100配合以储存数据的任意系统。虽然在本实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一实施例中主机系统1000可以是数码相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性记忆存储存储器则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式存储器1320(如图1C所示)。嵌入式存储器1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2A是示出图1A所示的记忆存储存储器的概要方块图。
请参照图2A,记忆存储存储器100包括连接器102、记忆存储控制器104与可复写式非易失性记忆存储模块106。
在本实施例中,连接器102是兼容在序列先进附件(Serial AdvancedTechnology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel AdvancedTechnology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称PCI Express)标准、通用序列总线(Universal Serial Bus,简称USB)标准、安全数码(Secure Digital,简称SD)接口标准、超高速一代(Ultra HighSpeed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体储存卡(Multi Media Card,简称MMC)接口标准、莰入式多媒体储存卡(Embedded Multimedia Card,简称eMMC)接口标准、通用快速记忆存储(Universal Flash Storage,简称UFS)接口标准、小型快速(CompactFlash,简称CF)接口标准、整合式驱动电子接口(Integrated DeviceElectronics,简称IDE)标准或其他适合的标准。
记忆存储控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性记忆存储模块106中进行数据的写入、读取与抹除等操作。
可复写式非易失性记忆存储模块106是电性连接至记忆存储控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性记忆存储模块106包括第一记忆单元310与第二记忆单元320。第一记忆单元310包括一或多个存储器晶粒(die);相同地,第二记忆单元320也包括一或多个存储器晶粒。然而,第一记忆单元310与第二记忆单元320各自有一个或多个接脚(pin),电性连接至记忆存储控制器104。记忆存储控制器104可以传送致能信号至这些接脚来分别致能第一记忆单元310或第二记忆单元320中对应此致能脚位的存储器晶粒。
图2B是一实施例说明记忆存储控制器与可复写式非易失性记忆存储之间的电性连接关系。
请参照图2B,记忆存储控制器104可以通过信号312致能第一记忆单元310,并且通过信号322致能第二记忆单元320。记忆存储控制器104通过总线330来传送数据给第一记忆单元310与第二记忆单元320。当第一记忆单元310被致能时,会从总线330上读取数据。相同的,当第二记忆单元320被致能时,会从总线330上读取数据。其中在本实施例中,第一记忆单元310与第二记忆单元320是电性连接至相同总线330,但在另一实施例中,第一记忆单元310与第二记忆单元320可分别电性连接至不同的总线330,并不以此为限。
第一记忆单元310包括实体抹除单元311(0)~实体抹除单元311(A)(亦称第一实体抹除单元)。第二记忆单元320包括实体抹除单元321(0)~实体抹除单元321(B)(亦称第二实体抹除单元)。每个实体抹除单元可包括一个或多个实体程序化单元。属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体抹除单元为实体块,并且实体程序化单元为实体页面。在本实施例中,可复写式非易失性记忆存储模块106为多阶记忆胞(Multi Level Cell,简称MLC)NAND快速记忆存储模块,即一个记忆胞中可储存至少2个二进制位数据。也就是说,排列在同一条字符线上的数个记忆胞可以组成下实体程序化单元与上实体程序化单元。下实体程序化单元与上实体程序化单元会组成一个程序化单元组。一个实体抹除单元会包括多个实体程序化单元组。其中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度。另一方面,每一个实体抹除单元有抹除次数的上限。当仅使用下实体程序化单元时,抹除次数的上限是第一临界值(例如,5000次)。当使用下实体程序化单元与上实体程序化单元时,抹除次数的上限为第二临界值(例如,50000次)。第二临界值会大于第一临界值。然而,在其他实施例中,可复写式非易失性记忆存储模块106亦可是单数阶记忆胞(Single Level Cell,简称SLC)NAND型快速记忆存储模块、复数阶记忆胞(Trinary Level Cell,简称TLC)NAND型快速记忆存储模块、其他快速记忆存储模块或其他具有类似特性的记忆存储模块。
每一实体程序化单元(例如,上实体程序化单元或下实体程序化单元)通常包括数据二进制位区与冗余二进制位区。数据二进制位区包含多个实体存取地址用以储存使用者的数据,而冗余二进制位区用以储存系统的数据(例如,错误检查与校正码)。在本实施例中,每一个实体程序化单元的数据二进制位区中会包含4个实体存取地址,且一个实体存取地址的大小为512二进制位组(byte,简称B)。然而,在其他实施例中,数据二进制位区中也可包含8个、16个或数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。
图3是一实施例所示出的记忆存储控制器的概要方块图。
请参照图3,记忆存储控制器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标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
记忆存储接口206是电性连接至记忆存储管理电路202并且用以存取可复写式非易失性记忆存储模块106。也就是说,欲写入至可复写式非易失性记忆存储模块106的数据会经由记忆存储接口206转换为可复写式非易失性记忆存储模块106所能接受的格式。
在本发明一实施例中,记忆存储控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至记忆存储管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性记忆存储模块106的数据。
电源管理电路254是电性连接至记忆存储管理电路202并且用以控制记忆存储存储器100的电源。
错误检查与校正电路256是电性连接至记忆存储管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当记忆存储管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且记忆存储管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性记忆存储模块106中。之后,当记忆存储管理电路202从可复写式非易失性记忆存储模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4是一实施例所示出的管理第一记忆单元的范例示意图。
必须了解的是,在此描述可复写式非易失性记忆存储模块106的实体抹除单元的操作时,以“提取”、“分组”、“替换”、”关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性记忆存储模块106的实体抹除单元的实际位置并未变动,而是逻辑上对可复写式非易失性记忆存储模块106的实体抹除单元进行操作。
请参照图4,记忆存储控制器104可将第一记忆单元310的实体抹除单元311(0)~实体抹除单元311(A)逻辑地分组为多个区域,例如为数据区410、闲置区420、系统区430与取代区440。在另一实施例中,取代区440亦可与闲置区420共用包含无效数据的实体抹除单元。在此,“关联至一个区域的实体抹除单元”所代表的意思相同于“被分组为此区域的实体抹除单元”与“此区域的实体抹除单元”。
数据区410与闲置区420的实体抹除单元是用以储存来自于主机系统1000的数据。具体来说,数据区410包括已储存数据的实体抹除单元,而闲置区420包括用以替换数据区410的实体抹除单元。因此,闲置区420的实体抹除单元为空或可使用的实体抹除单元,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区420中的实体抹除单元已被执行抹除操作。或者,当闲置区420中的实体抹除单元被提取用于储存数据之前,所提取的实体抹除单元会先被执行抹除操作。因此,闲置区420的实体抹除单元为可被使用的实体抹除单元。
逻辑上属于系统区430的实体抹除单元是用以记录系统数据,其中此系统数据包括关于记忆存储晶片的制造商与型号、记忆存储晶片的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区440中的实体抹除单元是替代实体抹除单元。例如,可复写式非易失性记忆存储模块在出厂时会预留4%的实体抹除单元作为更换使用。也就是说,当数据区410、闲置区420与系统区430中的实体抹除单元损毁时,预留在取代区440中的实体抹除单元是用以取代损坏的实体抹除单元(即,坏实体抹除单元(bad physical erasingunit))。因此,倘若取代区440中仍存有正常的实体抹除单元且发生实体抹除单元损毁时,记忆存储控制器104会从取代区440中提取正常的实体抹除单元来更换损毁的实体抹除单元。倘若取代区440中无正常的实体抹除单元且发生实体抹除单元损毁时,则记忆存储控制器104会将整个记忆存储存储器100宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,数据区410、闲置区420、系统区430与取代区440的实体抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在记忆存储存储器100的操作中,实体抹除单元关联至数据区410、闲置区420、系统区430与取代区440的分组关系会动态地变动。例如,当闲置区420中的实体抹除单元损坏而被取代区440的实体抹除单元取代时,则原本取代区440的实体抹除单元会被关联至闲置区420。
在本实施例中,记忆存储控制器104会配置逻辑地址450(0)~逻辑地址450(G)。例如,当记忆存储存储器100被主机系统1000上的作业系统通过一个档案系统(例如,FAT 32)格式化时,逻辑地址450(0)~逻辑地址450(G)分别地映射至数据区410的实体抹除单元311(0)~实体抹除单元311(C)。在此,记忆存储管理电路202会建立逻辑地址-实体抹除单元映射表(logical block address-physical erasing unit mapping table),以记录逻辑地址与实体抹除单元之间的映射关系。
主机系统1000会通过逻辑地址450(0)~逻辑地址450(G)来存取数据。例如,主机系统1000下达了一个写入指令给记忆存储管理电路202,此写入指令是指示将第一数据460写入至逻辑地址450(0)。逻辑地址450(0)是映射至实体抹除单元311(0)。亦即,主机系统1000是通过存取逻辑地址450(0)来存取储存在实体抹除单元311(0)中的数据。记忆存储管理电路202在接收到此写入指令以后,会将第一数据460写入至闲置区420的实体抹除单元311(C+1)。之后在适当的时间点,记忆存储管理电路202会对相关于第一数据460的有效数据与第一数据460执行一个数据合并程序,用以整并属于逻辑地址450(0)的有效数据。具体来说,记忆存储管理电路202会将实体抹除单元311(0)中相关于第一数据460的有效数据(即,属于逻辑地址450(0)的有效数据)复制到实体抹除单元311(C+1),抹除实体抹除单元311(0),将实体抹除单元311(0)关联至闲置区420,将实体抹除单元311(C+1)关联至数据区410,并且将逻辑地址450(0)重新映射至实体抹除单元311(C+1)。
此外,记忆存储管理电路202还会将第一数据460写入至第二记忆单元320的实体抹除单元。也就是说,第二记忆单元320是用以备份第一数据460。当第一记忆单元310中的第一数据460遗失时,记忆存储管理电路202会从第二记忆单元320中读取第一数据460,并重新写入至第一记忆单元460的实体抹除单元。特别的是,在本实施例中,第二记忆单元320中可不实施上述的数据合并程序。换言之,在第二记忆单元320中相关于第一数据460的有效数据并不会与第一数据460一起被整并至同一个实体抹除单元。记忆存储管理电路202会在第二记忆单元320记录主机系统1000下达的写入指令与第一数据460,并且利用此写入指令的信息来回复第一数据460。
图5是一实施例说明管理第二记忆单元的示意图。
请参照图5,记忆存储管理电路202会将实体抹除单元321(0)~实体抹除单元321(B)分组为备份数据区510与指令记录区520。备份数据区510是用以备份主机系统1000写入至第一记忆单元310的数据。指令记录区520是用以记录主机系统1000所下达的写入指令。
图6是一实施例说明备份第一数据的示意图。
请参照图6,逻辑地址450(0)包括逻辑程序化单元地址610(0)~逻辑程序化单元地址610(J)。实体抹除单元321(0)包括实体程序化单元620(0)~实体程序化单元620(J)。实体抹除单元321(H+1)包括实体程序化单元630(0)~实体程序化单元630(L)。一个逻辑程序化单元地址是映射至一个实体程序化单元。主机系统1000是要将第一数据460写入至逻辑程序化单元地址610(0)与逻辑程序化单元地址610(1)而下达了写入指令给记忆存储管理电路202。换言之,第一数据460的数据长度是两个实体程序化单元的大小。在此,数据长度也表示第一数据460的数据量。除了将第一数据460写入至第一记忆单元310的实体抹除单元外,记忆存储管理电路202也会将第一数据460写入至实体抹除单元321(0)(亦称第三实体抹除单元)的实体程序化单元620(1)与实体程序化单元620(2)。并且,记忆存储管理电路202会将主机系统1000指示写入第一数据460的写入指令的至少部分记录在实体程序化单元630(0)中,成为写入指令640。当第一记忆单元310中的第一数据460遗失时,记忆存储管理电路202便可以读取写入指令640,并且根据写入指令640将第一数据460重新写入至第一记忆单元310。
在一实施例中,写入指令640可包括实体抹除单元321(0)的一个初始实体地址、以及第一数据460的数据长度。此初始实体地址是在第二记忆单元320中第一数据460开始被写入的地址。在本实施例中,此初始实体地址是实体程序化单元620(1)的实体地址。然而,在其他实施例中,实体抹除单元321(0)的初始实体地址也可以是一个实体扇或一个实体抹除单元的实体地址。
在一实施例中,记忆存储管理电路202会记录逻辑地址450(0)的一个初始逻辑地址。主机系统1000是指示从初始逻辑地址开始写入第一数据460,例如,初始逻辑地址是逻辑程序化单元地址610(0)。此初始逻辑地址可被视为写入指令640的一部分而被记录在实体程序化单元630(0)中或被视为第一数据460的一部分而被记录在实体程序化单元620(1)中的冗余二进制位区中,本发明并不以此为限。在另一实施例中,逻辑地址450(0)的初始逻辑地址也可以是一个逻辑扇地址或逻辑地址。
当记忆存储管理电路202要回复第一数据460时,会从实体抹除单元321(H+1)中读取实体抹除单元321(0)的初始实体地址以及第一数据460的数据长度。根据初始实体地址,记忆存储管理电路202可以在第二记忆单元320中找到第一数据460。再根据数据长度,记忆存储管理电路202便可以从第二记忆单元320的实体抹除单元中读取出第一数据460。在一实施例中,记忆存储管理电路202还会读取逻辑地址450(0)的初始逻辑地址、并且根据初始逻辑地址、第一数据460以及数据长度重建出一个写入指令。记忆存储管理电路202会将重建出的写入指令传送给主机系统1000上的一个应用程序。此应用程序会下达此重建出的写入指令,用以将第一数据460写入至第一记忆单元310。在另一实施例中,记忆存储管理电路202也可以自己根据所读取数据长度来将第一数据460写入至第一记忆单元310的实体抹除单元,并不用通过主机系统1000。
在一实施例中,记忆存储管理电路202仅使用实体抹除单元321(H+1)的下实体程序化单元来记录写入指令640(即,实体程序化单元630(0)~实体程序化单元630(L)皆是下实体程序化单元)。也就是说,记忆存储管理电路202会设定实体抹除单元321(H+1)的上实体程序化单元为不可程序化。由于当一个实体抹除单元中仅下实体程序化单元被程序化时,此实体抹除单元所储存的数据比较不容易遗失(相较于下实体程序化单元与上实体程序化单元都被程序化),因此写入指令640较不容易遗失。
在其他实施例中,所记录的写入指令640也可以包括第一数据460被写入的时间、或者包括第一数据460是否已正确地被写入至第一记忆单元310的信息,本发明并不以此为限。
记忆存储管理电路202会对第一记忆单元310的实体抹除单元311(0)~实体抹除单元311(A)执行一个平均磨损(wear-leveling)程序(亦称第一平均磨损程序);并且会对第二记忆单元320的实体抹除单元321(0)~实体抹除单元321(B)执行另一个平均磨损程序(亦称第二平均磨损程序)。换言之,第一平均磨损程序不同于第二平均磨损程序。平均磨损程序是用以将存取频率高的数据移动至抹除次数较少的实体抹除单元,因此两个实体抹除单元所储存的数据会被交换。在本实施例中,当被执行平均抹损程序时,实体抹除单元311(0)~实体抹除单元311(A)之间的交换频率会高于实体抹除单元321(0)~实体抹除单元321(B)之间的交换频率。此交换频率所指的便是交换数据的频率。
在本实施例中,记忆存储管理电路202是用两平面(two-plane)的方式将第一数据460同时写入第一记忆单元310与第二记忆单元320。因此,记忆存储管理电路202会将第一数据460分为第一部分与第二部分。
请再次参照图2B,首先,记忆存储管理电路202会致能第一记忆单元310,禁能第二记忆单元320,并且传送一个第一指令给第一记忆单元310。此第一指令是用以通知第一记忆单元310第一部分将要被写入。接着,记忆存储管理电路202会通过总线330传送一个实体地址给第一记忆单元310。此实体地址是表示第一部分要被写入至第一记忆单元310中的哪一个实体抹除单元。此时,由于第二记忆单元320被禁能,因此不会接收到此实体地址。
接下来,记忆存储管理电路202会致能第二记忆单元320,并且禁能第一记忆单元310。接着,记忆存储管理电路202会传送此第一指令给第二记忆单元320。类似地,记忆存储管理电路202会传送一个实体地址给第二记忆单元320。此实体地址是表示第一部分要被写入至第二记忆单元320中的哪一个实体抹除单元。因此,第一记忆单元310与第二记忆单元320会接收到不同的实体地址。
在接收到第一指令以后,第一记忆单元310与第二记忆单元320便准备从总线330上接收数据。接着,记忆存储管理电路202会通过总线330将第一部分同时传送给第一记忆单元310与第二记忆单元320。换句话说,此时第一记忆单元310与第二记忆单元320会同时接收相同的数据。
接着,记忆存储管理电路202会同时致能第一记忆单元310与第二记忆单元320,并且同时传送一个第二指令给第一记忆单元310与第二记忆单元320。此第二指令是对应至第一指令,用以表示第一部分已传送完毕。值得注意的是,此时第一部分会储存在第一记忆单元310与第二记忆单元320中的寄存存储器,并不会被写入至实体抹除单元中。
接着,记忆存储管理电路202会致能第一记忆单元310、禁能第二记忆单元320、传送一个第三指令给第一记忆单元310。此第三指令表示第二部分将要被写入。记忆存储管理电路202会传送一个实体地址给第一记忆单元310,用以表示第二部分要被写入第一记忆单元310的哪一个实体抹除单元。
接着,记忆存储管理电路202会致能第二记忆单元320、禁能第一记忆单元310、传送第三指令给第二记忆单元320。记忆存储管理电路202会传送一个实体地址给第二记忆单元320,用以表示第二部分要被写入第二记忆单元320中的哪一个实体抹除单元。
在接收到第三指令以后,第一记忆单元310与第二记忆单元320便准备从总线330上接收数据。接着,记忆存储管理电路202会通过总线330将第二部分同时传送给第一记忆单元310与第二记忆单元320。
最后,记忆存储管理电路202会致能第一记忆单元310与第二记忆单元320,并且同时传送一个第四指令给第一记忆单元310与第二记忆单元320。此第四指令是用以指示第一记忆单元310与第二记忆单元320将第一部分与第二部分写入至所对应的实体抹除单元。因此,第一数据460可以同时被写入至第一记忆单元310与第二记忆单元320。并且,第一数据460在总线330上仅会被传送一次,从而降低总线330的带宽需求。
在另一实施例中,记忆存储管理电路202也可以用单平面(one-plane)的方式将第一数据460同时写入第一记忆310单元与第二记忆单元320。换言之,此时第一数据460并不会被分为第一部分与第二部分。
每当主机系统1000下达一个写入指令以后,记忆存储管理电路202便会将对应的数据写入至第一记忆单元310并且备份至第二记忆单元320。若第二记忆单元320中已经没有可用的实体抹除单元以后,记忆存储管理电路202会抹除第二记忆单元320中部分的实体抹除单元。
图7是一实施例说明抹除备份数据区的实体抹除单元的范例示意图。
请参照图7,在备份数据区510中,记忆存储管理电路202会设定实体抹除单元321(0)的程序化序列在实体抹除单元321(1)之前,而实体抹除单元321(1)的程序化序列是在实体抹除单元321(2)之前。实体抹除单元321(1)包括实体程序化单元721(0)~实体程序化单元721(J)。记忆存储管理电路202会建立一个前指针730,指向实体抹除单元321(0)(亦称第四实体抹除单元)中的实体程序化单元620(J)。亦即,前指针730是用实体程序化单元620(J)的实体地址来表示。当要备份第一数据460时,前指针730是用以指向第一数据460所要开始储存的第一个实体程序化单元。此外,记忆存储管理电路202也会建立一个后指针740,指向实体抹除单元321(1)(亦称第五实体抹除单元)。换言之,后指针740是表示为实体抹除单元321(1)的实体地址。在此实施例中,实体抹除单元321(1)的实体地址亦为其中第一个实体程序化单元721(0)的实体地址。
当要备份第一数据460时,记忆存储管理电路202会从前指针730所指向的实体程序化单元620(J)开始写入第一数据460。并且,记忆存储管理电路202会判断实体抹除单元321(0)~实体抹除单元321(H)中的闲置记忆存储空间是否足够写入第一数据460。此闲置记忆存储空间即表示已被抹除,可用来写入新数据的实体抹除单元的记忆存储空间。在此假设闲置记忆存储空间仅包括实体程序化单元620(J)。当闲置记忆存储空间不足够写入第一数据460时,记忆存储管理电路202会抹除后指针740所指向的实体抹除单元721(0)。从而,记忆存储管理电路202可以将第一数据460连续地写入至实体程序化单元721(0)。并且,记忆存储管理电路202会将后指针740移动至另一个实体抹除单元(例如,实体抹除单元321(H))。
值得注意的是,在另一实施例中,在备份第一数据460之前,后指针740也可指向实体抹除单元321(2)。因此,若闲置记忆存储空间不足够写入第一数据460时,第一数据460会被分别写入实体程序化单元620(J)与实体抹除单元321(2)当中,本发明并不以此为限。
在一实施例中,实体抹除单元321(0)~实体抹除单元321(H)中所有的实体程序化单元被表示为连续的实体地址。前指针730所指向的是第一数据460可开始被写入的实体程序化单元;而后指针740所指向的是第一数据460不能被写入的实体程序化单元。换言之,前指针730与后指针740之间的实体程序化单元为第一数据460可被写入的区域。记忆存储管理电路202会判断前指针730所表示的实体地址加上第一数据460的数据长度的和是否会大于后指针740所表示的实体地址,从而判断是否要抹除一个实体抹除单元。举例来说,第一数据460的数据长度为两个实体程序化单元的大小。因此,实体程序化单元620(J)的实体地址加上第一数据460的数据长度的和会成为实体程序化单元721(1)的实体地址。记忆存储管理电路202会判断实体程序化单元721(1)的实体地址大于实体抹除单元321(1)的实体地址。此时,记忆存储管理电路202会将后指针740移动至实体抹除单元321(2)(亦称第六实体抹除单元),并且抹除实体抹除单元321(1)。接着,记忆存储管理电路202会将第一数据460写入至实体程序化单元620(J)与实体程序化单元721(0),并且把前指针740移动至实体程序化单元721(1)。
值得注意的是,当后指针740指向实体抹除单元321(H)时,若记忆存储管理电路202判断要再移动后指针740,则会将后指针740移动至实体抹除单元321(0)。换言之,备份数据区510是以循环的方式来储存数据,并且当其中没有可用的实体抹除单元时,最旧的数据会被抹除。
在另一实施例中,当记忆存储管理电路202判断要写入的数据量大于前指针730所指向的实体程序化单元所可写入的数据量时,记忆存储管理电路202会在实体抹除单元321(0)~实体抹除单元321(H)中,再找一个可写入数据的实体抹除单元(例如是已抹除过的实体抹除单元),再将后指针740移动至另一可写入数据的实体抹除单元,并将前指针730移动至接续第一数据460后的实体程序化单元。
图8至图10是一实施例说明抹除指令记录区的实体抹除单元的范例示意图。
请参照图8,记忆存储管理电路202会将指令记录区520的实体抹除单元划分为第一指令记录区810与第二指令记录区820。在此实施例中,第一指令记录区810的大小相同于第二指令记录区820的大小。第一指令记录区810包括了实体抹除单元321(H+1)~实体抹除单元321(K)。第二指令记录区820包括了实体抹除单元321(K+1)~实体抹除单元321(I)。实体抹除单元321(H+1)包括实体程序化单元830(0)~实体程序化单元830(L);实体抹除单元321(K)包括实体程序化单元821(0)~实体程序化单元821(L);实体抹除单元321(K+1)包括实体程序化单元834(0)~实体程序化单元834(L);并且实体抹除单元321(I)包括实体程序化单元836(0)~实体程序化单元836(L)。
记忆存储管理电路202会建立第一指针802与第二指针804。在指令记录区520中没有储存任何有效数据时,第一指针802与第二指针804都指向实体程序化单元830(0)。当记忆存储管理电路要把一个写入指令记录在指令记录区520时,会将此写入指令记录在第二指针804所指向的实体程序化单元,并且把第二指针804移动至下一个实体程序化单元。例如,第二指针804会从实体程序化单元830(0)被移动至实体程序化单元830(1)。当第二指针804被移动至实体程序化单元832(L)时,表示第一命令记录区810已没有可用的实体抹除单元。此时若再接收一个写入指令,则记忆存储管理电路202会将第二指针移动至实体程序化单元834(0),并将第一指针移动至实体程序化单元830(1)(如图9所示)。换句话说,当第一指令记录区810已没有可用的实体程序化单元时,记忆存储管理电路202会同时移动第一指针802与第二指针804。
请参照图10,依照上述移动方式,当第二指针804被移动到实体程序化单元836(L)时,第一指针802会被移动至实体程序化单元834(0)。此时记忆存储管理电路202会判断第一指针802与第二指针804都指向第二指令记录区820。记忆存储管理电路202会抹除第一指令记录区810中的至少一个实体抹除单元(或全部的实体抹除单元)。如此一来,第一指令记录区810便可以用来记录其他的写入指令。
值得注意的是,接下来第二指针804会从实体程序化单元836(L)被移动至实体程序化单元830(0)。换言之,第一指令记录区810与第二指令记录区820是交替的被使用。在另一实施例中,第一指令记录区810的大小可以不同于第二指令记录区820的大小,本发明并不以此为限。
在一实施例中,记忆存储管理电路202也会将第一指针802、第二指针804、前指针730与后指针740记录在系统区430中的实体抹除单元。当记忆存储存储器100被断电时,这些指针便不会遗失。
在另一实施例中,当第二记忆单元320中已没有可用的实体抹除单元时,记忆存储管理电路202会停止备份数据。此时主机系统1000所要写入的数据只会被写入至第一记忆单元310。当第二记忆单元320中有可用的实体抹除单元可记录数据与写入指令以后,记忆存储管理电路202才会开始备份。
图11是一实施例说明数据管理方法的流程图。
请参照图11,在步骤S1102中,记忆存储管理电路202会将第一记忆单元的实体抹除单元至少划分出数据区与闲置区,并且将第二记忆单元的实体抹除单元至少划分出备份数据区与指令记录区。
在步骤S1104中,记忆存储管理电路202会配置多个逻辑地址以映射到关联至数据区的实体抹除单元。
在步骤S1106中,记忆存储管理电路202会接收一个指示将第一数据写入至第一逻辑地址的写入指令。
在步骤S1108中,记忆存储管理电路202会将第一数据写入到关联至闲置区的实体抹除单元的其中之一,并且将第一数据写入到关联至备份数据区的实体抹除单元的其中之一。
在步骤S1110中,记忆存储管理电路202会将至少部分的写入指令记录在关联至指令记录区的实体抹除单元的其中之一。
然而,步骤S1108与步骤S1110可以互换,本发明并不限制图11中各步骤的顺序。并且,图11中各步骤已详细说明如上,在此并不再赘述。
综上所述,本发明实施例提出一种数据管理方法、记忆存储控制器与记忆存储存储器。其中主机系统下达的写入指令会被备份在可复写式非易失性记忆存储中,从而根据这些写入指令重建出遗失的数据。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (30)
1.一种数据管理方法,其特征在于,用于一可复写式非易失性记忆存储模块,其中该可复写式非易失性记忆存储包括一第一记忆单元与一第二记忆单元,该第一记忆单元包括多个第一实体抹除单元,并且该第二记忆单元包括多个第二实体抹除单元,该数据管理方法包括:
将该些第一实体抹除单元至少划分出一数据区与一闲置区,并且将该些第二实体抹除单元至少划分出一备份数据区与一指令记录区;
配置多个逻辑地址以映射至关联至该数据区的该些第一实体抹除单元;
接收一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址的至少一第一逻辑地址;
将该第一数据写入该第一记忆单元的该些第一实体抹除单元中关联至该闲置区的其中之一,并且将该第一数据写入至该第二记忆单元的该些第二实体抹除单元中关联至该备份数据区的其中之一以回应该写入指令;
将至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一;以及
对位于该些第一实体抹除单元中相关于该第一数据的一有效数据与该第一数据执行一数据合并程序,
其中位于该些第二实体抹除单元中相关于该第一数据的一有效数据不与该第一数据进行该数据合并程序。
2.根据权利要求1所述的数据管理方法,其特征在于,该第一数据包括一第一部分与一第二部分,其中将该第一数据写入至该些第一实体抹除单元中关联至该闲置区的其中之一,并且将该第一数据写入至该些第二实体抹除单元中关联至该备份数据区的其中之一的步骤包括:
致能该第一记忆单元,并且传送一第一指令至该第一记忆单元,其中该第一指令用以指示该第一部分欲被写入;
致能该第二记忆单元,并且传送该第一指令至该第二记忆单元;
同时将该第一部分传送至该第一记忆单元与该第二记忆单元;
致能该第一记忆单元与该第二记忆单元,并且同时传送一第二指令至该第一记忆单元与该第二记忆单元,其中该第二指令用以表示该第一部分已传送完毕;
致能该第一记忆单元,传送一第三指令至该第一记忆单元,其中该第三指令用以指示该第二部分欲被写入;
致能该第二记忆单元,传送该第三指令至该第二记忆单元;
同时将该第二部分传送至该第一记忆单元与该第二记忆单元;以及
致能该第一记忆单元与该第二记忆单元,同时传送一第四指令至该第一记忆单元与该第二记忆单元,其中该第四指令用以指示将该第一部分与该第二部分写入。
3.根据权利要求1所述的数据管理方法,其特征在于,该第一数据是被写入至该些第二实体抹除单元中关联至该备份数据区的一第三实体抹除单元,其中将该至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的步骤包括:
将该第三实体抹除单元的一初始实体地址以及该第一数据的一数据长度写入至该些第二实体抹除单元关联至该指令记录区的其中之一,其中该第一数据是从该初始实体地址开始被写入。
4.根据权利要求3所述的数据管理方法,其特征在于,将该第一数据写入至该些第二实体抹除单元中关联至该备份数据区的其中之一的步骤还包括:
建立一前指针,其中该前指针指向该些第二实体抹除单元中关联至该备份数据区的一第四实体抹除单元中的一第一实体程序化单元;
建立一后指针,其中该后指针指向该些第二实体抹除单元中关联至该备份数据区的一第五实体抹除单元;
将该第一数据写入至该第一实体程序化单元;
判断关联至该备份数据区的该些第二实体抹除单元的一闲置记忆存储空间是否足够写入该第一数据;
若该闲置记忆存储空间不足够写入该第一数据时,抹除该第五实体抹除单元,将该第一数据写入至该第五实体抹除单元,将该后指针移动至一第六实体抹除单元,并将该前指针移动至接续在该第一数据后的实体程序化单元。
5.根据权利要求4所述的数据管理方法,其特征在于,判断该闲置记忆存储空间是否足够写入该第一数据的步骤包括:
判断该第一实体程序化单元的一实体地址加上该数据长度的和是否超过该第五实体抹除单元的一实体地址;
若该第一实体程序化单元的该实体地址加上该数据长度的和超过该第五实体抹除单元的该实体地址,则判断该闲置记忆存储空间不足够写入该第一数据,
其中该第六实体抹除单元的程序化序列接续在该第五实体抹除单元之后。
6.根据权利要求3所述的数据管理方法,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元,其中将该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的步骤包括:
将该指令记录区的该些第二实体抹除单元划分为一第一指令记录区与一第二指令记录区;
建立一第一指针与一第二指针,其中该第一指针与该第二指针指向该些第二实体抹除单元中关联至该第一指令记录区的其中之一或指向该些实体程序化单元中关联至该第二指令记录区的其中之一;
将该写入指令记录在该第二指针所指向的该实体程序化单元,并且将该第二指针移动至下一个实体程序化单元;以及
当该第一指针与该第二指针皆指向该第二指令记录区时,抹除该些第二实体抹除单元中关联至该第一指令记录区的其中之一。
7.根据权利要求3所述的数据管理方法,其特征在于,还包括;
从关联至该指令记录区的该些第二实体抹除单元中读取该第三实体抹除单元的该初始实体地址以及该第一数据的该数据长度;
根据该第一数据的该数据长度以及该第三实体抹除单元的该初始实体地址,从该备份数据区中读取该第一数据;以及
将该第一数据写入至该些第一实体抹除单元的其中之一。
8.根据权利要求6所述的数据管理方法,其特征在于,还包括:
将该些第一实体抹除单元还划分出一系统区;以及
将该第一指针、该第二指针、一前指针以及一后指针写入至该些第一实体抹除单元中关联至该系统区的其中之一。
9.根据权利要求1所述的数据管理方法,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元组,每一该些实体程序化单元组包括一下实体程序化单元与一上实体程序化单元,并且该下实体程序化单元的写入速度大于该上实体程序化单元的写入速度,其中将该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的步骤包括:
仅使用关联至该指令记录区的该些第二实体抹除单元的该些下实体程序化单元来记录该至少部分的该写入指令。
10.根据权利要求1所述的数据管理方法,其特征在于,还包括:
执行一第一平均磨损程序在该些第一实体抹除单元;以及
执行一第二平均磨损程序在该些第二实体抹除单元,
其中该第一平均磨损程序不同于该第二平均磨损程序,且该些第一实体抹除单元之间的一交换频率高于该些第二实体抹除单元之间的一交换频率。
11.一种记忆存储存储器,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性记忆存储模块,包括一第一记忆单元与一第二记忆单元,该第一记忆单元包括多个第一实体抹除单元,该第二记忆单元包括多个第二实体抹除单元;以及
一记忆存储控制器,电性连接至该连接器与该可复写式非易失性记忆存储模块,用以将该些第一实体抹除单元至少划分出一数据区与一闲置区,将该些第二实体抹除单元至少划分出一备份数据区与一指令记录区,并且配置多个逻辑地址以映射至关联至该数据区的该些第一实体抹除单元,
其中,该记忆存储控制器用以接收一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址的至少一第一逻辑地址,
其中,该记忆存储控制器用以将该第一数据写入至该第一记忆单元的该些第一实体抹除单元中关联至该闲置区的其中之一,将该第一数据写入至该第二记忆单元的该些第二实体抹除单元中关联至该备份数据区的其中之一以回应该写入指令,并且将至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一,
其中,该记忆存储控制器还用以对位于该些第一实体抹除单元中相关于该第一数据的一有效数据与该第一数据执行一数据合并程序,
其中,该记忆存储控制器对位于该些第二实体抹除单元中相关于该第一数据的一有效数据与该第一数据不进行该数据合并程序。
12.根据权利要求11所述的记忆存储存储器,其特征在于,该第一数据包括一第一部分与一第二部分,该记忆存储控制器将该第一数据写入至该第一记忆单元的该些第一实体抹除单元中关联至该闲置区的其中之一,并且将该第一数据写入至该第二记忆单元的该些第二实体抹除单元中关联至该备份数据区的其中之一的操作包括:
该记忆存储控制器用以致能该第一记忆单元,并且传送一第一指令至该第一记忆单元,其中该第一指令用以指示该第一部分欲被写入,
该记忆存储控制器用以致能该第二记忆单元,传送该第一指令至该第二记忆单元,并且同时将该第一部分传送至该第一记忆单元与该第二记忆单元,
该记忆存储控制器用以致能该第一记忆单元与该第二记忆单元,并且同时传送一第二指令至该第一记忆单元与该第二记忆单元,其中该第二指令用以表示该第一部分已传送完毕,
该记忆存储控制器用以致能该第一记忆单元,并且传送一第三指令至该第一记忆单元,其中该第三指令用以指示该第二部分欲被写入,
该记忆存储控制器用以致能该第二记忆单元,传送该第三指令至该第二记忆单元,并且同时将该第二部分传送至该第一记忆单元与该第二记忆单元,
该记忆存储控制器用以致能该第一记忆单元与该第二记忆单元,并且同时传送一第四指令至该第一记忆单元与该第二记忆单元,其中该第四指令用以指示将该第一部分与该第二部分写入。
13.根据权利要求11所述的记忆存储存储器,其特征在于,该第一数据是被写入至该些第二实体抹除单元中关联至该备份数据区的一第三实体抹除单元,该记忆存储控制器将至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储控制器用以将该第三实体抹除单元的一初始实体地址以及该第一数据的一数据长度写入至该些第二实体抹除单元中关联至该指令记录区的其中之一,其中该第一数据是从该初始实体地址开始被写入。
14.根据权利要求13所述的记忆存储存储器,其特征在于,该记忆存储控制器还用以建立一前指针,其中该前指针指向该些第二实体抹除单元关联至该备份数据区的一第四实体抹除单元中的一第一实体程序化单元,
其中,该记忆存储控制器还用以建立一后指针,其中该后指针指向该些第二实体抹除单元中关联至该备份数据区的一第五实体抹除单元,
其中,该记忆存储控制器还用以将该第一数据写入至该第一实体程序化单元,并判断关联至该备份数据区的该些第二实体抹除单元的一闲置记忆存储空间是否足够写入该第一数据,
若该闲置记忆存储空间不足够写入该第一数据时,该记忆存储控制器还用以抹除该第五实体抹除单元,将该第一数据写入至该第五实体抹除单元,将该后指针移动至一第六实体抹除单元,并将该前指针移动至接续在该第一数据后的实体程序化单元。
15.根据权利要求14所述的记忆存储存储器,其特征在于,该记忆存储控制器判断该闲置记忆存储空间是否足够写入该第一数据的操作包括:
该记忆存储控制器用以判断该第一实体程序化单元的一实体地址加上该数据长度的和是否超过该第五实体抹除单元的一实体地址,
若该第一实体程序化单元的该实体地址加上该数据长度的和超过该第五实体抹除单元的该实体地址,该记忆存储控制器判断该闲置记忆存储空间不足够写入该第一数据,
其中该第六实体抹除单元的程序化序列接续在该第五实体抹除单元之后。
16.根据权利要求13所述的记忆存储存储器,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元,该记忆存储控制器将该至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储控制器用以将该指令记录区的该些第二实体抹除单元划分为一第一指令记录区与一第二指令记录区,并且建立一第一指针与一第二指针,其中该第一指针与该第二指针指向该些第二实体抹除单元关联至该第一指令记录区的其中之一或指向该些实体程序化单元中关联至该第二指令记录区的其中之一,
该记忆存储控制器用以将该写入指令记录在该第二指针所指向的该实体程序化单元,并且将该第二指针移动至下一个实体程序化单元,
当该第一指针与该第二指针皆指向该第二指令记录区时,该记忆存储控制器用以抹除该些第二实体抹除单元中关联至该第一指令记录区的其中之一。
17.根据权利要求13所述的记忆存储存储器,其特征在于,该记忆存储控制器还用以从关联至该指令记录区的该些第二实体抹除单元中读取该第三实体抹除单元的该初始实体地址以及该第一数据的该数据长度,
该记忆存储控制器还用以根据该第一数据的该数据长度以及该第三实体抹除单元的该初始实体地址,从该备份数据区中读取该第一数据,
该记忆存储控制器还用以将该第一数据写入至该些第一实体抹除单元的其中之一。
18.根据权利要求16所述的记忆存储存储器,其特征在于,该记忆存储控制器还用以将该些第一实体抹除单元还划分出一系统区,并且将该第一指针、该第二指针、一前指针以及一后指针写入至该些第一实体抹除单元中关联至该系统区的其中之一。
19.根据权利要求11所述的记忆存储存储器,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元组,每一该些实体程序化单元组包括一下实体程序化单元与一上实体程序化单元,并且该下实体程序化单元的写入速度大于该上实体程序化单元的写入速度,其中该记忆存储控制器将该至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储控制器用以仅使用关联至该指令记录区的该些第二实体抹除单元的该些下实体程序化单元来记录该至少部分的该写入指令。
20.根据权利要求11所述的记忆存储存储器,其特征在于,该记忆存储控制器还用以执行一第一平均磨损程序在该些第一实体抹除单元,并且执行一第二平均磨损程序在该些第二实体抹除单元,
其中该第一平均磨损程序不同于该第二平均磨损程序,且该些第一实体抹除单元之间的一交换频率高于该些第二实体抹除单元之间的一交换频率。
21.一种记忆存储控制器,其特征在于,包括:
一主机接口,用以电性连接至一主机系统;
一记忆存储接口,用以电性连接至一可复写式非易失性记忆存储模块,其中该可复写式非易失性记忆存储模块包括一第一记忆单元与一第二记忆单元,该第一记忆单元包括多个第一实体抹除单元,并且该第二记忆单元包括多个第二实体抹除单元;以及
一记忆存储管理电路,电性连接至该主机接口与该记忆存储接口,用以将该些第一实体抹除单元至少划分出一数据区与一闲置区,将该些第二实体抹除单元至少划分出一备份数据区与一指令记录区,并且配置多个逻辑地址以映射至关联至该数据区的该些第一实体抹除单元,
其中,该记忆存储管理电路用以接收一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址的至少一第一逻辑地址,
其中,该记忆存储管理电路用以将该第一数据写入至该第一记忆单元的该些第一实体抹除单元中关联至该闲置区的其中之一,将该第一数据写入至该第二记忆单元的该些第二实体抹除单元中关联至该备份数据区的其中之一以回应该写入指令,并且将至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一
其中,该记忆存储管理电路还用以对位于该些第一实体抹除单元中相关于该第一数据的一有效数据与该第一数据执行一数据合并程序,
其中,该记忆存储管理电路对位于该些第二实体抹除单元中相关于该第一数据的一有效数据与该第一数据不进行该数据合并程序。
22.根据权利要求21所述的记忆存储控制器,其特征在于,该第一数据包括一第一部分与一第二部分,该记忆存储管理电路将该第一数据写入至该第一记忆单元的该些第一实体抹除单元中关联至该闲置区的其中之一,并且将该第一数据写入至该第二记忆单元的该些第二实体抹除单元中关联至该备份数据区的其中之一的操作包括:
该记忆存储管理电路用以致能该第一记忆单元,并且传送一第一指令至该第一记忆单元,其中该第一指令用以指示该第一部分欲被写入,
该记忆存储管理电路用以致能该第二记忆单元,传送该第一指令至该第二记忆单元,并且同时将该第一部分传送至该第一记忆单元与该第二记忆单元,
该记忆存储管理电路用以致能该第一记忆单元与该第二记忆单元,并且同时传送一第二指令至该第一记忆单元与该第二记忆单元,其中该第二指令用以表示该第一部分已传送完毕,
该记忆存储管理电路用以致能该第一记忆单元,并且传送一第三指令至该第一记忆单元,其中该第三指令用以指示该第二部分欲被写入,
该记忆存储管理电路用以致能该第二记忆单元,传送该第三指令至该第二记忆单元,并且同时将该第二部分传送至该第一记忆单元与该第二记忆单元,
该记忆存储管理电路用以致能该第一记忆单元与该第二记忆单元,并且同时传送一第四指令至该第一记忆单元与该第二记忆单元,其中该第四指令用以指示将该第一部分与该第二部分写入。
23.根据权利要求21所述的记忆存储控制器,其特征在于,该第一数据是被写入至该些第二实体抹除单元中关联至该备份数据区的一第三实体抹除单元,
其中该记忆存储管理电路将至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储管理电路用以将该第三实体抹除单元的一初始实体地址以及该第一数据的一数据长度写入至该些第二实体抹除单元中关联至该指令记录区的其中之一,其中该第一数据是从该初始实体地址开始被写入。
24.根据权利要求23所述的记忆存储控制器,其特征在于,该记忆存储管理电路还用以建立一前指针,其中该前指针指向该些第二实体抹除单元关联至该备份数据区的一第四实体抹除单元中的一第一实体程序化单元,
其中,该记忆存储管理电路还用以建立一后指针,其中该后指针指向该些第二实体抹除单元中关联至该备份数据区的一第五实体抹除单元,
其中,该记忆存储管理电路还用以将该第一数据写入至该第一实体程序化单元,并判断关联至该备份数据区的该些第二实体抹除单元的一闲置记忆存储空间是否足够写入该第一数据,
若该闲置记忆存储空间不足够写入该第一数据时,该记忆存储管理电路还用以抹除该第五实体抹除单元,将该第一数据写入至该第五实体抹除单元,将该后指针移动至一第六实体抹除单元,并将该前指针移动至接续在该第一数据后的实体程序化单元。
25.根据权利要求24所述的记忆存储控制器,其特征在于,该记忆存储管理电路判断该闲置记忆存储空间是否足够写入该第一数据的操作包括:
该记忆存储管理电路用以判断该第一实体程序化单元的一实体地址加上该数据长度的和是否超过该第五实体抹除单元的一实体地址,
若该第一实体程序化单元的该实体地址加上该数据长度的和超过该第五实体抹除单元的该实体地址,该记忆存储管理电路判断该闲置记忆存储空间不足够写入该第一数据,
其中该第六实体抹除单元的程序化序列接续在该第五实体抹除单元之后。
26.根据权利要求23所述的记忆存储控制器,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元,其中,该记忆存储管理电路还用以将该指令记录区的该些第二实体抹除单元划分为一第一指令记录区与一第二指令记录区,并且建立一第一指针与一第二指针,其中该第一指针与该第二指针指向该些第二实体抹除单元关联至该第一指令记录区的其中之一或指向该些实体程序化单元中关联至该第二指令记录区的其中之一,
其中该记忆存储管理电路将该至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储管理电路用以将该写入指令记录在该第二指针所指向的该实体程序化单元,并且将该第二指针移动至下一个实体程序化单元,
当该第一指针与该第二指针皆指向该第二指令记录区时,该记忆存储管理电路还用以抹除该些第二实体抹除单元中关联至该第一指令记录区的其中之一。
27.根据权利要求23所述的记忆存储控制器,其特征在于,该记忆存储管理电路还用以从关联至该指令记录区的该些第二实体抹除单元中读取该第三实体抹除单元的该初始实体地址以及该第一数据的该数据长度,
该记忆存储管理电路还用以根据该第一数据的该数据长度以及该第三实体抹除单元的该初始实体地址,从该备份数据区中读取该第一数据,
该记忆存储管理电路还用以将该第一数据写入至该些第一实体抹除单元的其中之一。
28.根据权利要求26所述的记忆存储控制器,其特征在于,该记忆存储管理电路还用以将该些第一实体抹除单元还划分出一系统区,并且将该第一指针、该第二指针、一前指针以及一后指针写入至该些第一实体抹除单元中关联至该系统区的其中之一。
29.根据权利要求21所述的记忆存储控制器,其特征在于,每一该些第二实体抹除单元包括多个实体程序化单元组,每一该些实体程序化单元组包括一下实体程序化单元与一上实体程序化单元,并且该下实体程序化单元的写入速度大于该上实体程序化单元的写入速度,
其中该记忆存储管理电路将该至少部分的该写入指令记录在该些第二实体抹除单元中关联至该指令记录区的其中之一的操作包括:
该记忆存储管理电路用以仅使用关联至该指令记录区的该些第二实体抹除单元的该些下实体程序化单元来记录该至少部分的该写入指令。
30.根据权利要求21所述的记忆存储控制器,其特征在于,该记忆存储管理电路还用以执行一第一平均磨损程序在该些第一实体抹除单元,并且执行一第二平均磨损程序在该些第二实体抹除单元,
其中该第一平均磨损程序不同于该第二平均磨损程序,且该些第一实体抹除单元之间的一交换频率高于该些第二实体抹除单元之间的一交换频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290508.0A CN103593255B (zh) | 2012-08-15 | 2012-08-15 | 数据管理方法、记忆存储存储器与记忆存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290508.0A CN103593255B (zh) | 2012-08-15 | 2012-08-15 | 数据管理方法、记忆存储存储器与记忆存储控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593255A CN103593255A (zh) | 2014-02-19 |
CN103593255B true CN103593255B (zh) | 2016-12-21 |
Family
ID=50083410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210290508.0A Active CN103593255B (zh) | 2012-08-15 | 2012-08-15 | 数据管理方法、记忆存储存储器与记忆存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593255B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940623B (zh) * | 2016-01-04 | 2020-06-09 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
CN106970763B (zh) * | 2016-01-14 | 2020-02-14 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN107544922B (zh) * | 2016-06-24 | 2020-01-21 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元及存储器存储装置 |
CN106990921B (zh) * | 2017-03-24 | 2019-10-11 | 合肥兆芯电子有限公司 | 数据写入方法、存储器存储装置与存储器控制电路单元 |
TW202018513A (zh) * | 2018-11-07 | 2020-05-16 | 威剛科技股份有限公司 | 固態硬碟及其資料存取的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499028A (zh) * | 2009-03-18 | 2009-08-05 | 成都市华为赛门铁克科技有限公司 | 一种基于非易失性存储器的数据保护方法和装置 |
CN102063380A (zh) * | 2010-12-31 | 2011-05-18 | 北京握奇数据系统有限公司 | 一种向非易失性存储器写入数据的方法及装置 |
TW201128389A (en) * | 2010-02-04 | 2011-08-16 | Phison Electronics Corp | Flash memory storage device, controller thereof, and method for programming data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
TWI385523B (zh) * | 2009-11-06 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 |
-
2012
- 2012-08-15 CN CN201210290508.0A patent/CN103593255B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499028A (zh) * | 2009-03-18 | 2009-08-05 | 成都市华为赛门铁克科技有限公司 | 一种基于非易失性存储器的数据保护方法和装置 |
TW201128389A (en) * | 2010-02-04 | 2011-08-16 | Phison Electronics Corp | Flash memory storage device, controller thereof, and method for programming data |
CN102063380A (zh) * | 2010-12-31 | 2011-05-18 | 北京握奇数据系统有限公司 | 一种向非易失性存储器写入数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103593255A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102585B (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN103699344B (zh) | 非易失性存储器装置及其操作方法 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN104679437B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN104866429B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN105320464B (zh) | 防止读取干扰的方法、存储器控制电路单元与存储装置 | |
CN103593255B (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN106469122A (zh) | 有效数据合并方法、存储器控制器与存储器储存装置 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103514103B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN107590080A (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN102129353B (zh) | 数据写入系统与数据写入方法 | |
CN103914391B (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |