CN104657083B - 数据写入方法、存储器储存装置、存储器控制电路单元 - Google Patents
数据写入方法、存储器储存装置、存储器控制电路单元 Download PDFInfo
- Publication number
- CN104657083B CN104657083B CN201310583439.7A CN201310583439A CN104657083B CN 104657083 B CN104657083 B CN 104657083B CN 201310583439 A CN201310583439 A CN 201310583439A CN 104657083 B CN104657083 B CN 104657083B
- Authority
- CN
- China
- Prior art keywords
- erased cell
- physics
- logic
- belong
- data
- 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播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块会与主机系统搭配使用。主机系统上可能还会再配置一个易失性的存储器,并且在运作时此易失性的存储器会储存一些主机系统的数据。若主机系统忽然断电或是要休眠,则在易失性存储器中的数据必须写入至可复写式非易失性存储器模块当中。在一些情况之下,此易失性存储器中的数据是连续地顷印(dump)至可复写式非易失性存储器模块,并且主机系统必须要在一个预设时间内完成所有的写入操作。因此,可复写式非易失性存储器模块也必须要在预设时间内完成大量的连续写入操作,亦即连续写入的速度也必须要高于一个目标值。
随着可复写式非易失性存储器模块的不同管理方式,连续写入与非连续写入之间有一个权衡。一般来说,以逻辑编程单元来管理可复写式非易失性存储器模块会得到较高的非连续写入速度,若以逻辑抹除单元来管理可复写式非易失性存储器模块会得到较高的连续写入速度。在一般运作下主机系统执行非连续写入的机率可能会高于执行连续写入的机率,但在上述忽然断电或是休眠时则会有大量的连续写入操作。若以逻辑编程单元来管理可复写式非易失性存储器模块且在进行非连续写入一段时间以后进行连续写入,则连续写入的速度可能会因为要进行垃圾收集(garbage collection)而大幅的下降,进而无法在预设时间内完成上述大量的连续写入操作。因此,如何在此情况下确保连续写入的速度会高于目标值,为本领域技术人员所关心的议题。
发明内容
本发明提供一种数据写入方法、存储器储存装置与存储器控制电路单元,可以确保连续写入的速度会高于一个目标值。
本发明一范例实施例提出一种数据写入方法,用于可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多个物理抹除单元,并且每一个物理抹除单元包括多个物理编程单元。此数据写入方法包括:配置多个逻辑地址,其中这些逻辑地址组成多个逻辑编程单元,并且这些逻辑编程单元组成多个逻辑抹除单元;将逻辑抹除单元分为第一区与第二区;接收来自主机系统的写入指令,其指示将第一数据写入至至少一个第一逻辑地址,并且第一逻辑地址属于第一逻辑抹除单元;判断第一逻辑抹除单元属于第一区或是第二区;若第一逻辑抹除单元属于第一区,执行第一写入程序;若第一逻辑抹除单元属于第二区,执行第二写入程序。第一写入程序包括:提取一闲置物理编程单元;以及将第一数据写入至闲置物理编程单元。其中该闲置物理编程单元属于第一物理抹除单元,第一物理抹除单元还储存属于第二逻辑抹除单元的数据,并且第二逻辑抹除单元不同于第一逻辑抹除单元。第二写入程序包括:提取第二物理抹除单元;以及将第一数据写入至第二物理抹除单元。其中第二物理抹除单元中所有的有效数据都属于第一逻辑抹除单元。
在一范例实施例中,上述的数据写入方法还包括:根据一目标写入速度决定第一比率与第二比率。其中第一比率的逻辑抹除单元属于第一区,并且第二比率的逻辑抹除单元属于第二区。
在一范例实施例中,上述的第一写入程序具有随机写入速度,第二写入程序具有连续写入速度。上述决定第一比率与第二比率的步骤包括:设定第一比率与第二比率,使得第一比率与随机写入速度的相乘加上第二比率与连续写入速度的相乘大于等于目标写入速度。
在一范例实施例中,上述的逻辑抹除单元是交错地属于第一区与第二区。
在一范例实施例中,上述的逻辑抹除单元中一连续部分的逻辑抹除单元是属于第一区,并且另一连续部分的逻辑抹除单元是属于第二区。
在一范例实施例中,上述的数据写入方法还包括:选取第三物理抹除单元;判断第三物理抹除单元中的有效数据属于第一区或是第二区;若第三物理抹除单元中的有效数据属于第一区,执行第一垃圾收集程序。此第一垃圾收集程序包括:将第三物理抹除单元中的有效数据搬移至第四物理抹除单元,其中第四物理抹除单元储存属于不同逻辑抹除单元的数据;以及抹除第三物理抹除单元。
在一范例实施例中,上述的数据写入方法还包括:若第三物理抹除单元中的有效数据属于第二区,执行第二垃圾收集程序。此第二垃圾收集程序包括:取得第三物理抹除单元所映射的第三逻辑抹除单元,其中第三逻辑抹除单元还映射至第四物理抹除单元,并且第四物理抹除单元中所有的有效数据都属于第三逻辑抹除单元;整并第三物理抹除单元与第四物理抹除单元中的有效数据至第五物理抹除单元,其中第五物理抹除单元中所有的有效数据都属于第三逻辑抹除单元;抹除第三物理抹除单元。
本发明一范例实施例提出一种存储器储存装置,包括连接接口单元、上述的可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元是用以电性连接至主机系统。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存储器模块,用以配置上述的逻辑地址。存储器控制电路单元用以将逻辑抹除单元分为第一区与第二区,并且接收来自主机系统的写入指令,其指示将第一数据写入至至少一个第一逻辑地址,并且第一逻辑地址属于第一逻辑抹除单元。存储器控制电路单元也用以判断第一逻辑抹除单元是属于第一区或是第二区。若第一逻辑抹除单元是属于第一区,存储器控制电路单元用以提取一闲置物理编程单元,并且将第一数据写入至此闲置物理编程单元。此闲置物理编程单元属于第一物理抹除单元,第一物理抹除单元还储存属于第二逻辑抹除单元的数据,并且第二逻辑抹除单元不同于第一逻辑抹除单元。若第一逻辑抹除单元属于第二区,存储器控制电路单元用以提取第二物理抹除单元,并且将第一数据写入至第二物理抹除单元,其中第二物理抹除单元中所有的有效数据都属于第一逻辑抹除单元。
在一范例实施例中,上述的存储器控制电路单元还用以根据一目标写入速度决定第一比率与第二比率。其中第一比率的逻辑抹除单元是属于第一区,并且第二比率的逻辑抹除单元是属于第二区。
在一范例实施例中,上述的第一写入程序具有随机写入速度,并且第二写入程序具有连续写入速度。存储器控制电路单元设定第一比率与第二比率,使得第一比率与随机写入速度的相乘加上第二比率与连续写入速度的相乘大于等于目标写入速度。
在一范例实施例中,上述的存储器控制电路单元还用以选取第三物理抹除单元,并且判断第三物理抹除单元中的有效数据属于第一区或是第二区。若第三物理抹除单元中的有效数据是属于第一区,存储器控制电路单元用以执行上述的第一垃圾收集程序。
在一范例实施例中,若第三物理抹除单元中的有效数据属于第二区,存储器控制电路单元用以执行上述的第二垃圾收集程序。
本发明一范例实施例提出一种存储器控制电路单元,用于控制上述的可复写式非易失性存储器模块。存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至主机系统。存储器接口是用以电性连接至可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用以配置上述的逻辑地址。存储器管理电路用以将逻辑抹除单元分为第一区与第二区,并且接收来自主机系统的写入指令,其指示将第一数据写入至至少一个第一逻辑地址,并且第一逻辑地址属于第一逻辑抹除单元。存储器管理电路也用以判断第一逻辑抹除单元是属于第一区或是第二区。若第一逻辑抹除单元是属于第一区,存储器管理电路用以提取一闲置物理编程单元,并且将第一数据写入至此闲置物理编程单元。此闲置物理编程单元属于第一物理抹除单元,第一物理抹除单元还储存属于第二逻辑抹除单元的数据,并且第二逻辑抹除单元不同于第一逻辑抹除单元。若第一逻辑抹除单元属于第二区,存储器管理电路用以提取第二物理抹除单元,并且将第一数据写入至第二物理抹除单元,其中第二物理抹除单元中所有的有效数据都属于第一逻辑抹除单元。
在一范例实施例中,上述的存储器管理电路还用以根据一目标写入速度决定第一比率与第二比率。其中第一比率的逻辑抹除单元是属于第一区,并且第二比率的逻辑抹除单元是属于第二区。
在一范例实施例中,上述的第一写入程序具有随机写入速度,并且第二写入程序具有连续写入速度。存储器管理电路设定第一比率与第二比率,使得第一比率与随机写入速度的相乘加上第二比率与连续写入速度的相乘大于等于目标写入速度。
在一范例实施例中,上述的存储器管理电路还用以选取第三物理抹除单元,并且判断第三物理抹除单元中的有效数据属于第一区或是第二区。若第三物理抹除单元中的有效数据是属于第一区,存储器管理电路用以执行上述的第一垃圾收集程序。
在一范例实施例中,若第三物理抹除单元中的有效数据属于第二区,存储器管理电路用以执行上述的第二垃圾收集程序。
基于上述,本发明范例实施例提出的数据写入方法、存储器储存装置与存储器控制电路单元,可以将逻辑抹除单元分为第二区与第一区,使得在任何情况下连续写入的速度都会高于目标写入速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
图5A~图5D是根据一范例实施例绘示第一写入程序的示意图。
图6是根据一范例实施例绘示第二写入程序的示意图。
图7A与图7B是根据范例实施例绘示第二区与第一区的分配示意图。
图8是根据一范例实施例绘示数据写入方法的流程图。
[标号说明]
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:可复写式非易失性存储器模块
304(0)~304(R):物理抹除单元 202:存储器管理电路
204:主机接口 206:存储器接口
252:缓冲存储器 254:电源管理电路
256:错误检查与校正电路 402:储存区
406:系统区 410(0)~410(D):逻辑地址
502:第一数据 504:第二数据
506:新的第一数据 508:新的第二数据
510、520、610、620、710(0)~710(H):逻辑抹除单元
512(0)~512(E)、522(0)~522(E)、612(0)~612(E)、622(0)~622(E):逻辑编程单元
530(0)~530(E)、630(0)~630(E)、640(0)~640(E)、650(0)~650(E)、660(0)~660(E):物理编程单元 720:第一区
730:第二区 S801~S808:步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
请参照图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、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是兼容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速外围零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded MultimediaCard,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Electronics,IDE)标准或其它适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理编程单元,并且属于同一个物理抹除单元的物理编程单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理编程单元、256个物理编程单元或其它任意个物理编程单元所组成。
更具体来说,每一个物理抹除单元包括多条字线与多条位线,每一条字线与每一条位线交叉处配置有一个存储单元。每一个存储单元可储存一或多个位。在同一个物理抹除单元中,所有的存储单元会一起被抹除。在此范例实施例中,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。例如,物理抹除单元为物理区块。另一方面,同一个字线上的存储单元会组成一或多个物理编程单元。若每一个存储单元可储存2个以上的位,则同一个字线上的物理编程单元可被分类为下物理编程单元与上物理编程单元。一般来说,下物理编程单元的写入速度会大于上物理编程单元的写入速度。在此范例实施例中,物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。例如,物理编程单元为物理页面或是物理扇(sector)。若物理编程单元为物理页面,则每一个物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理扇,用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据位区包含32个物理扇,且一个物理扇的大小为512字节(byte,B)。然而,在其它范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的物理扇,本发明并不限制物理扇的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,MLC)NAND型闪存模块,即一个存储单元中可储存至少2个位。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块、多阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其它闪存模块或其它具有相同特性的存储器模块。
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图。
请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序代码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的物理抹除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是兼容于PATA标准、IEEE1394标准、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 correcting code,ECC code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路256会依据此错误更正码对所读取的数据执行错误检查与校正程序。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。
请参照图4,存储器管理电路202可将可复写式非易失性存储器模块的物理抹除单元304(0)~304(R)逻辑地划分为多个区域,例如为储存区402与系统区406。
储存区402的物理抹除单元是用以储存来自主机系统1000的数据。储存区402中会储存有效数据与无效数据。例如,当主机系统要删除一份有效数据时,被删除的数据可能还是储存在储存区402中,但会被标记为无效数据。没有储存有效数据的物理抹除单元亦被称为闲置物理抹除单元,没有储存有效数据的物理编程单元亦被称为闲置物理编程单元。例如,被抹除以后的物理抹除单元便会成为闲置物理抹除单元。若储存区402或系统区406中有物理抹除单元损坏时,储存区402中的物理抹除单元也可以用来替换损坏的物理抹除单元。倘若储存区402中没有可用的物理抹除单元来替换损坏的物理抹除单元时,则存储器管理电路202会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。
系统区406的物理抹除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理编程单元数等。
储存区402与系统区406的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理抹除单元关联至储存区402与系统区406的分组关系会动态地变动。例如,当系统区406中的物理抹除单元损坏而被储存区402的物理抹除单元取代时,则原本在储存区402的物理抹除单元会被关联至系统区406。
存储器管理电路202会配置逻辑地址410(0)~410(D)以映射至储存区402中部分的物理抹除单元304(0)~304(A)。主机系统1000是通过逻辑地址410(0)~410(D)来存取储存区402中的数据。在此范例实施例中,一个逻辑地址是映射至一个物理扇,多个逻辑地址会组成一个逻辑编程单元,并且多个逻辑编程单元会组成一个逻辑抹除单元。一个逻辑编程单元是映射至一或多个物理编程单元,而一个逻辑抹除单元是映射至一或多个物理抹除单元。
存储器管理电路202可用逻辑抹除单元或是逻辑编程单元来管理可复写式非易失性存储器模块106。在本范例实施例中,存储器管理电路202会将所有的逻辑抹除单元分为第一区与第二区。在第一区中,存储器管理电路202是以逻辑编程单元来管理对应的物理抹除单元;而在第二区中,存储器管理电路202是以逻辑抹除单元来管理对应的物理抹除单元。具体来说,假设存储器管理电路202接收到了来自主机系统1000的写入指令,此写入指令是指示将第一数据写入至逻辑地址410(0)~410(D)中的至少一个第一逻辑地址。存储器管理电路202会判断第一逻辑地址所属的逻辑抹除单元(亦称第一逻辑抹除单元)是属于第一区或是第二区。若第一逻辑抹除单元是属于第一区,则存储器管理电路202会执行一个第一写入程序来写入第一数据。若第一逻辑抹除单元是属于第二区,则存储器管理电路202会执行一个第二写入程序来写入第一数据。以下再举范例实施例来说明第一写入程序与第二写入程序。
图5A~图5D是根据一范例实施例绘示第一写入程序的示意图。
请参照图5A,在此假设逻辑抹除单元510是属于第一区,主机系统1000下达的写入指令指示将第一数据502写入至逻辑抹除单元510中的逻辑编程单元512(0),并且物理抹除单元304(1)包括了闲置物理编程单元530(0)~530(E)。在收到写入指令以后,存储器管理电路202会判断逻辑抹除单元510是属于第一区或是第二区。在判断逻辑抹除单元510属于第一区以后,存储器管理电路202会提取一个闲置物理编程单元530(0),把第一数据502写入至闲置物理编程单元530(0)中,并且将逻辑编程单元512(0)映射至物理编程单元530(0)。
请参照图5B,接下来,主机系统1000再下达一个写入指令,其指示将第二数据504写入至逻辑抹除单元520中的逻辑编程单元522(0),其中逻辑抹除单元520也属于第一区。存储器管理电路202会选取闲置物理编程单元530(1),将第二数据504写入至物理编程单元530(1),并且将逻辑编程单元522(0)映射至物理编程单元530(1)。
请参照图5C,接下来,若主机系统1000要更新第一数据502,主机系统1000会再下达一个写入指令以将新的第一数据506写入至逻辑编程单元512(0)。存储器管理电路202会把新的第一数据506写入至闲置物理编程单元530(2)中,并且把逻辑编程单元512(0)映射至物理编程单元530(2),此时物理编程单元530(0)所储存的是属于逻辑抹除单元510的无效数据。
请参照图5D,若主机系统1000接下来要更新第二数据504,主机系统1000会再下达一个写入指令以将新的第二数据508写入至逻辑编程单元522(0)。存储器管理电路202会把新的第二数据508写入至闲置物理编程单元530(3)中,并且把逻辑编程单元522(0)映射至物理编程单元530(3),此时物理编程单元530(1)所储存的是属于逻辑抹除单元520的无效数据。换言之,物理抹除单元304(1)(亦称第一物理抹除单元)会储存属于逻辑抹除单元510(亦称第一逻辑抹除单元)的数据(可以为有效数据或是无效数据),也会储存属于逻辑抹除单元520(亦称第二逻辑抹除单元)的数据(可以为有效数据或是无效数据),并且逻辑抹除单元510不同于逻辑抹除单元520。
在此范例实施例中,当接收到写入指令时,存储器管理电路202会先使用物理抹除单元304(1)中的闲置物理编程单元来写入数据。若物理抹除单元304(1)中没有闲置物理编程单元了,存储器管理电路202会再从储存区402中选取一个闲置物理抹除单元来写入数据。
值得注意的是,图5A~图5D只是一个范例实施例,本发明并不限制写入第一数据502与第二数据504的顺序。或者,在写入第一数据502前,物理抹除单元304(1)中也可以储存属于其它逻辑抹除单元(不同于逻辑抹除单元510)的有效数据或是无效数据。
图6是根据一范例实施例绘示第二写入程序的示意图。
请参照图6,在此假设逻辑抹除单元610与620是属于第二区,逻辑抹除单元610原本是映射至物理抹除单元304(2),即物理抹除单元304(2)中储存了属于逻辑抹除单元610的有效数据。逻辑抹除单元620原本是映射至物理抹除单元304(4),即物理抹除单元304(4)中储存了属于逻辑抹除单元620的有效数据。物理抹除单元304(2)包括了物理编程单元630(0)~630(E);物理抹除单元304(3)包括了物理编程单元640(0)~640(E);物理抹除单元304(4)包括了物理编程单元650(0)~650(E);物理抹除单元304(5)包括了物理编程单元660(0)~660(E)。在图6的范例实施例中,主机系统1000下达了一个写入指令,指示将第一数据502写入至逻辑抹除单元610(亦称第一逻辑抹除单元)中的逻辑编程单元612(1)。在接收到写入指令以后,存储器管理电路202会判断逻辑抹除单元610是属于第一区或是第二区。在判断逻辑抹除单元610属于第二区以后,存储器管理电路202会提取一个物理抹除单元304(3)(亦称第二物理抹除单元),并且把第一数据502写入至物理抹除单元304(3)中。在一范例实施例中,存储器管理电路202也会将物理抹除单元304(2)中部分的有效数据般移到物理抹除单元304(3)中。举例来说,存储器管理电路202是先将储存在物理编程单元630(0)的有效数据般移至物理编程单元640(0),再把第一数据502写入至物理编程单元640(1)。在图6的范例实施例中,物理抹除单元304(2)亦被称为母物理抹除单元,而物理抹除单元304(3)亦被称为子物理抹除单元。
值得注意的是,在第二写入程序中,物理抹除单元304(2)与304(3)中所有的有效数据都会属于逻辑抹除单元610。当主机系统1000要把数据写入至其它逻辑抹除单元时,这些数据不会写入至物理抹除单元304(2)与304(3)。举例来说,主机系统1000下达了一个写入指令,指示将第二数据504写入至逻辑抹除单元620中的逻辑编程单元622(1)。存储器管理电路202会提取一个物理抹除单元304(5),把储存在物理编程单元650(0)的有效数据搬移至物理编程单元660(0),并且把第二数据504写入至物理编程单元660(1)中。物理抹除单元304(4)与304(5)中所有的有效数据都会属于逻辑抹除单元620。
请同时参照图5D与图6,第一写入程序与第二写入程序的一个不同在于:在第一写入程序中,属于一个逻辑抹除单元的有效数据可能会被分散地写入至许多个物理抹除单元中,并且这些物理抹除单元还会储存其它逻辑抹除单元的数据;在第二写入程序中,属于一个逻辑抹除单元的有效数据只会被写入几个特定的物理抹除单元(例如,母物理抹除单元与子物理抹除单元)中,并且这些特定的物理抹除单元中所有的有效数据都会属于该逻辑抹除单元。
在一范例实施例中,存储器管理电路202会建立一个编程单元表给第一区。此编程单元表会记录逻辑编程单元与物理编程单元之间的映射关系。此外,存储器管理电路202会建立一个抹除单元表给第二区。此抹除单元表会记录逻辑抹除单元与物理抹除单元之间的映射关系。然而,在实作上,存储器管理电路202可以只建立编程单元表,并不建立抹除单元表;而逻辑抹除单元与物理抹除单元之间的映射关系则会被记录在编程单元表中。本发明并不限制所建立的是编程单元表或是抹除单元表。
主机系统1000的写入模式可以简单地分为连续写入与非连续写入。连续写入指的是多笔写入指令所要写入的逻辑地址是连续的,反之则是非连续写入。在主机系统1000的写入模式是连续写入时,使用第二写入程序的写入速度会大于使用第一写入程序的写入速度。反之,若主机系统1000的写入模式是非连续写入时,使用第一写入程序的写入速度会大于使用第二写入程序的写入速度。
图7A与图7B是根据范例实施例绘示第二区与第一区的分配示意图。
请参照图4与图7A,逻辑地址410(0)~410(D)会组成逻辑抹除单元710(0)~710(H)。在一范例实施例中,存储器管理电路202会决定第一比率与第二比率,其中第一比率与第二比率的相加会等于1。存储器管理电路202会根据第一比率与第二比率决定第一区720与第二区730中逻辑抹除单元的个数。具体来说,第一比率的逻辑抹除单元710(0)~710(H)是属于第一区720,并且第二比率的逻辑抹除单元710(0)~710(H)是属于第二区730。在图7A的范例实施例中,逻辑抹除单元710(0)~710(H)中一连续部分的逻辑抹除单元710(0)~710(G)是属于第一区720,并且逻辑抹除单元710(0)~710(H)中另一连续部分的逻辑抹除单元710(G+1)~710(H)是属于第二区730。存储器管理电路202可以根据主机系统1000的行为来判断哪些连续的逻辑抹除单元要属于第二区730。举例来说,若主机系统1000是在快要断电时把主机系统1000上随机存取存储器中的数据连续地写入至逻辑抹除单元710(0)~710(H)的后半段,则存储器管理电路202会将逻辑抹除单元710(0)~710(H)的后半段设定为第二区730。此外,存储器管理电路202也可以根据主机系统1000断电所要写入的数据的多寡来决定第二比率的大小。然而,在其它范例实施例中,逻辑抹除单元710(0)~710(H)的前半段也可以被设定为第二区730,本发明并不在此限。
请参照图7B,在图7B的范例实施例中,逻辑抹除单元710(0)~710(H)是交错地属于第一区与第二区。在此,“交错”指的是在n个逻辑抹除单元都属于第一区以后,m个逻辑抹除单元会属于第二区,其中n与m为正整数。在图7B中n与m都为1。然而,本发明并不限制正整数m与n为多少。例如,若正整数n与m都为2,则表示逻辑抹除单元710(0)、710(1)会属于第一区,而逻辑抹除单元710(2)、710(3)会属于第二区。另一方面,n/m会等于上述第一比率除以上述第二比率的数值。
在一范例实施例中,存储器管理电路202会根据一个目标写入速度决定第一比率与第二比率。上述的目标写入速度表示当主机系统1000的写入模式为连续写入时,存储器储存装置100必须要达到的写入速度。因此,当第二比率越大(正整数m相对地越大)时,则越容易达到目标写入速度。具体来说,第一写入程序具有随机写入速度,而第二写入程序具有连续写入速度。存储器管理电路202会设定第一比率与第二比率,使得第一比率与随机写入速度的相乘加上第二比率与连续写入速度的相乘会大于等于目标写入速度,其可表示为以下方程序(1)。
V1×R1+V2×R2≥Vtarget…(1)
V1为随机写入速度、R1为第一比率、V2为连续写入速度、R2为第二比率、并且Vtarget为目标写入速度。值得注意的是,上述方程式(1)也可以应用在图7A的范例实施例中,本发明并不在此限。
由于逻辑抹除单元被分为第一区与第二区,因此在执行垃圾收集(garbagecollection)时,存储器管理电路202也会对应地执行不同的程序。具体来说,当储存区402中可用的闲置物理抹除单元少于某一个门坎值时,存储器管理电路202会提取一个物理抹除单元(亦称第三物理抹除单元)来执行垃圾收集程序。被提取的物理抹除单元可能是储存最少有效数据的物理抹除单元,或是抹除次数最少的物理抹除单元,本发明并不限制要依照什么机制来提取物理抹除单元。存储器管理电路202会判断第三物理抹除单元中的有效数据是属于第一区或是第二区。若这些有效数据是属于第一区,存储器管理电路202会执行第一垃圾收集程序。若这些有效数据是属于第二区,则存储器管理电路202会执行第二垃圾收集程序。以下将再详细说明第一垃圾收集程序与第二垃圾收集程序。
请参照回图5D,若提取的是物理抹除单元304(1)(其中储存的有效数据属于第一区),则存储器管理电路202会将物理抹除单元304(1)中所有的有效数据都搬移至另一个物理抹除单元(亦称第四物理抹除单元)。值得注意的是,在第四物理抹除单元中,除了储存原本在物理抹除单元304(1)且属于逻辑抹除单元510与520的有效数据以外,此第四物理抹除单元可能还储存了属于其它逻辑抹除单元的数据。换言之,此第四物理抹除单元会储存属于不同逻辑抹除单元的数据。接下来,存储器管理电路202会抹除物理抹除单元304(1)以增加一个闲置物理抹除单元。以另外一个角度来说,在第一垃圾收集程序中,存储器管理电路202会将多个物理抹除单元中的有效数据搬移至同一个物理抹除单元中,不管这些有效数据是否属于相同的逻辑抹除单元。
请参照图6,若提取的是物理抹除单元304(2)(其中储存的有效数据属于第二区),存储器管理电路202会取得物理抹除单元304(2)所映射的逻辑抹除单元610,其中逻辑抹除单元还映射至物理抹除单元304(3)。存储器管理电路202会整并物理抹除单元304(2)与304(3)中的有效数据至一个物理抹除单元(亦称第五物理抹除单元),使得此第五物理抹除单元中所有的有效数据都属于逻辑抹除单元610,并且将逻辑抹除单元610映射至此第五物理抹除单元。值得注意的是,此第五物理抹除单元可以是物理抹除单元304(2)与304(3)以外的另一个物理抹除单元,也可以是物理抹除单元304(3)。也就是说,存储器管理电路202也可以将物理抹除单元304(2)中的有效数据整并至物理抹除单元304(3)中后,抹除物理抹除单元304(2)以增加一个闲置物理抹除单元。或者,存储器管理电路202也可以将物理抹除单元304(2)中的有效数据整并至另一个物理抹除单元以后,抹除物理抹除单元304(2)与304(3)。此外,若所提取的是物理抹除单元304(3),存储器管理电路202也会整并物理抹除单元304(2)与304(3)中的有效数据至一个第五物理抹除单元(非物理抹除单元304(3)),使得此第五物理抹除单元中所有的有效数据都属于逻辑编程单元610。接下来,存储器管理电路202会抹除物理抹除单元304(2)与304(3)。以另外一个角度来说,在第二垃圾收集程序当中,存储器管理电路202会整并多个物理抹除单元中的有效数据至一个物理抹除单元,并且这些有效数据是属于同一个逻辑抹除单元。
图8是根据一范例实施例绘示数据写入方法的流程图。
请参照图8,在步骤S801中,配置多个逻辑地址,其中这些逻辑地址会组成多个逻辑编程单元,而这些逻辑编程单元会组成多个逻辑抹除单元。在步骤S802中,将逻辑抹除单元分为第一区与第二区。在步骤S803中,接收来自主机系统的写入指令,其指示将第一数据写入至至少一个第一逻辑地址,其中第一逻辑地址是属于第一逻辑抹除单元。在步骤S804中,判断第一逻辑抹除单元属于第一区或是第二区。
若第一逻辑抹除单元属于第一区,在步骤S805中,提取一闲置物理编程单元。在步骤S806中,将第一数据写入至闲置物理编程单元,其中闲置物理编程单元所属的物理抹除单元还储存属于第二逻辑抹除单元的数据,并且第二逻辑抹除单元不同于第一逻辑抹除单元。
若第一逻辑抹除单元属于第二区,在步骤S807中,提取第二物理抹除单元。在步骤S808中,将第一数据写入至第二物理抹除单元,其中第二物理抹除单元中所有的有效数据都属于第一逻辑抹除单元。
其中步骤S805与步骤S806亦被称为第一写入程序。步骤S807与步骤S808亦被称为第二写入程序。然而,图8中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图8中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图8的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明范例实施例所提出的数据写入方法、存储器控制电路单元与存储器储存装置,可以根据目标写入速度来分配第二区与第一区,使得不论在怎么样的情况下连续写入的速度都会高于目标写入速度。此外,提供给主机系统的逻辑空间也不会变小。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (21)
1.一种数据写入方法,用于一可复写式非易失性存储器模块,其特征在于,其中该可复写式非易失性存储器模块包括多个物理抹除单元,每一该多个物理抹除单元包括多个物理编程单元,该数据写入方法包括:
配置多个逻辑地址,其中该多个逻辑地址组成多个逻辑编程单元,该多个逻辑编程单元组成多个逻辑抹除单元;
将该多个逻辑抹除单元分为一第一区与一第二区;
接收来自一主机系统的一写入指令,其中该写入指令指示将一第一数据写入至该多个逻辑地址中的至少一第一逻辑地址,并且该至少一第一逻辑地址属于该多个逻辑抹除单元中的一第一逻辑抹除单元;
判断该第一逻辑抹除单元属于该第一区或是该第二区;
若该第一逻辑抹除单元属于该第一区,执行一第一写入程序,其中该第一写入程序包括:
从该多个物理编程单元中提取一闲置物理编程单元;以及
将该第一数据写入至该闲置物理编程单元,其中该闲置物理编程单元属于该多个物理抹除单元中的一第一物理抹除单元,该第一物理抹除单元还储存属于该多个逻辑抹除单元中一第二逻辑抹除单元的数据,并且该第二逻辑抹除单元不同于该第一逻辑抹除单元,
若该第一逻辑抹除单元属于该第二区,执行一第二写入程序,其中该第二写入程序包括:
从该多个物理抹除单元中提取一第二物理抹除单元;以及
将该第一数据写入至该第二物理抹除单元,其中该第二物理抹除单元中所有的有效数据都属于该第一逻辑抹除单元。
2.根据权利要求1所述的数据写入方法,还包括:
根据一目标写入速度决定一第一比率与一第二比率,其中该第一比率的该些逻辑抹除单元属于该第一区,并且该第二比率的该些逻辑抹除单元属于该第二区。
3.根据权利要求2所述的数据写入方法,其中该第一写入程序具有一随机写入速度,该第二写入程序具有一连续写入速度,并且决定该第一比率与该第二比率的步骤包括:
设定该第一比率与该第二比率,使得该第一比率与该随机写入速度的相乘加上该第二比率与该连续写入速度的相乘大于等于该目标写入速度。
4.根据权利要求1所述的数据写入方法,其中该多个逻辑抹除单元是交错地属于该第一区与该第二区。
5.根据权利要求1所述的数据写入方法,其中该多个逻辑抹除单元中一连续部分的逻辑抹除单元是属于该第一区,并且该多个逻辑抹除单元中另一连续部分的逻辑抹除单元是属于该第二区。
6.根据权利要求1所述的数据写入方法,还包括:
选取该多个物理抹除单元中的一第三物理抹除单元;
判断该第三物理抹除单元中的有效数据属于该第一区或是该第二区;
若该第三物理抹除单元中的该有效数据属于该第一区,执行一第一垃圾收集程序,其中该第一垃圾收集程序包括:
将该第三物理抹除单元中的有效数据搬移至该多个物理抹除单元中的一第四物理抹除单元,其中该第四物理抹除单元储存属于不同逻辑抹除单元的数据;以及
抹除该第三物理抹除单元。
7.根据权利要求6所述的数据写入方法,还包括:
若该第三物理抹除单元中的该有效数据属于该第二区,执行一第二垃圾收集程序,并且该第二垃圾收集程序包括:
取得该多个逻辑抹除单元中该第三物理抹除单元所映射的一第三逻辑抹除单元,其中该第三逻辑抹除单元还映射至该多个物理抹除单元中的一第四物理抹除单元,该第四物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;
整并该第三物理抹除单元与该第四物理抹除单元中的有效数据至该多个物理抹除单元中的一第五物理抹除单元,其中该第五物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;以及
抹除该第三物理抹除单元。
8.一种存储器储存装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个物理抹除单元,其中每一该些物理抹除单元包括多个物理编程单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,用以配置多个逻辑地址,其中该多个逻辑地址组成多个逻辑编程单元,该多个逻辑编程单元组成多个逻辑抹除单元,
其中,该存储器控制电路单元用以将该多个逻辑抹除单元分为一第一区与一第二区,并且接收来自该主机系统的一写入指令,其中该写入指令指示将一第一数据写入至该多个逻辑地址中的至少一第一逻辑地址,并且该至少一第一逻辑地址属于该多个逻辑抹除单元中的一第一逻辑抹除单元,
其中,该存储器控制电路单元用以判断该第一逻辑抹除单元属于该第一区或是该第二区,
若该第一逻辑抹除单元属于该第一区,该存储器控制电路单元用以执行一第一写入程序,以从该多个物理编程单元中提取一闲置物理编程单元,并且将该第一数据写入至该闲置物理编程单元,其中该闲置物理编程单元属于该多个物理抹除单元中的一第一物理抹除单元,该第一物理抹除单元还储存属于该多个逻辑抹除单元中一第二逻辑抹除单元的数据,并且该第二逻辑抹除单元不同于该第一逻辑抹除单元,
若该第一逻辑抹除单元属于该第二区,该存储器控制电路单元用以执行一第二写入程序,以从该多个物理抹除单元中提取一第二物理抹除单元,并且将该第一数据写入至该第二物理抹除单元,其中该第二物理抹除单元中所有的有效数据都属于该第一逻辑抹除单元。
9.根据权利要求8所述的存储器储存装置,其中该存储器控制电路单元还用以根据一目标写入速度决定一第一比率与一第二比率,其中该第一比率的该些逻辑抹除单元属于该第一区,并且该第二比率的该些逻辑抹除单元属于该第二区。
10.根据权利要求9所述的存储器储存装置,其中该第一写入程序具有一随机写入速度,该第二写入程序具有一连续写入速度,并且该存储器控制电路单元决定该第一比率与该第二比率的操作包括:
该存储器控制电路单元设定该第一比率与该第二比率,使得该第一比率与该随机写入速度的相乘加上该第二比率与该连续写入速度的相乘大于等于该目标写入速度。
11.根据权利要求8所述的存储器储存装置,其中该多个逻辑抹除单元是交错地属于该第一区与该第二区。
12.根据权利要求8所述的存储器储存装置,其中该多个逻辑抹除单元中一连续部分的逻辑抹除单元是属于该第一区,并且该多个逻辑抹除单元中另一连续部分的逻辑抹除单元是属于该第二区。
13.根据权利要求8所述的存储器储存装置,其中该存储器控制电路单元还用以选取该多个物理抹除单元中的一第三物理抹除单元,并且判断该第三物理抹除单元中的有效数据属于该第一区或是该第二区,
若该第三物理抹除单元中的该有效数据属于该第一区,存储器控制电路单元用以执行一第一垃圾收集程序,其中该第一垃圾收集程序包括:
将该第三物理抹除单元中的该有效数据搬移至该多个物理抹除单元中的一第四物理抹除单元,其中该第四物理抹除单元储存属于不同逻辑抹除单元的数据;以及
抹除该第三物理抹除单元。
14.根据权利要求13所述的存储器储存装置,
若该第三物理抹除单元中的该有效数据属于该第二区,该存储器控制电路单元用以执行一第二垃圾收集程序,并且该第二垃圾收集程序包括:
取得该多个逻辑抹除单元中该第三物理抹除单元所映射的一第三逻辑抹除单元,其中该第三逻辑抹除单元还映射至该多个物理抹除单元中的一第四物理抹除单元,该第四物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;
整并该第三物理抹除单元与该第四物理抹除单元中的有效数据至该多个物理抹除单元中的一第五物理抹除单元,其中该第五物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;以及
抹除该第三物理抹除单元。
15.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其特征在于,其中该可复写式非易失性存储器模块包括多个物理抹除单元,并且每一该多个物理抹除单元包括多个物理编程单元,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以配置多个逻辑地址,其中该多个逻辑地址组成多个逻辑编程单元,该多个逻辑编程单元组成多个逻辑抹除单元,
其中,该存储器管理电路用以将该多个逻辑抹除单元分为一第一区与一第二区,并且接收来自该主机系统的一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址中的至少一第一逻辑地址,并且该至少一第一逻辑地址属于该多个逻辑抹除单元中的一第一逻辑抹除单元,
其中,该存储器管理电路用以判断该第一逻辑抹除单元属于该第一区或是该第二区,
若该第一逻辑抹除单元属于该第一区,该存储器管理电路用以执行一第一写入程序,以从该多个物理编程单元中提取一闲置物理编程单元,并且将该第一数据写入至该闲置物理编程单元,其中该闲置物理编程单元属于该多个物理抹除单元中的一第一物理抹除单元,该第一物理抹除单元还储存属于该多个逻辑抹除单元中一第二逻辑抹除单元的数据,并且该第二逻辑抹除单元不同于该第一逻辑抹除单元,
若该第一逻辑抹除单元属于该第二区,该存储器管理电路用以执行一第二写入程序,以从该多个物理抹除单元中提取一第二物理抹除单元,并且将该第一数据写入至该第二物理抹除单元,其中该第二物理抹除单元中所有的有效数据都属于该第一逻辑抹除单元。
16.根据权利要求15所述的存储器控制电路单元,其中该存储器管理电路还用以根据一目标写入速度决定一第一比率与一第二比率,其中该第一比率的该些逻辑抹除单元属于该第一区,并且该第二比率的该些逻辑抹除单元属于该第二区。
17.根据权利要求16所述的存储器控制电路单元,其中该第一写入程序具有一随机写入速度,该第二写入程序具有一连续写入速度,并且该存储器管理电路决定该第一比率与该第二比率的操作包括:
该存储器管理电路设定该第一比率与该第二比率,使得该第一比率与该随机写入速度的相乘加上该第二比率与该连续写入速度的相乘大于等于该目标写入速度。
18.根据权利要求15所述的存储器控制电路单元,其中该多个逻辑抹除单元是交错地属于该第一区与该第二区。
19.根据权利要求15所述的存储器控制电路单元,其中该多个逻辑抹除单元中一连续部分的逻辑抹除单元是属于该第一区,并且该多个逻辑抹除单元中另一连续部分的逻辑抹除单元是属于该第二区。
20.根据权利要求15所述的存储器控制电路单元,其中该存储器管理电路还用以选取该多个物理抹除单元中的一第三物理抹除单元,并且判断该第三物理抹除单元中的有效数据属于该第一区或是该第二区,
若该第三物理抹除单元中的该有效数据属于该第一区,存储器管理电路用以执行一第一垃圾收集程序,其中该第一垃圾收集程序包括:
将该第三物理抹除单元中的有效数据搬移至该多个物理抹除单元中的一第四物理抹除单元,其中该第四物理抹除单元储存属于不同逻辑抹除单元的数据;以及
抹除该第三物理抹除单元。
21.根据权利要求20所述的存储器控制电路单元,
若该第三物理抹除单元中的该有效数据属于该第二区,该存储器管理电路用以执行一第二垃圾收集程序,并且该第二垃圾收集程序包括:
取得该多个逻辑抹除单元中该第三物理抹除单元所映射的一第三逻辑抹除单元,其中该第三逻辑抹除单元还映射至该多个物理抹除单元中的一第四物理抹除单元,该第四物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;
整并该第三物理抹除单元与该第四物理抹除单元中的有效数据至该多个物理抹除单元中的一第五物理抹除单元,其中该第五物理抹除单元中所有的有效数据都属于该第三逻辑抹除单元;以及
抹除该第三物理抹除单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583439.7A CN104657083B (zh) | 2013-11-19 | 2013-11-19 | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310583439.7A CN104657083B (zh) | 2013-11-19 | 2013-11-19 | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657083A CN104657083A (zh) | 2015-05-27 |
CN104657083B true CN104657083B (zh) | 2017-12-22 |
Family
ID=53248280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310583439.7A Active CN104657083B (zh) | 2013-11-19 | 2013-11-19 | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657083B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170078315A (ko) * | 2015-12-29 | 2017-07-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN106681654B (zh) * | 2016-09-29 | 2019-08-27 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN108121667B (zh) * | 2017-12-20 | 2021-06-15 | 北京兆易创新科技股份有限公司 | 数据擦除方法、装置及计算机存储介质 |
CN110286846B (zh) * | 2018-03-19 | 2023-03-14 | 深圳大心电子科技有限公司 | 数据移动方法及储存控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1705936A (zh) * | 2002-10-28 | 2005-12-07 | 桑迪士克股份有限公司 | 用于分割一逻辑块的方法及设备 |
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103136111A (zh) * | 2011-11-29 | 2013-06-05 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103176910A (zh) * | 2011-12-26 | 2013-06-26 | 群联电子股份有限公司 | 用于非易失性存储器的数据合并方法、控制器与储存装置 |
CN103324581A (zh) * | 2012-03-23 | 2013-09-25 | 群联电子股份有限公司 | 编程存储单元与数据读取方法、存储器控制器与储存装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924636B2 (en) * | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
-
2013
- 2013-11-19 CN CN201310583439.7A patent/CN104657083B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1705936A (zh) * | 2002-10-28 | 2005-12-07 | 桑迪士克股份有限公司 | 用于分割一逻辑块的方法及设备 |
CN102592670A (zh) * | 2011-01-07 | 2012-07-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103136111A (zh) * | 2011-11-29 | 2013-06-05 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN103176910A (zh) * | 2011-12-26 | 2013-06-26 | 群联电子股份有限公司 | 用于非易失性存储器的数据合并方法、控制器与储存装置 |
CN103324581A (zh) * | 2012-03-23 | 2013-09-25 | 群联电子股份有限公司 | 编程存储单元与数据读取方法、存储器控制器与储存装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104657083A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN104765569B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103699491B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN106681652A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104657083B (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN106484307A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103593255B (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103984635B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN106959818A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |