CN104142895A - 写入方法、存储器控制器与存储器储存装置 - Google Patents
写入方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN104142895A CN104142895A CN201310165794.2A CN201310165794A CN104142895A CN 104142895 A CN104142895 A CN 104142895A CN 201310165794 A CN201310165794 A CN 201310165794A CN 104142895 A CN104142895 A CN 104142895A
- Authority
- CN
- China
- Prior art keywords
- data
- physics
- unit
- erasing
- data length
- 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.)
- Granted
Links
Landscapes
- Read Only Memory (AREA)
Abstract
一种用于可复写式非易失性存储器模块的写入方法,存储器控制器与存储器储存装置。此写入方法包括:配置多个逻辑地址以映射至储存区中部分的物理编程单元,且至少有一个物理编程单元储存了有效数据;发送第一写入指令,用以将具有第一数据长度的数据写入至至少一个物理编程单元;接收状态信号;以及,于发送第一写入指令后与接收状态信号之前,提取一个闲置物理抹除单元,并且复制具有第二数据长度的有效数据至该闲置物理抹除单元,其中第一数据长度不大于第二数据长度。藉此,可以避免在写入数据时让主机系统等待太久的时间。
Description
技术领域
本发明是有关于一种写入方法,且特别是有关于一种用于可复写式非易失性存储器模块的写入方法、存储器控制器与存储器储存装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般可复写式非易失性存储器模块通常包括多个物理区块,并且每一个物理区块会包括多个物理页面。由于一个被写满的物理区块在被抹除之前无法重复地再被写入数据,因此当一个主机系统要更新物理区块中的数据时,则会先将数据写入至另一个未被写满的物理区块。此另一个物理区块会储存有效数据,其是对应原先写满的物理区块中的待更新的数据,而原先的物理区块中储存的待更新的数据则会被无效化并留存于原本的物理区块中。当主机系统继续写入数据,并且全部的物理区块都同时储存有效数据与无效数据时(抑或是剩余的物理区块少于一个预定数量时),这些被写满的物理区块便需要被整并。整并是将多个物理区块上的有效数据搬移或复制至一个备用的物理区块,藉此让一个被写满有效及无效数据的物理区块可以被抹除并于之后用以储存其它数据。然而,整并多个物理区块中的有效数据可能会花费许多时间,而在下达写入指令以后主机系统不能等待超过一个预设时间。因此,如何确保在任何的情况下都不会让主机系统等待太久的时间,为本领域技术人员所关心的议题。
发明内容
本发明提供一种写入方法、存储器控制器与存储器储存装置,可以避免在写入数据时让主机系统等待过久的时间。
本发明一范例实施例提出一种写入方法,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多个物理抹除单元,每一物理抹除单元包括多个物理编程单元,并且这些物理抹除单元至少被划分为一储存区。此写入方法包括:配置多个逻辑地址以映射至储存区中部分的物理编程单元,且至少有一个物理编程单元储存了有效数据;发送一个第一写入指令,用以将一个第一数据写入至至少一个物理编程单元,且第一数据具有第一数据长度;接收由可复写式非易失性存储器模块发送的一个状态信号;以及,于发送第一写入指令后与接收状态信号之前,提取一个闲置物理抹除单元,并且复制具有第二数据长度的有效数据至该闲置物理抹除单元,其中第一数据长度不大于第二数据长度。
在一范例实施例中,于发送第一写入指令后与接收状态信号之前,上述的写入方法还包括下列步骤:发送至少一个位置信息至可复写式非易失性存储器模块,此位置信息代表第一数据所预定被写入的位置;传送第一数据至可复写式非易失性存储器模块中的一个缓冲存储器中;发送一个编程指令,以编程暂存于缓冲存储器中的第一数据至至少一个物理编程单元;以及发送一个状态询问指令至可复写式非易失性存储器模块,以请求可复写式非易失性存储器模块回复上述的状态信号。其中,复制具有第二数据长度的有效数据的步骤是于发送编程指令之后与接收状态信号之前被执行。
在一范例实施例中,上述的写入方法,还包含下列步骤:根据逻辑地址的容量以及储存区中的物理抹除单元的容量决定第二数据长度。
在一范例实施例中,上述的写入方法还包含下列步骤:从主机系统接收一个第三数据,此第三数据具有第三数据长度;以及根据第三数据长度决定第二数据长度。
在一范例实施例中,上述的第二数据长度是第一数据长度与一乘数的相乘积,并且此乘数是根据逻辑地址的容量以及储存区中物理抹除单元的容量所计算出。
在一范例实施例中,上述的乘数是逻辑地址的容量除以一数值的商,并且此数值为储存区中物理抹除单元的容量减去逻辑地址的容量的差值。
在一范例实施例中,上述的第一数据长度为单个物理编程单元的长度,而第二数据长度为多个物理编程单元的长度。
在一范例实施例中,上述写入第一数据的过程中,还包含下列步骤:根据第一写入指令编程第一数据的至少一个部分,其中第一数据中被编程者具有四数据长度;以及根据第四数据长度决定第二数据长度。
在一范例实施例中,上述写入第一数据的步骤之前,还包含下列步骤:判断闲置物理抹除单元的数目是否少于一个预设数目;以及若闲置物理抹除单元的数目少于预设数目,则于写入第一数据的过程中,将具有第二数据长度的有效数据复制至闲置物理抹除单元。
在一范例实施例中,上述被复制的有效数据是分散地储存在不同的物理抹除单元。
在一范例实施例中,上述复制具有第二数据长度的有效数据至闲置物理抹除单元的步骤之后,还包括下列步骤:于写入第一数据以及复制有效数据的过程中,显示可复写式非易失性存储器模块的状态为忙碌状态;抹除至少一个物理抹除单元,其中被抹除的物理抹除单元中所储存的有效数据是全数被复制到至少一个闲置物理抹除单元;以及于写入第一数据以及复制有效数据的步骤结束后,显示可复写式非易失性存储器模块的状态为非忙碌状态。
以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、上述的可复写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至主机系统。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至储存区中部分的物理编程单元,且至少一个物理编程单元中储存了有效数据。存储器控制器也用以发送第一写入指令,用以将第一数据写入至至少一个物理编程单元,且第一数据具有第一数据长度。存储器控制器还用以接收由可复写式非易失性存储器模块发送的一状态信号。此外,在发送第一写入指令后与接收状态信号之前,存储器控制器会提取一个闲置物理抹除单元,并且复制具有第二数据长度的有效数据至该闲置物理抹除单元。其中,第一数据长度不大于第二数据长度。
在一范例实施例中,于发送第一写入指令后与接收状态信号之前,存储器控制器会执行下列操作:发送至少一个位置信息至可复写式非易失性存储器模块,此位置信息代表第一数据所预定被写入的位置;传送第一数据至可复写式非易失性存储器模块中的一个缓冲存储器中;发送一个编程指令,以编程暂存于缓冲存储器中的第一数据至至少一个物理编程单元;以及发送一个状态询问指令至可复写式非易失性存储器模块,以请求可复写式非易失性存储器模块回复上述的状态信号。其中,复制具有第二数据长度的有效数据的操作是于发送编程指令之后与接收状态信号之前被执行。
在一范例实施例中,上述的存储器控制器还用以根据逻辑地址的容量以及储存区中的物理抹除单元的容量决定第二数据长度。
在一范例实施例中,上述的存储器控制器还用以从主机系统接收第三数据,第三数据具有一个第三数据长度,并且存储器控制器用以根据第三数据长度决定第二数据长度。
在一范例实施例中,上述存储器控制器写入第一数据的过程中,存储器控制器还用以根据第一写入指令编程第一数据的至少一个部分。第一数据的至少一个部分被编程者具有一个第四数据长度,并且存储器控制器用以根据第四数据长度决定第二数据长度。
在一范例实施例中,上述存储器控制器写入第一数据的操作之前,存储器控制器还用以判断闲置物理抹除单元的数目是否少于一预设数目。若闲置物理抹除单元的数目少于预设数目,则存储器控制器于写入第一数据的过程中,将具有第二数据长度的有效数据复制至闲置物理抹除单元。
在一范例实施例中,上述的存储器控制器还用以于写入第一数据以及复制有效数据的过程中,显示可复写式非易失性存储器模块的状态为忙碌状态。存储器控制器还用以抹除至少一个物理抹除单元,其中被抹除的物理抹除单元中所储存的有效数据是全数被复制到至少一个闲置物理抹除单元。存储器控制器还用以在写入第一数据以及复制有效数据的操作结束后,显示可复写式非易失性存储器模块的状态为非忙碌状态。
以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,包括主机接口、存储器接口、与存储器管理电路。主机接口是用以电性连接至主机系统。存储器接口是用以电性连接至上述的可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口与存储器接口,用以配置多个逻辑地址以映射至储存区中部分的物理编程单元,且至少一个物理编程单元中储存了有效数据。存储器管理电路也用以发送第一写入指令,用以将第一数据写入至至少一个物理编程单元,且第一数据具有第一数据长度。存储器管理电路还用以接收由可复写式非易失性存储器模块发送的一状态信号。此外,在发送第一写入指令后与接收状态信号之前,存储器管理电路会提取一个闲置物理抹除单元,并且复制具有第二数据长度的有效数据至该闲置物理抹除单元。其中,第一数据长度不大于第二数据长度。
在一范例实施例中,于发送第一写入指令后与接收状态信号之前,存储器管理电路会执行下列操作:发送至少一个位置信息至可复写式非易失性存储器模块,此位置信息代表第一数据所预定被写入的位置;传送第一数据至可复写式非易失性存储器模块中的一个缓冲存储器中;发送一个编程指令,以编程暂存于缓冲存储器中的第一数据至至少一个物理编程单元;以及发送一个状态询问指令至可复写式非易失性存储器模块,以请求可复写式非易失性存储器模块回复上述的状态信号。其中,复制具有第二数据长度的有效数据的步骤是于发送编程指令之后与接收状态信号之前被执行。
在一范例实施例中,上述的存储器管理电路还用以根据逻辑地址的容量以及储存区中的物理抹除单元的容量决定第二数据长度。
在一范例实施例中,上述的存储器管理电路还用以从主机系统接收第三数据,第三数据具有一个第三数据长度,并且存储器管理电路用以根据第三数据长度决定第二数据长度。
在一范例实施例中,上述存储器管理电路写入第一数据的过程中,存储器管理电路还用以根据第一写入指令编程第一数据的至少一个部分。第一数据的至少一个部分被编程者具有一个第四数据长度,并且存储器管理电路用以根据第四数据长度决定第二数据长度。
在一范例实施例中,上述存储器管理电路写入第一数据的操作之前,存储器管理电路还用以判断闲置物理抹除单元的数目是否少于一预设数目。若闲置物理抹除单元的数目少于预设数目,则存储器管理电路于写入第一数据的过程中,将具有第二数据长度的有效数据复制至闲置物理抹除单元。
在一范例实施例中,上述的存储器管理电路还用以于写入第一数据以及复制有效数据的过程中,显示可复写式非易失性存储器模块的状态为忙碌状态。存储器管理电路还用以抹除至少一个物理抹除单元,其中被抹除的物理抹除单元中所储存的有效数据是全数被复制到至少一个闲置物理抹除单元。存储器管理电路还用以在写入第一数据以及复制有效数据的操作结束后,显示可复写式非易失性存储器模块的状态为非忙碌状态。
基于上述,在本发明范例实施例提出的写入方法、存储器控制器与存储器储存装置中,由于每写入一笔数据以后都会复制一些有效数据,因此可以避免在执行某一次写入指令时让主机系统等待太久的时间。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
图5是根据一范例实施例绘示复制有效数据的范例示意图。
图6是根据一范例实施例绘示将复制有效数据的操作分散在多个写入指令的示意图。
图7是根据一范例实施例绘示存储器控制器104与可复写式非易失性存储器模块106之间传送的信号的示意图。
图8是根据一范例实施例绘示将复制有效数据的操作分散在多个写入指令的示意图。
图9是根据一范例实施例绘示数据写入方法的流程图。
[标号说明]
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、404:数据
410(0)~410(A):逻辑地址 502(0)~502(D):物理编程单元
602:有效数据 702:第一写入指令
704:位置信息 706:行信息
708:列信息 710:编程指令
712:状态询问指令 714:状态信号
S901~S905:步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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 State Drive, 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 TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速外围零件连接接口(PeripheralComponent Interconnect Express,PCI Express)标准、通用序列总线(UniversalSerial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi MediaCard,MMC)接口标准、崁入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated DeviceElectronics,IDE)标准或其它适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理编程单元,并且属于同一个物理抹除单元的物理编程单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理编程单元、256个物理编程单元或其它任意个物理编程单元所组成。
更详细来说,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理存取地址用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理编程单元的数据位区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte,B)。然而,在其它范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,物理抹除单元为物理区块,并且物理编程单元为物理页面或物理扇。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level 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 Checking andCorrecting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4是根据一范例实施例所绘示的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“关联”、“划分”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。
请参照图4,一般来说,存储器管理电路202会将物理抹除单元304(0)~304(R)至少划分为储存区与系统区。储存区的物理抹除单元是可用以储存来自主机系统1000的使用者数据、取代损坏的物理抹除单元、以及作为写入数据时的缓冲区。系统区的物理抹除单元是用以储存系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理编程单元数等。在此,物理抹除单元304(0)~304(C)便是属于储存区的物理抹除单元。在其它范例实施例中,存储器管理电路202也可以将物理抹除单元304(0)~304(R)划分出其它区域,本发明并不在此限。例如,存储器管理电路202可再将物理抹除单元304(0)~304(R)划分出一个取代区,其中的物理抹除单元是用以取代损坏的物理抹除单元。在此范例实施例中,取代区与储存区的物理抹除单元是合并一起使用。
存储器控制器104会配置逻辑地址410(0)~410(A)以利于在储存数据的物理抹除单元中进行数据存取。例如,当存储器储存装置100被主机系统1000上的操作系统通过档案系统(例如,FAT32)格式化时,逻辑地址410(0)~410(A)分别地映射至物理抹除单元304(0)~304(B)中的物理编程单元。在此,存储器管理电路202会建立逻辑地址-物理编程单元映射表(logical address-physicalprogramming unit mapping table),以记录逻辑地址与物理编程单元之间的映射关系。在此范例实施例中,每一个逻辑地址410(0)~410(A)的大小是相同于每一个物理编程单元的大小。然而,在其它范例实施例中,每一个逻辑地址410(0)~410(A)也可以是一个物理抹除单元的大小或是其它大小,本发明并不在此限。在存储器储存装置100被格式化后,物理抹除单元304(B+1)~304(C)并没有被映射至逻辑地址410(0)~410(A)也没有储存有效数据。在此,储存区中没有被映射至逻辑地址410(0)~410(A)且没有储存有效数据的物理抹除单元(即,物理抹除单元304(B+1)~304(C)),是被称为闲置物理抹除单元。
当主机系统1000要将数据402写入至存储器储存装置100中时,主机系统1000会下达一个写入指令,此写入指令会指示将数据402写入至逻辑地址410(0)~410(A)中的至少其中之一。在此假设数据402是要写入至逻辑地址410(0)~410(1),而逻辑地址410(0)~410(1)是映射至物理抹除单元304(0)中的两个物理编程单元。存储器管理电路202会从数据402中取得数据404,这里假设数据404是属于逻辑地址410(0)。存储器管理电路202也会从物理抹除单元304(B+1)~304(C)中提取一个物理抹除单元(例如,物理抹除单元304(B+2)),将数据404写入至物理抹除单元304(B+2),并且将逻辑地址410(0)重新映射至被写入的物理编程单元。相同地,存储器管理电路202也会将属于逻辑地址410(1)的数据写入至物理抹除单元304(B+2)。如此一来,物理抹除单元304(0)中原先被映射至逻辑地址410(0)~410(1)的物理编程单元会储存无效数据,而物理抹除单元304(B+2)会储存有效数据。若物理抹除单元304(0)中还储存有其它有效数据,则物理抹除单元304(0)会同时储存着有效数据与无效数据。随着主机系统1000持续的写入数据至存储器储存装置100,会有越来越多个物理抹除单元同时储存着无效数据与有效数据,并且闲置物理抹除单元的数目会越来越少。因此,存储器管理电路202会整并(merge)这些有效数据,以增加一个闲置物理抹除单元。
图5是根据一范例实施例绘示复制有效数据的范例示意图。
请参照图5,在此假设物理抹除单元304(0)~304(3)中储存了有效数据与无效数据。例如,物理抹除单元304(0)中的物理编程单元502(0)~502(D)中储存了有效数据,而其余的物理编程单元储存了无效数据。类似地,物理抹除单元304(1)~304(3)也包括了多个储存了有效数据的物理编程单元。在未整并有效数据之前,物理抹除单元304(B+1)为闲置物理抹除单元。因此,存储器管理电路202会将物理抹除单元304(0)中的有效数据复制至物理抹除单元304(B+1)。值得注意的是,在复制物理抹除单元304(0)中的有效数据以后,物理抹除单元304(0)便没有储存有效数据,存储器管理电路202会抹除物理抹除单元304(0)并且把物理抹除单元304(0)当作闲置物理抹除单元。接下来,物理抹除单元304(1)的有效数据会被复制至物理抹除单元304(0),而物理抹除单元304(1)也会成为另一个闲置物理抹除单元。以此类推,物理抹除单元(2)中的有效数据会被复制至物理抹除单元304(0)与304(1),而物理抹除单元304(3)中的有效数据会被复制至物理抹除单元304(1)。在此之后,物理抹除单元304(2)与304(3)都会被抹除而成为闲置物理抹除单元。如此一来,闲置物理抹除单元的数目会增加1。
在图5的范例实施例中,有4个物理抹除单元304(0)~304(3)中的有效数据会被复制。然而,若物理抹除单元304(0)~304(3)中的有效数据更少时,需要被复制的有效数据会更少。举例来说,若物理抹除单元304(0)、304(1)中仅有一半的物理编程单元储存了有效数据,则存储器管理电路202仅需要将物理抹除单元304(0)、304(1)中的有效数据合并便可以增加一个闲置物理抹除单元。在最差的情况下,每个需要被整并的物理抹除单元都储存了相同数量的有效数据,并且有效数据的比率会与逻辑地址410(0)~410(A)的容量,以及物理抹除单元304(0)~304(C)的容量有关。具体来说,若逻辑地址410(0)~410(A)的容量是1.5G字节(byte),而储存区中的物理抹除单元的容量为2G字节,则在最差的情况下每个需要被整并的物理抹除单元中都有3/4的物理编程单元会储存有效数据。一般来说,在执行一个来自主机系统1000的写入指令时,存储器管理电路202会显示可复写式非易失性存储器模块106的状态为忙碌状态。例如,存储器管理电路202会致能(或禁能)连接器102上的一个接脚来显示此忙碌状态。存储器管理电路202必须在一预设时间内显示可复写式非易失性存储器模块106的状态为非忙碌状态,用以表示可以接收下一个写入指令。因此,若需要被整并的有效数据太多时,可能会超过此预设时间。在此范例实施例中,存储器管理电路202在写入一笔数据以后便会复制部分的有效数据,藉此避免在最差的情况下复制有效数据所花费的时间会超过上述的预设时间。
图6是根据一范例实施例绘示在写入数据时复制有效数据的示意图。
请参照图6,在存储器管理电路202接收到来自主机系统的一个写入指令(对应至数据402)以后,会传送一个第一写入指令至可复写式非易失性存储器模块106,用以将数据404(亦称第一数据)写入至至少一个物理编程单元,其中第一数据404具有第一数据长度。例如,数据404可以被写入至物理抹除单元304(B+2)中的一个物理编程单元,但本发明并不限制要将数据404写入至哪一个物理编程单元。特别的是,存储器管理电路202也会判断储存区的状态是否符合一个预设条件。若储存区的状态符合预设条件,则在发送第一写入指令之后与接收到由可复写式非易失性存储器模块106发送的一个状态信号之前,存储器管理电路202会复制具有第二数据长度的有效数据602至一个闲置物理抹除单元。其中,状态信号是用以表示可复写式非易失性存储器模块106是否成功地写入数据404,而第一数据长度不大于第二数据长度。例如,在写入数据404时,存储器管理电路202也会从物理抹除单元304(B)中复制3个物理编程单元中的有效数据602至物理抹除单元304(C)中,即在图6中第二数据长度为3个物理编程单元,但本发明并不限制第二数据长度为多少。值得注意的是,在其它的范例实施例中,数据402、404与有效数据602可以有其它的数据长度,本发明并不在此限。
在写入数据402与复制有效数据602的过程中,存储器管理电路202会显示可复写式非易失性存储器模块106的状态为忙碌状态。在写入数据404以及复制有效数据602的步骤结束后,存储器管理电路202会显示可复写式非易失性存储器模块106的状态为非忙碌状态。
图7是根据一范例实施例绘示存储器控制器104与可复写式非易失性存储器模块106之间传送的信号的示意图。
请参照图6与图7,更具体来说,当存储器管理电路202要将数据404写入至可复写式非易失性存储器模块106时,会先传送第一写入指令702至可复写式非易失性存储器模块106。接下来,存储器管理电路202会传送至少一个位置信息704,而位置信息704至少会包括一个行信息706与一个列信息708。行信息706与列信息708为物理地址,代表数据404所预定被写入的位置。在传送位置信息704以后,存储器管理电路202会传送数据404到可复写式非易失性存储器模块106中的一个缓冲存储器(未绘示)。接下来,存储器管理电路202会传送编程指令710。在接收到编程指令710以后,可复写式非易失性存储器模块106便会根据位置信息704将缓冲存储器中的数据404编程至对应的物理编程单元(称为编程过程)。存储器管理电路202还会传送一个状态询问指令712,用以要求可复写式非易失性存储器模块106回复一个状态信号714。状态信号714便是用以表示数据404是否成功地被写入至位置信息704所对应的物理编程单元。在此,从传送第一写入指令702至传送状态询问指令712的过程亦被称为写入过程,而在编程过程中,可复写式非易失性存储器模块106的状态会被显示为忙碌状态。在此范例实施例中,存储器管理电路202会在发送编程指令710之后以及接收到状态信号714之前,将有效数据602复制到一个闲置物理抹除单元当中。换言之,由于要写入数据404与复制有效数据,因此编程过程的时间会变长。然而,在另一范例实施例中,复制有效数据602的步骤也可以在发送第一写入指令702之后与发送编程指令710之前被执行,本发明并不在此限。
请参照回图6,在一范例实施例中,若储存区中闲置物理抹除单元的数目小于一个预设数目,则存储器管理电路202会判断储存区的状态是否符合上述的预设条件。此预设数目例如为2,但本发明并不限制此预设数目为多少。换言之,当闲置物理抹除单元的数目小于预设数目时,存储器管理电路202会开始整并有效数据以增加闲置物理抹除单元的数目。在另一范例实施例中,存储器管理电路202也可以设定其它条件为上述的预设条件,本发明并不限制此预设条件为何。另一方面,若不符合预设条件,则存储器管理电路202在将数据402都写入至可复写式非易失性存储器模块106以后便会显示可复写式非易失性存储器模块106的状态为非忙碌状态。
在一范例实施例中,存储器管理电路202是根据数据402(亦称第三数据)的数据长度(亦称第三数据长度)、逻辑地址410(0)~410(A)的容量以及储存区中物理抹除单元304(0)~304(C)的容量来决定有效数据602的数据长度(即,第二数据长度)。亦即,若第三数据长度越大,则第二数据长度也会越大。举例来说,第二数据长度是数据404的数据长度与一乘数的相乘积,并且此乘数是根据逻辑地址410(0)~410(A)的容量以及物理抹除单元304(0)~304(C)的容量所计算出。详细来说,假设逻辑地址410(0)~410(A)的容量为1.5G字节,而储存区中物理抹除单元的容量为2G字节,因此最差情况下每一个需要被整并的物理抹除单元中有3/4的有效数据。存储器管理电路202至少需要复制4个(1/(1-3/4)=4)个物理抹除单元中的有效数据才能够产生一个闲置物理抹除单元,而这些被复制的有效数据可以被储存在3(4-1=3)个物理抹除单元中。因此,如果每当存储器管理电路202将数据404写入至一个物理编程单元以后,也复制了3个物理编程单元中的有效数据,则存储器管理电路202在写满一个物理抹除单元以后便可以复制完4个物理抹除单元中的有效数据。具体来说,上述的乘数是逻辑地址的容量除以一数值的商数,并且此数值为储存区中物理抹除单元的容量减去逻辑地址410(0)~410(A)的容量的差值。在上述的范例实施例中,此乘数可以写成(3/(4-3)=3)的表达式。如此一来,写入数据404时会复制3个物理抹除单元中的有效数据,而写入数据402中对应至逻辑地址410(1)的数据以后,另外3个物理抹除单元中的有效数据也会被复制。然而,在另一范例实施例中,上述的乘数也可以是其它数值。举例来说,若逻辑地址410(0)~410(A)的容量与储存区中物理抹除单元的容量的比例为50:51,则上述的乘数便会是50/(51-50)=50。
在图6中,数据404的数据长度是单个物理编程单元的长度,有效数据602的数据长度为多个物理编程单元的长度。也就是说,存储器管理电路202是以物理编程单元为复制的最小单位。然而,在另一范例实施例中,存储器管理电路202是根据数据404中被编程的部分来决定有效数据602的数据长度。例如,一个物理编程单元的大小为4KB,而存储器管理电路202每次会编程512Byte的数据至一个物理编程单元中。若数据404中被编程的部分具有第四数据长度,则存储器管理电路202会将第四数据长度乘上3而成为有效数据602的数据长度。
在存储器管理电路202显示可复写式非易失性存储器模块106的状态为非忙碌状态以后,主机系统1000便可以再下达一个写入指令给存储器管理电路202。此时存储器管理电路202会再度显示可复写式非易失性存储器模块106的状态为忙碌状态。同样的,存储器管理电路202也可以在写入数据时复制一些有效数据。举例来说,当存储器管理电路202执行上一个写入指令时已复制了物理抹除单元304(B)中部分的有效数据至物理抹除单元304(C)。在执行下一个写入指令时,存储器管理电路202会复制物理抹除单元304(B)中其它的有效数据至物理抹除单元304(C)。若物理抹除单元304(B)中的有效数据已被复制完毕,则存储器管理电路202会抹除物理抹除单元304(B)。也就是说,物理抹除单元304(B)中全部的有效数据会被复制到物理抹除单元304(C)。最后,存储器管理电路202会再显示可复写式非易失性存储器模块106的状态为非忙碌状态。
在此范例实施例中,被复制的有效数据是储存在同一个物理抹除单元304(B)中。然而,在另一范例实施例中,被复制的有效数据可以是分散地储存在多个物理抹除单元中。本发明并不限制在复制有效数据时,这些有效数据是从哪一个物理抹除单元取得。
图8是根据一范例实施例绘示将复制有效数据的操作分散在多个写入指令的示意图。
请参照图8,上述的编程过程会产生一个忙碌时间(busy time)。在此忙碌时间内主机系统1000不能传送其它写入指令给存储器储存装置100。依照上述的方法,存储器管理电路202是将复制有效数据所造成的忙碌时间分散在不同的写入指令之后。如此一来,便不会在一个写入指令以后有太长的忙碌时间。并且,即使是在最差的情况下,存储器管理电路202也可以在写完一个物理抹除单元以后多增加一个闲置物理抹除单元。
图9是根据一范例实施例绘示数据写入方法的流程图。
请参照图9,在步骤S901中,配置多个逻辑地址以映射至储存区中部分的物理编程单元。在步骤S902中,发送第一写入指令,用以将第一数据写入至至少一个物理编程单元,且该第一数据具有第一数据长度。在步骤S903中,判断储存区的状态是否符合一预设条件。若储存区的状态符合预设条件,在步骤S904中,在接收状态信号之前,提取一闲置物理抹除单元,并且复制具有第二数据长度的有效数据至该闲置物理抹除单元,其中第一数据长度不大于第二数据长度。在步骤S905中,接收由可复写式非易失性存储器模块发送的状态信号。
图9中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9中各步骤可以实作为多个程序码或是电路;此外,图9的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明范例实施例所提出的写入方法、存储器控制器与存储器管理电路,可以将复制有效数据所需的时间分散在多个写入指令之后。此外,即使发生了最差的情况,也可以在写完一个物理抹除单元以后额外产生一个闲置物理抹除单元。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (33)
1.一种写入方法,用于控制一可复写式非易失性存储器模块,其特征在于,其中该可复写式非易失性存储器模块包括多个物理抹除单元,每一该多个物理抹除单元包括多个物理编程单元,并且该多个物理抹除单元至少被划分为一储存区,该写入方法该包括:
配置多个逻辑地址以映射至该储存区中部分的该多个物理编程单元,且该多个物理编程单元的至少其中之一储存有至少一有效数据;
发送一第一写入指令至该可复写式非易失性存储器模块,用以将一第一数据写入至该些物理编程单元的至少其中之一,且该第一数据具有一第一数据长度;
接收由该可复写式非易失性存储器模块发送的一状态信号;以及
于发送该第一写入指令后,接收该状态信号之前,从该多个物理抹除单元中提取一闲置物理抹除单元,并且复制具有一第二数据长度的该至少一有效数据至该闲置物理抹除单元;
其中,该第一数据长度不大于该第二数据长度。
2.根据权利要求1所述的写入方法,其特征在于,其中于发送该第一写入指令后,接收该状态信号之前,还包括下列步骤:
发送至少一位置信息至该可复写式非易失性存储器模块,该位置信息代表该第一数据所预定被写入的位置;
传送该第一数据至该可复写式非易失性存储器模块的一缓冲存储器中;
发送一编程指令,以编程暂存于该缓冲存储器中的该第一数据至该些物理编程单元的至少其中之一;以及
发送一状态询问指令至该可复写式非易失性存储器模块,以请求该可复写式非易失性存储器模块回复该状态信号;
其中,于发送该编程指令之后,接收该状态信号之前,复制具有该第二数据长度的该至少一有效数据至该闲置物理抹除单元。
3.根据权利要求1所述的写入方法,其特征在于,还包含下列步骤:
根据该多个逻辑地址的一容量以及该储存区中的该多个物理抹除单元的一容量决定该第二数据长度。
4.根据权利要求3所述的写入方法,其特征在于,还包含下列步骤:
从一主机系统接收一第三数据,该第三数据具有一第三数据长度;以及根据该第三数据长度决定该第二数据长度。
5.根据权利要求4所述的写入方法,其特征在于,其中该第二数据长度是该第一数据长度与一乘数的相乘积,并且该乘数是根据该多个逻辑地址的该容量以及该储存区中该多个物理抹除单元的该容量所计算出。
6.根据权利要求5所述的写入方法,其特征在于,其中该乘数是该多个逻辑地址的该容量除以一数值的商,并且该数值为该储存区中该多个物理抹除单元的该容量减去该多个逻辑地址的该容量的差值。
7.根据权利要求1所述的写入方法,其特征在于,其中该第一数据长度为单个该物理编程单元的长度,该第二数据长度为多个该物理编程单元的长度。
8.根据权利要求1所述的写入方法,其特征在于,于写入该第一数据的过程中,还包含下列步骤:
根据该第一写入指令编程该第一数据的至少一部分,该第一数据的至少一部分被编程者具有一第四数据长度;以及
根据该第四数据长度决定该第二数据长度。
9.根据权利要求1所述的写入方法,其特征在于,于写入该第一数据的步骤之前,还包含下列步骤:
判断该闲置物理抹除单元的数目是否少于一预设数目;以及若该闲置物理抹除单元的数目少于该预设数目,则于写入该第一数据的过程中,将具有该第二数据长度的该至少一有效数据复制至该闲置物理抹除单元。
10.根据权利要求1所述的写入方法,其特征在于,其中被复制的该至少一有效数据是分散地储存在不同的该多个物理抹除单元。
11.根据权利要求1所述的写入方法,其特征在于,还包括下列步骤:
于发送该第一写入指令后,接收该状态信号之前,显示该可复写式非易失性存储器模块的状态为忙碌状态;
抹除该多个物理抹除单元的至少其中之一,其中被抹除的该物理抹除单元中所储存的该至少一有效数据是全数被复制到该闲置物理抹除单元的至少其中之一;以及
于接收该状态信号后,显示该可复写式非易失性存储器模块的状态为非忙碌状态。
12.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个物理抹除单元,其中每一该多个物理抹除单元包括多个物理编程单元,并且该多个物理抹除单元至少被划分为一储存区,;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至该储存区中部分的该多个物理编程单元,且该多个物理编程单元的至少其中之一储存有至少一有效数据,
其中,该存储器控制器用以发送一第一写入指令,用以将一第一数据写入至该多个物理编程单元的至少其中之一,且该第一数据具有一第一数据长度,
其中,该存储器控制器用以接收由该可复写式非易失性存储器模块发送的一状态信号,
其中,该存储器控制器用以于发送该第一写入指令后,接收该状态信号之前,从该多个物理抹除单元中提取一闲置物理抹除单元,并复制具有一第二数据长度的该至少一有效数据至该闲置物理抹除单元,其中该第一数据长度不大于该第二数据长度。
13.根据权利要求12所述的存储器储存装置,其特征在于,其中该存储器控制器于发送该第一写入指令后与接收该状态信号之前,还用以执行下列操作:
发送至少一位置信息至该可复写式非易失性存储器模块,该位置信息代表该第一数据所预定被写入的位置;
传送该第一数据至该可复写式非易失性存储器模块的一缓冲存储器中;
发送一编程指令,以编程暂存于该缓冲存储器中的该第一数据至该多个物理编程单元的至少其中之一;以及
发送一状态询问指令至该可复写式非易失性存储器模块,以请求该可复写式非易失性存储器模块回复该状态信号,
其中,该存储器控制器是于发送该编程指令之后,接收该状态信号之前,复制具有该第二数据长度的该至少一有效数据至该闲置物理抹除单元。
14.根据权利要求12所述的存储器储存装置,其特征在于,其中该存储器控制器还用以根据该多个逻辑地址的一容量以及该储存区中的该多个物理抹除单元的一容量决定该第二数据长度。
15.根据权利要求14所述的存储器储存装置,其特征在于,其中该存储器控制器还用以从一主机系统接收一第三数据,该第三数据具有一第三数据长度,并且该存储器控制器用以根据该第三数据长度决定该第二数据长度。
16.根据权利要求15所述的存储器储存装置,其特征在于,其中该第二数据长度是该第一数据长度与一乘数的相乘积,并且该乘数是根据该多个逻辑地址的该容量以及该储存区中该多个物理抹除单元的该容量所计算出。
17.根据权利要求16所述的存储器储存装置,其特征在于,其中该乘数是该多个逻辑地址的该容量除以一数值的商,并且该数值为该储存区中该多个物理抹除单元的该容量减去该多个逻辑地址的该容量的差值。
18.根据权利要求12所述的存储器储存装置,其特征在于,其中该第一数据长度为单个该物理编程单元的长度,该第二数据长度为多个该物理编程单元的长度。
19.根据权利要求12所述的存储器储存装置,其特征在于,其中该存储器控制器写入该第一数据的过程中,该存储器控制器还用以根据该第一写入指令编程该第一数据的至少一部分,该第一数据的至少一部分被编程者具有一第四数据长度,并且该存储器控制器用以根据该第四数据长度决定该第二数据长度。
20.根据权利要求12所述的存储器储存装置,其特征在于,其中该存储器控制器写入该第一数据的操作之前,该存储器控制器还用以判断该闲置物理抹除单元的数目是否少于一预设数目,
若该闲置物理抹除单元的数目少于该预设数目,则该存储器控制器于写入该第一数据的过程中,将具有该第二数据长度的该至少一有效数据复制至该闲置物理抹除单元。
21.根据权利要求12所述的存储器储存装置,其特征在于,其中被复制的该至少一有效数据是分散地储存在不同的该多个物理抹除单元。
22.根据权利要求12所述的存储器储存装置,其特征在于,其中该存储器控制器还用以于写入该第一数据以及复制该至少一有效数据的过程中,显示该可复写式非易失性存储器模块的状态为忙碌状态,
该存储器控制器还用以抹除该多个物理抹除单元的至少其中之一,其中被抹除的该物理抹除单元中所储存的该至少一有效数据是全数被复制到该闲置物理抹除单元的至少其中之一,
该存储器控制器还用以在写入该第一数据以及复制该至少一有效数据的操作结束后,显示该可复写式非易失性存储器模块的状态为非忙碌状态。
23.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其特征在于,其中该可复写式非易失性存储器模块包括多个物理抹除单元,每一该多个物理抹除单元包括多个物理编程单元,并且该多个物理抹除单元至少被划分为一储存区,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以配置多个逻辑地址以映射至该储存区中部分的该多个物理编程单元,且该多个物理编程单元的至少其中之一储存有至少一有效数据,
其中,该存储器管理电路用以发送一第一写入指令,用以将一第一数据写入至该多个物理编程单元的至少其中之一,且该第一数据具有一第一数据长度,
其中,该存储器管理电路用以接收由该可复写式非易失性存储器模块发送的一状态信号,
其中,该存储器管理电路用以于发送该第一写入指令后,接收该状态信号之前,从该多个物理抹除单元中提取一闲置物理抹除单元,并复制具有一第二数据长度的该至少一有效数据至该闲置物理抹除单元,其中该第一数据长度不大于该第二数据长度。
24.根据权利要求23所述的存储器控制器,其特征在于,其中该存储器管理电路于发送该第一写入指令后与接收该状态信号之前,还用以执行下列操作:
发送至少一位置信息至该可复写式非易失性存储器模块,该位置信息代表该第一数据所预定被写入的位置;
传送该第一数据至该可复写式非易失性存储器模块的一缓冲存储器中;
发送一编程指令,以编程暂存于该缓冲存储器中的该第一数据至该多个物理编程单元的至少其中之一;以及
发送一状态询问指令至该可复写式非易失性存储器模块,以请求该可复写式非易失性存储器模块回复该状态信号,
其中,该存储器管理电路是于发送该编程指令之后,接收该状态信号之前,复制具有该第二数据长度的该至少一有效数据至该闲置物理抹除单元。
25.根据权利要求23所述的存储器控制器,其特征在于,其中该存储器管理电路还用以根据该多个逻辑地址的一容量以及该储存区中的该多个物理抹除单元的一容量决定该第二数据长度。
26.根据权利要求25所述的存储器控制器,其特征在于,其中该存储器管理电路还用以从一主机系统接收一第三数据,该第三数据具有一第三数据长度,并且该存储器管理电路用以根据该第三数据长度决定该第二数据长度。
27.根据权利要求26所述的存储器控制器,其特征在于,其中该第二数据长度是该第一数据长度与一乘数的相乘积,并且该乘数是根据该多个逻辑地址的该容量以及该储存区中该多个物理抹除单元的该容量所计算出。
28.根据权利要求27所述的存储器控制器,其特征在于,其中该乘数是该多个逻辑地址的该容量除以一数值的商,并且该数值为该储存区中该多个物理抹除单元的该容量减去该多个逻辑地址的该容量的差值。
29.根据权利要求23所述的存储器控制器,其特征在于,其中该第一数据长度为单个该物理编程单元的长度,该第二数据长度为多个该物理编程单元的长度。
30.根据权利要求23所述的存储器控制器,其特征在于,其中该存储器管理电路写入该第一数据的过程中,该存储器管理电路还用以根据该第一写入指令编程该第一数据的至少一部分,该第一数据的至少一部分被编程者具有一第四数据长度,并且该存储器管理电路用以根据该第四数据长度决定该第二数据长度。
31.根据权利要求23所述的存储器控制器,其特征在于,其中该存储器管理电路写入该第一数据的操作之前,该存储器管理电路还用以判断该闲置物理抹除单元的数目是否少于一预设数目,
若该闲置物理抹除单元的数目少于该预设数目,则该存储器管理电路于写入该第一数据的过程中,将具有该第二数据长度的该至少一有效数据复制至该闲置物理抹除单元。
32.根据权利要求23所述的存储器控制器,其特征在于,其中被复制的该至少一有效数据是分散地储存在不同的该多个物理抹除单元。
33.根据权利要求23所述的存储器控制器,其特征在于,其中该存储器管理电路还用以于写入该第一数据以及复制该至少一有效数据的过程中,显示该可复写式非易失性存储器模块的状态为忙碌状态,
该存储器管理电路还用以抹除该多个物理抹除单元的至少其中之一,其中被抹除的该物理抹除单元中所储存的该至少一有效数据是全数被复制到该闲置物理抹除单元的至少其中之一,
该存储器管理电路还用以在写入该第一数据以及复制该至少一有效数据的操作结束后,显示该可复写式非易失性存储器模块的状态为非忙碌状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165794.2A CN104142895B (zh) | 2013-05-08 | 2013-05-08 | 写入方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165794.2A CN104142895B (zh) | 2013-05-08 | 2013-05-08 | 写入方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142895A true CN104142895A (zh) | 2014-11-12 |
CN104142895B CN104142895B (zh) | 2017-05-17 |
Family
ID=51852074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310165794.2A Active CN104142895B (zh) | 2013-05-08 | 2013-05-08 | 写入方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142895B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121663A (zh) * | 2016-11-29 | 2018-06-05 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
CN110795359A (zh) * | 2018-08-03 | 2020-02-14 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835772A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Method and apparatus for providing an interface between a system and a peripheral device |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器系统及其映射方法 |
US20110004723A1 (en) * | 2009-07-03 | 2011-01-06 | Phison Electronics Corp. | Data writing method for flash memory and control circuit and storage system using the same |
CN101944384A (zh) * | 2009-07-06 | 2011-01-12 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
-
2013
- 2013-05-08 CN CN201310165794.2A patent/CN104142895B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835772A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Method and apparatus for providing an interface between a system and a peripheral device |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器系统及其映射方法 |
US20110004723A1 (en) * | 2009-07-03 | 2011-01-06 | Phison Electronics Corp. | Data writing method for flash memory and control circuit and storage system using the same |
CN101944384A (zh) * | 2009-07-06 | 2011-01-12 | 群联电子股份有限公司 | 用于闪速存储器的数据写入方法及其控制电路与储存系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121663A (zh) * | 2016-11-29 | 2018-06-05 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
CN110795359A (zh) * | 2018-08-03 | 2020-02-14 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
CN110795359B (zh) * | 2018-08-03 | 2023-03-31 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104142895B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN103377129B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN104679437A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104732153A (zh) | 数据抹除方法、存储器控制电路单元及存储器存储装置 | |
CN105653199A (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103593255A (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103389941A (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN102890653A (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 |