CN103984635B - 数据写入方法、存储器控制器与存储器储存装置 - Google Patents
数据写入方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103984635B CN103984635B CN201310050783.XA CN201310050783A CN103984635B CN 103984635 B CN103984635 B CN 103984635B CN 201310050783 A CN201310050783 A CN 201310050783A CN 103984635 B CN103984635 B CN 103984635B
- Authority
- CN
- China
- Prior art keywords
- entity
- unit
- erasing unit
- erasing
- those
- 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
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据写入方法、存储器控制器与存储器储存装置。此方法用于控制可复写式非易失性存储器模块,其包括两个存储单元。此方法包括:配置多个逻辑地址以映射至上述两个存储单元中至少部分的实体擦除单元;接收来自主机***的写入指令,其指示将数据写入至一个上述的逻辑地址;将此数据写入至上述两个存储单元中的一个实体擦除单元;判断此实体擦除单元是属于哪一个存储单元;以及若此实体擦除单元属于其中一个存储单元,将数据写入时,擦除另一个存储单元中的一个实体擦除单元。因此,可以增加主机***写入数据至存储器储存装置的速度。
Description
技术领域
本发明是有关于一种数据写入方法,且特别是有关于一种用于可复写式非易失性存储器模块的数据写入方法、存储器控制器与存储器储存装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内置于上述所举例的各种便携式多媒体装置中。
一般来说,可复写式非易失性存储器模块可通过一个传输接口电性连接至一个主机***。主机***可通过此传输接口将数据写入至可复写式非易失性存储器模块。并且,可复写式非易失性存储器模块内会包括多个通道,从而增加可复写式非易失性存储器模块内写入数据的速度。然而,当可复写式非易失性存储器模块内写入数据的速度已经大于传输接口的传输速度,则主机写入数据的速度便只能决定于传输接口的传输速度。因此,如何在此情况下再增加主机写入数据的速度,为此领域技术人员所关心的话题。
发明内容
本发明范例实施例提出一种数据写入方法、存储器控制器与存储器储存装置,可以增加主机***写入数据至存储器储存装置的速度。
本发明一范例实施例提出一种数据写入方法,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括一个第一存储单元与一个第二存储单元,第一存储单元包括多个第一实体擦除单元,并且第二存储单元包括多个第二实体擦除单元。此数据写入方法包括:配置多个逻辑地址以映射至至少部分的第一实体擦除单元与至少部分的第二实体擦除单元;接收来自一主机***的一写入指令,其中写入指令指示将第一数据写入至一个第一逻辑地址;从第一实体擦除单元与第二实体擦除单元中取得一个第三实体擦除单元,并且将第一数据写入至第三实体擦除单元;判断第三实体擦除单元属于第一存储单元或是第二存储单元;以及若第三实体擦除单元属于第一存储单元,将第一数据写入至第三实体擦除单元时,擦除第二实体擦除单元的其中之一。
在一范例实施例中,上述的数据写入方法还包括:若第三实体擦除单元属于第二存储单元,将第一数据写入至第三实体擦除单元时,擦除第一实体擦除单元的其中之一。
在一范例实施例中,上述的数据写入方法还包括:将第一实体擦除单元与第二实体擦除单元至少划分为一数据区与一闲置区,其中上述至少部分的第一实体擦除单元与上述至少部分的第二实体擦除单元是属于数据区;以及设置一个第一擦除区与一个第二擦除区。上述的第三实体擦除单元是属于闲置区,被擦除的第一实体擦除单元是属于第一擦除区,并且被擦除的第二实体擦除单元是属于第二擦除区。
在一范例实施例中,上述的第一逻辑地址是映射至第一实体擦除单元与第二实体擦除单元中的一个第四实体擦除单元,在将第一数据写入至第三实体擦除单元的步骤之后,此数据写入方法还包括:判断第四实体擦除单元是否需要被擦除;若第四实体擦除单元需要被擦除,判断第一擦除区或第二擦除区的一实体擦除单元个数是否大于等于一临界值;若第一擦除区与第二擦除区的实体擦除单元个数小于临界值,将第四实体擦除单元关联至所对应的第一擦除区或第二擦除区。
在一范例实施例中,上述的数据写入方法还包括:若第一擦除区或第二擦除区的实体擦除单元个数大于等于临界值,擦除第四实体擦除单元,并且将第四实体擦除单元关联至闲置区。
在一范例实施例中,上述的数据写入方法还包括:将被擦除的第一实体擦除单元或是被擦除的第二实体擦除单元关联至闲置区。
在一范例实施例中,在第一数据被写入至第三实体擦除单元以后,上述的第一擦除区包括多个已被擦除的第一实体擦除单元,并且第二擦除区包括多个已被擦除的第二实体擦除单元。此数据写入方法还包括:交错地将一个已被擦除的第一实体擦除单元与一个已被擦除的第二实体擦除单元关联至闲置区。
在一范例实施例中,上述的每一个第一实体擦除单元包括多个实体程序化单元,并且每一个第二实体擦除单元包括多个实体程序化单元。此数据写入方法还包括:根据可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n;将第一数据写入至第三实体擦除单元中n个实体程序化单元后,检查第一擦除区或第二擦除区中是否有需要被擦除的实体擦除单元;以及若第一擦除区或第二擦除区中有需要被擦除的实体擦除单元,执行所述擦除第二实体擦除单元的其中之一的步骤或是所述擦除第一实体擦除单元的其中之一的步骤。
在一范例实施例中,上述的逻辑地址是交错地映射至第一实体擦除单元的其中之一与第二实体擦除单元的其中之一。
以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至一主机***。可复写式非易失性存储器模块包括一个第一存储单元与一个第二存储单元,其中第一存储单元包括多个第一实体擦除单元,并且第二存储单元包括多个第二实体擦除单元。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至至少部分的第一实体擦除单元与至少部分的第二实体擦除单元。存储器控制器也用以接收来自主机***的一个写入指令,此写入指令指示将第一数据写入至一个第一逻辑地址。存储器控制器也用以从第一实体擦除单元与第二实体擦除单元中取得一个第三实体擦除单元,并且将第一数据写入至第三实体擦除单元。存储器控制器也用以判断第三实体擦除单元是属于第一存储单元或是第二存储单元。若第三实体擦除单元是属于第一存储单元,存储器控制器用以在将第一数据写入至第三实体擦除单元时,擦除第二实体擦除单元的其中之一。
在一范例实施例中,若第三实体擦除单元属于第二存储单元,存储器控制器用以在将第一数据写入至第三实体擦除单元时,擦除第一实体擦除单元的其中之一。
在一范例实施例中,上述的存储器控制器还用以将第一实体擦除单元与第二实体擦除单元至少划分为一数据区与一闲置区,其中上述至少部分的第一实体擦除单元与上述至少部分的第二实体擦除单元是属于数据区。存储器控制器还用以设置一个第一擦除区与一个第二擦除区。上述的第三实体擦除单元是属于闲置区,被擦除的第一实体擦除单元是属于第一擦除区,并且被擦除的第二实体擦除单元是属于第二擦除区。
在一范例实施例中,上述的第一逻辑地址是映射至第一实体擦除单元与第二实体擦除单元中的一个第四实体擦除单元。在将第一数据写入至第三实体擦除单元之后,存储器控制器还用以判断第四实体擦除单元是否需要被擦除。若第四实体擦除单元需要被擦除,存储器控制器用以判断第一擦除区或第二擦除区的一实体擦除单元个数是否大于等于一临界值。若第一擦除区与第二擦除区的实体擦除单元个数小于临界值,存储器控制器用以将第四实体擦除单元关联至所对应的第一擦除区或第二擦除区。
在一范例实施例中,若第一擦除区或第二擦除区的实体擦除单元个数大于等于临界值,存储器控制器用以擦除第四实体擦除单元,并且将第四实体擦除单元关联至闲置区。
在一范例实施例中,上述的存储器控制器还用以将被擦除的第一实体擦除单元或是被擦除的第二实体擦除单元关联至闲置区。
在一范例实施例中,在第一数据被写入至第三实体擦除单元以后,第一擦除区包括多个已被擦除的第一实体擦除单元,并且第二擦除区包括多个已被擦除的第二实体擦除单元。存储器控制器还用以交错地将已被擦除的第一实体擦除单元的其中之一与已被擦除的第二实体擦除单元的其中之一关联至闲置区。
在一范例实施例中,上述每一个第一实体擦除单元包括多个实体程序化单元,每一个第二实体擦除单元包括多个实体程序化单元。存储器控制器还用以根据可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n。存储器控制器还用以在将第一数据写入至第三实体擦除单元中n个实体程序化单元后,检查第一擦除区或第二擦除区中是否有需要被擦除的实体擦除单元。若第一擦除区或第二擦除区中有需要被擦除的实体擦除单元,存储器控制器用以执行所述擦除第二实体擦除单元的其中之一的操作或是所述擦除第一实体擦除单元的其中之一的操作。
以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,用于控制一可复写式非易失性存储器模块。此存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至一主机***。存储器接口是用以电性连接至可复写式非易失性存储器模块。可复写式非易失性存储器模块包括一个第一存储单元与一个第二存储单元,其中第一存储单元包括多个第一实体擦除单元,并且第二存储单元包括多个第二实体擦除单元。存储器管理电路是电性连接至主机接口与存储器接口,用以配置多个逻辑地址以映射至至少部分的第一实体擦除单元与至少部分的第二实体擦除单元。存储器管理电路也用以接收来自主机***的一个写入指令,此写入指令指示将第一数据写入至一个第一逻辑地址。存储器管理电路也用以从第一实体擦除单元与第二实体擦除单元中取得一个第三实体擦除单元,并且将第一数据写入至第三实体擦除单元。存储器管理电路也用以判断第三实体擦除单元是属于第一存储单元或是第二存储单元。若第三实体擦除单元是属于第一存储单元,存储器管理电路用以在将第一数据写入至第三实体擦除单元时,擦除第二实体擦除单元的其中之一。
在一范例实施例中,若第三实体擦除单元属于第二存储单元,存储器管理电路用以在将第一数据写入至第三实体擦除单元时,擦除第一实体擦除单元的其中之一。
在一范例实施例中,上述的存储器管理电路还用以将第一实体擦除单元与第二实体擦除单元至少划分为一数据区与一闲置区,其中上述至少部分的第一实体擦除单元与上述至少部分的第二实体擦除单元是属于数据区。存储器管理电路还用以设置一个第一擦除区与一个第二擦除区。上述的第三实体擦除单元是属于闲置区,被擦除的第一实体擦除单元是属于第一擦除区,并且被擦除的第二实体擦除单元是属于第二擦除区。
在一范例实施例中,上述的第一逻辑地址是映射至第一实体擦除单元与第二实体擦除单元中的一个第四实体擦除单元。在将第一数据写入至第三实体擦除单元之后,存储器管理电路还用以判断第四实体擦除单元是否需要被擦除。若第四实体擦除单元需要被擦除,存储器管理电路用以判断第一擦除区或第二擦除区的一实体擦除单元个数是否大于等于一临界值。若第一擦除区与第二擦除区的实体擦除单元个数小于临界值,存储器管理电路用以将第四实体擦除单元关联至所对应的第一擦除区或第二擦除区。
在一范例实施例中,若第一擦除区或第二擦除区的实体擦除单元个数大于等于临界值,存储器管理电路用以擦除第四实体擦除单元,并且将第四实体擦除单元关联至闲置区。
在一范例实施例中,上述的存储器管理电路还用以将被擦除的第一实体擦除单元或是被擦除的第二实体擦除单元关联至闲置区。
在一范例实施例中,在第一数据被写入至第三实体擦除单元以后,第一擦除区包括多个已被擦除的第一实体擦除单元,并且第二擦除区包括多个已被擦除的第二实体擦除单元。存储器管理电路还用以交错地将已被擦除的第一实体擦除单元的其中之一与已被擦除的第二实体擦除单元的其中之一关联至闲置区。
在一范例实施例中,上述每一个第一实体擦除单元包括多个实体程序化单元,每一个第二实体擦除单元包括多个实体程序化单元。存储器管理电路还用以根据可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n。存储器管理电路还用以在将第一数据写入至第三实体擦除单元中n个实体程序化单元后,检查第一擦除区或第二擦除区中是否有需要被擦除的实体擦除单元。若第一擦除区或第二擦除区中有需要被擦除的实体擦除单元,存储器管理电路用以执行所述擦除第二实体擦除单元的其中之一的操作或是所述擦除第一实体擦除单元的其中之一的操作。
基于上述,本发明范例实施例所提出的数据写入方法、存储器储存装置与存储器控制器,可以同时执行写入与擦除的操作,从而增加主机***将数据写入至存储器储存装置的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是一范例实施例所示出的主机***与存储器储存装置的概要方块图;
图1B是一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;
图1C是一范例实施例所示出的主机***与存储器储存装置的示意图;
图2是示出图1A所示的存储器储存装置的概要方块图;
图3是一范例实施例所示出的存储器控制器的概要方块图;
图4是一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图5是一范例实施例示出第一擦除区与第二擦除区的示意图;
图6A与图6B是一范例实施例说明写入第一数据的流程图;
图7是一范例实施例示出数据写入方法的流程图;
图8A与图8B是第二范例实施例示出写入第一数据的流程图。
附图标记说明:
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:可复写式非易失性存储器模块;
210、220:存储单元;
212(0)~212(A)、222(0)~222(B):实体擦除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
252:缓冲存储器;
254:电源管理电路;
256:错误检查与校正电路;
402:数据区;
404:闲置区;
406:***区;
408:取代区;
410(0)~410(I):逻辑地址;
420:第一数据;
510:第一擦除区;
520:第二擦除区;
S602、S604、S606、S608、S610、S612、S614、S616、S618、S620、S622、S624、S626、S628、S630、S632、S634、S636、S638、S640、S642、S702、S704、S706、S708、S710、S712、S802、S804:步骤。
具体实施方式
一般而言,存储器储存装置(也称,存储器储存***)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器储存装置是与主机***一起使用,以使主机***可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机***的基板上。
图2是示出图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于高速周边零件连接接口(PeripheralComponent Interconnect Express,PCI Express)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合序列先进附件(Serial Advanced Technology Attachment,SATA)标准、并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Ins t i tute of Electrical and Electronic Engineers,IEEE)1394标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(UltraHigh Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UPS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬体型式或韧体型式实作的多个逻辑栅或控制指令,并且根据主机***1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与擦除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机***1000所写入的数据。可复写式非易失性存储器模块106包括存储单元210(也称第一存储单元)与存储单元220(也称第二存储单元)。存储单元210包括实体擦除单元212(0)~212(A)(也称第一实体擦除单元),而存储单元220包括实体擦除单元222(0)~222(B)(也称第二实体擦除单元)。存储单元210与存储单元220可以独立地执行读取、写入与擦除的操作。例如,存储单元210是通过至少一个第一通道电性连接至存储器控制器104,而存储单元220是通过至少一个第二通道电性连接至存储器控制器104,并且第一通道不同于第二通道。或者,存储单元210是被至少一个第一致能信号(也称CE信号)所控制,而存储单元220是被至少一个第二致能信号所控制,并且第一致能信号不同于第二致能信号。换句话说,存储单元210在执行读取、写入或擦除的操作时,存储单元220也可以执行读取、写入或擦除的操作。并且,存储单元210所执行的操作可以不同于对存储单元220所执行的操作。另一方面,存储单元210与存储单元220可以属于不同的存储器晶粒(die),或属于相同的存储器晶粒,本发明并不在此限。
每一实体擦除单元分别具有复数个实体程序化单元,并且属于同一个实体擦除单元的实体程序化单元可被独立地写入且被同时地擦除。例如,每一实体擦除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体擦除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
再详细来说,实体擦除单元为擦除的最小单位。亦即,每一实体擦除单元含有最小数目之一并被擦除的存储胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以储存使用者的数据,而冗余比特区用以储存***的数据(例如,控制信号与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含4个实体存取地址,且一个实体存取地址的大小为512比特byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,实体擦除单元为实体区块,并且实体程序化单元为实体页面或实体扇。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储胞(MultiLevel Cell,MLC)NAND型快闪存储器模块,即一个存储胞中可储存至少2个比特数据。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储胞(Single LevelCell,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具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与擦除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬体型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器擦除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体擦除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器擦除单元用以对可复写式非易失性存储器模块106下达擦除指令以将数据从可复写式非易失性存储器模块106中擦除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机***1000所传送的指令与数据。也就是说,主机***1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于PCI Express标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于SATA标准、PATA标准、IEEE1394标准、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可将可复写式非易失性存储器模块106的实体擦除单元212(0)~212(A)、222(0)~222(B)逻辑地划分为多个区域,例如为数据区402、闲置区404、***区406与取代区408。
数据区402与闲置区404的实体擦除单元是用以储存来自于主机***1000的数据。具体来说,数据区402是已储存数据的实体擦除单元,而闲置区404的实体擦除单元是用以替换数据区402的实体擦除单元。因此,闲置区404的实体擦除单元为空或可使用的实体擦除单元,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区404中的实体擦除单元已被执行擦除运作,或者当闲置区404中的实体擦除单元被提取用于储存数据之前,所提取的实体擦除单元会先被执行擦除运作。因此,闲置区404的实体擦除单元为可被使用的实体擦除单元。
逻辑上属于***区406的实体擦除单元是用以记录***数据,其中此***数据包括关于存储器芯片的制造商与型号、存储器芯片的实体擦除单元数、每一实体擦除单元的实体程序化单元数等。
逻辑上属于取代区408中的实体擦除单元是替代实体擦除单元。例如,可复写式非易失性存储器模块于出厂时会预留4%的实体擦除单元作为更换使用。也就是说,当数据区402、闲置区404与***区406中的实体擦除单元损毁时,预留于取代区408中的实体擦除单元是用以取代损坏的实体擦除单元(即,坏实体擦除单元(bad block))。因此,倘若取代区408中仍存有正常的实体擦除单元且发生实体擦除单元损毁时,存储器控制器104会从取代区408中提取正常的实体擦除单元来更换损毁的实体擦除单元。倘若取代区408中无正常的实体擦除单元且发生实体擦除单元损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。在另一范例实施例中,取代区408也可与闲置区404共用包含无效数据的实体擦除单元。
特别是,数据区402、闲置区404、***区406与取代区408的实体擦除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,实体擦除单元关联至数据区402、闲置区404、***区406与取代区408的分组关系会动态地变动。例如,当闲置区404中的实体擦除单元损坏而被取代区408的实体擦除单元取代时,则原本取代区408的实体擦除单元会被关联至闲置区404。在此范例实施例中,***区406与取代区408包括了存储单元210与存储单元220中部分的实体擦除单元。然而,在其他范例实施例中,***区406与取代区408也可只包括存储单元210或是存储单元220中的实体擦除单元,本发明并不在此限。
存储器控制器104会配置逻辑地址410(0)~410(I)以利于在储存数据的实体擦除单元中进行数据存取。例如,当存储器储存装置100被主机***1000上的操作***通过一个文件***(例如,FAT32)格式化时,逻辑地址410(0)~410(I)会分别地映射至数据区402的实体擦除单元。在此,存储器管理电路202会建立逻辑地址-实体擦除单元映射表(logicaladdress-physical erasing unit mapping table),以记录逻辑地址与实体擦除单元之间的映射关系。在此范例实施例中,一个逻辑地址的大小相同于一个实体擦除单元的大小,即逻辑地址也可被称为逻辑区块地址(logical block address,LBA)。然而,在其他范例实施例中,一个逻辑地址的大小也可以是一个实体程序化单元的大小或其他大小,本发明并不在此限。
在此范例实施例中,在存储器管理电路202配置逻辑地址410(0)~410(I)时,逻辑地址410(0)~410(I)是交错地映射至存储单元210中的一个实体擦除单元与存储单元220中的一个实体擦除单元。例如,逻辑地址410(0)是映射至实体擦除单元212(0),逻辑地址410(1)是映射至实体擦除单元222(0),并且逻辑地址410(2)是映射至实体擦除单元212(1),以此类推。然而,在其他范例实施例中,存储器管理电路202也可以将逻辑地址410(0)~410(I)以非交错或是其他方式映射至数据区402中的实体擦除单元,本发明并不在此限。
当主机***1000要将数据写入至存储器储存装置100时,主机***1000会传送一个写入指令给存储器管理电路202,并且此写入指令会指示将数据写入至哪一个逻辑地址。例如,主机***1000传送的写入指令是指示将第一数据420写入至逻辑地址410(0)(也称第一逻辑地址)。换句话说,主机***1000是要更新实体擦除单元212(0)(也称第四实体擦除单元)中的数据。存储器管理电路202在接收到此写入指令以后,会从闲置区404中提取一个实体擦除单元(也称第三实体擦除单元),并且将第一数据420写入至此第三实体擦除单元当中。存储器管理电路202也会将逻辑地址410(0)重新映射至此第三实体擦除单元,并且将第三实体擦除单元关联至数据区402。特别的是,存储器管理电路202会判断此第三实体擦除单元是属于存储单元210中的实体擦除单元212(0)~212(A)或是存储单元220中的实体擦除单元222(0)~22(B)。如果此第三实体擦除单元是属于存储单元210的实体擦除单元(例如,实体擦除单元212(C)),则在将第一数据420写入至此第三实体擦除单元时,存储器管理电路202会同时擦除存储单元220中的至少一个实体擦除单元。如果此第三实体擦除单元是属于存储单元220的实体擦除单元(例如,实体擦除单元222(D)),则在将第一数据420写入至此第三实体擦除单元时,存储器管理电路202会同时擦除存储单元210中的至少一个实体擦除单元。也就是说,存储器管理电路202将第一数据420写入至存储单元210与存储单元220的其中之一时,会同时擦除另外一个存储单元中的至少一个实体擦除单元。以下将举一范例实施例详细说明。
图5是一范例实施例示出第一擦除区与第二擦除区的示意图。
请参照图5,除了上述的区域以外,存储器管理电路202还会逻辑地设置第一擦除区510与第二擦除区520。在存储器储存装置100被格式化时,第一擦除区510与第二擦除区520中并没有任何实体擦除单元。随着存储器管理电路202的运作,需要被擦除但还没有被擦除的实体擦除单元会被关联至第一擦除区510或第二擦除区520中。特别的是,第一擦除区510中只会放置属于存储单元210的实体擦除单元,而第二擦除区520中只会放置属于存储单元220的实体擦除单元。并且,存储器管理电路202会限制第一擦除区510与第二擦除区520中实体擦除单元的个数不能超过一临界值。
以上述例子来说,在将第一数据420写入至闲置区404的一个实体擦除单元以后,实体擦除单元212(0)中部分的数据已成为无效数据,存储器管理电路202会判断实体擦除单元212(0)是否需要被擦除。例如,当实体擦除单元212(0)中所有的数据已成为无效数据,则存储器管理电路202会判断实体擦除单元212(0)需要被擦除。若实体擦除单元212(0)需要被擦除,则存储器管理电路202会判断实体擦除单元212(0)是对应于第一擦除区510或是第二擦除区520。在此,由于实体擦除单元212(0)是属于存储单元210,因此存储器管理电路202会判断实体擦除单元212(0)是对应于第一擦除区510。接下来,存储器管理电路202会判断第一擦除区510的实体擦除单元个数(即,第一擦除区510中实体擦除单元的个数)是否大于等于上述的临界值。若第一擦除区510的实体擦除单元个数小于该临界值,则存储器管理电路202会将实体擦除单元212(0)关联至第一擦除区510。相反地,若第一擦除区510的实体擦除单元个数大于等于该临界值,则存储器管理电路202会擦除实体擦除单元212(0)并且将实体擦除单元212(0)关联至闲置区404。类似地,当需要被擦除的实体擦除单元(例如,实体擦除单元222(0))是属于第二擦除区520时,存储器管理电路202会判断第二擦除区520的实体擦除单元个数是否大于等于该临界值,从而判断是否要将此实体擦除单元关联至第二擦除区520。亦即,若第一擦除区510与第二擦除区520的实体擦除单元个数小于临界值时,需要被擦除的实体擦除单元会被关联至第一擦除区510或第二擦除区520。若对应的第一擦除区510或第二擦除区520的实体擦除单元个数大于等于临界值时,需要被擦除的实体擦除单元会被擦除且被关联至闲置区。
如上所述,第一擦除区510与第二擦除区520中放置的是需要被擦除但还没被擦除的实体擦除单元。因此,当存储器管理电路202将第一数据420写入至闲置区404的一个第三实体擦除单元时,存储器管理电路202是从第一擦除区510或第二擦除区520中取得一个要被擦除的实体擦除单元。具体来说,若第三实体擦除单元(例如,实体擦除单元212(C))是属于存储单元210,则存储器管理电路202会擦除第二擦除区520中至少一个实体擦除单元。或者,若第三实体擦除单元(例如,实体擦除单元222(D))是属于存储单元220,则存储器管理电路202会擦除第一擦除区510中至少一个实体擦除单元。
此外,在将第一数据420写入至第三实体擦除单元以后,在写入期间被擦除的一或多个实体擦除单元会被存储器管理电路202关联至闲置区404。在一范例实施例中,存储器管理电路202会在写入多笔数据以后,将这些被擦除的实体擦除单元交错地关联至闲置区404。具体来说,在将一或多个数据写入至闲置区的实体擦除单元以后,第一擦除区510可能会包括一或多个已被擦除的实体擦除单元,并且第二擦除区520也可能包括一或多个已被擦除的实体擦除单元。存储器管理电路202会从第一擦除区510与第二擦除区520的其中之一挑选一个已被擦除的实体擦除单元,并且将此已被擦除的实体擦除单元关联至闲置区404。接下来,存储器管理电路202会从另一个擦除区中挑选一个已被擦除的实体擦除单元,并且将此已被擦除的实体擦除单元关联至闲置区404。然而,在另一范例实施例中,存储器管理电路202也可以在更新***信息时一次将第一擦除区510中已被擦除的实体擦除单元全部关联至闲置区404或一次将第二擦除区520中已被擦除的实体擦除单元全部关联至闲置区404。此更新***信息的时间点可以是在存储器管理电路202更新上述的逻辑地址-实体擦除单元映射表的时间点,或者是更新其他***信息的时间点,本发明并不在此限。
在一范例实施例中,存储器管理电路202会根据可复写是非易失性存储器模块106的一写入速度与一擦除时间来决定一个正整数n。存储器管理电路202会在将第一数据420每写入n个实体程序化单元以后,便检查第一擦除区510与第二擦除区520中是否有需要被擦除的实体擦除单元。举例来说,若可复写式非易失性存储器模块106擦除一个实体擦除单元所需的时间为20ms,并且可复写式非易失性存储器模块106将数据写入至一个实体程序化单元所需的时间为4ms,则此存储器管理电路202会设定此正整数n为5或是5的倍数。
图6A与图6B是一范例实施例说明写入第一数据的流程图。
请参照图6A,存储器管理电路202会接收一个指示写入第一数据420的写入指令(步骤S602),并且从闲置区404提取一个第三实体擦除单元(步骤S604)。存储器管理电路202会判断此第三实体擦除单元是否属于存储单元210(步骤S606)。若此第三实体擦除单元是属于存储单元210,则存储器管理电路202会设定一个变数x为正整数n(步骤S608)。接下来,在步骤S610中,存储器管理电路202会判断第二擦除区520是否有需要被擦除的实体擦除单元并且变数x是否等于正整数n。若步骤S610的结果为是,存储器管理电路202会擦除第二擦除区520中的一个实体擦除单元(步骤S612),并且设定变数x为0(步骤S614)。在步骤S616中,存储器管理电路202会将第一数据420写入至第三实体擦除单元中的一个实体程序化单元,并且将变数x加上1。在步骤S618中,存储器管理电路202会判断此写入指令是否已经执行完毕。若步骤S618的结果为否,则存储器管理电路202会回到步骤S610。
若步骤S606的结果为否,则存储器管理电路202会设定变数x为n(步骤S620)。在步骤S622中,存储器管理电路202会判断第一擦除区510是否有需要被擦除的实体擦除单元并且变数x是否等于正整数n。若步骤S622的结果为是,存储器管理电路202会擦除第一擦除区510中的一个实体擦除单元(步骤S624),并且设定变数x为0(步骤S626)。在步骤S628中,存储器管理电路202会将第一数据420写入至第三实体擦除单元中的一个实体程序化单元,并且将变数x加1。在步骤S630中,存储器管理电路202会判断此写入指令是否已经执行完毕。若步骤S630的结果为否,则存储器管理电路202会回到步骤S622。
请参照图6B,接下来,存储器管理电路202会检查存储单元210与存储单元220中的实体擦除单元(步骤S632),并且判断是否有需要被擦除的实体擦除单元(步骤S634)。例如,如图5所示,若实体擦除单元212(0)中已经没有有效数据,则存储器管理电路202会判断实体擦除单元212(0)为需要被擦除的实体擦除单元。然而,若第一数据420是要写入至多个实体擦除单元,则在写入期间也可能产生多个需要被擦除的实体擦除单元。本发明并不限制在步骤S634中判断出的实体擦除单元有几个。若步骤S634的结果为是,在步骤S636中,存储器管理电路202会判断此需要被擦除的实体擦除单元是对应至第一擦除区510或是第二擦除区520,并且判断此对应的第一擦除区510或是第二擦除区520是否已满(即,其实体擦除单元个数大于等于一临界值)。若步骤S636的结果为是,则存储器管理电路202会擦除上述需要被擦除的实体擦除单元,并且将此实体擦除单元关联至闲置区404(步骤S640)。若步骤S636的结果为否,存储器管理电路202会将此需要被擦除的实体擦除单元关联至所对应的第一擦除区510或是第二擦除区520(步骤S638)。最后,在步骤S642中,存储器管理电路202会将写入期间所擦除的实体擦除单元(即,步骤612或步骤S624所擦除的实体擦除单元)关联至闲置区404。
图7是一范例实施例示出数据写入方法的流程图。
请参照图7,在步骤S702中,配置多个逻辑地址以映射至存储单元210中至少部分的实体擦除单元与存储单元220中至少部分的实体擦除单元。
在步骤S704中,接收来自主机***的写入指令,其中写入指令指示将第一数据写入至一个逻辑地址。
在步骤S706中,从存储单元210与存储单元220中的实体擦除单元中取得一个第三实体擦除单元,并且将第一数据写入至此第三实体擦除单元。
在步骤S708中,判断第三实体擦除单元是属于存储单元210或是存储单元220。
若步骤S708的结果为“存储单元210”,则在步骤S710中,将第一数据写入至第三实体擦除单元时,擦除存储单元220中的一个实体擦除单元。
若步骤S708的结果为“存储单元220”,在步骤S712中,将第一数据写入至第三实体擦除单元时,擦除存储单元210中的一个实体擦除单元。
然而,图7中各步骤已详细说明如上,在此便不再赘述。图7中各步骤可以被实作为多个程序码,由一个处理器(例如,存储器控制器104)所执行。或者,图7中各步骤可以被实作为一或多个电路,本发明并不限制用软件或是硬件的方式实作图7中各步骤。此外,图7各步骤可以搭配上述的范例实施例一起实施,或者,图7各步骤也可以单独实施,本发明并不在此限。
请参照回图2,在此范例实施例中,可复写式非易失性存储器模块106包括了两个存储单元,并且其中一个存储单元(其可包括一或多个通道)的写入速度便已大于连接器102的传输速度。因此,一起执行写入与擦除的操作可以避免在将数据写入以后,存储器管理电路202需要再多花时间执行擦除的操作。然而,在其他范例实施例中,可复写式非易失性存储器模块106也可包括y个存储单元,其中m个存储单元的写入速度便已大于连接器102的传输速度。当存储器管理电路202将数据写入至m个存储单元的其中之一时,会擦除其余y-m个存储单元中的至少一个实体擦除单元。上述的y与m为正整数,并且m小于y,但本发明并不限制y与m的数值。
第二范例实施例
第二范例实施例与第一范例实施例类似,在此仅说明不同之处。在第二范例实施例中,存储器管理电路202在接收到写入指令以后,会分析此写入指令所要写入的实体程序化单元的个数是否大于等于正整数n。
图8A与图8B是第二范例实施例示出写入第一数据的流程图。
请参照图8A,在步骤S602中,存储器管理电路202接收到写入指令以后,存储器管理电路202会分析此写入指令,并且获得此写入指令欲写入第一数据至t个实体程序化单元,其中t为正整数。在步骤S802中,存储器管理电路202会判断正整数t是否大于等于正整数n。若步骤S802的结果为是,则存储器管理电路202会继续步骤S604,其余的步骤与图6A相同。若步骤S802的结果为否,在步骤S804中,存储器管理电路202会从闲置区提取一第三实体擦除单元,并且将第一数据写入至第三实体擦除单元中的t个实体程序化单元。在步骤S804之后,存储器管理电路202会进行图8B中的各步骤,其相同于图6B的各步骤,在此便不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。。
Claims (25)
1.一种数据写入方法,用于控制一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括一第一存储单元与一第二存储单元,该第一存储单元包括多个第一实体擦除单元,并且该第二存储单元包括多个第二实体擦除单元,其特征在于,该数据写入方法包括:
配置多个逻辑地址以映射至至少部分的该些第一实体擦除单元与至少部分的该些第二实体擦除单元;
接收来自一主机***的一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址中的一第一逻辑地址;
从该些第一实体擦除单元与该些第二实体擦除单元中取得一第三实体擦除单元,并且将该第一数据写入至该第三实体擦除单元;
判断该第三实体擦除单元是属于该第一存储单元或是该第二存储单元;以及
若该第三实体擦除单元属于该第一存储单元,将该第一数据写入至该第三实体擦除单元时,擦除该些第二实体擦除单元的其中之一,
其中该第一存储单元执行写入操作或擦除操作时,该第二存储单元同时执行写入操作或擦除操作。
2.根据权利要求1所述的数据写入方法,其特征在于,还包括:
若该第三实体擦除单元属于该第二存储单元,将该第一数据写入至该第三实体擦除单元时,擦除该些第一实体擦除单元的其中之一。
3.根据权利要求2所述的数据写入方法,其特征在于,还包括:
将该些第一实体擦除单元与该些第二实体擦除单元至少划分为一数据区与一闲置区,其中该至少部分的该些第一实体擦除单元与该至少部分的该些第二实体擦除单元属于该数据区;以及
设置一第一擦除区与一第二擦除区,
其中该第三实体擦除单元属于该闲置区,该些第一实体擦除单元的该其中之一属于该第一擦除区,并且该些第二实体擦除单元的该其中之一属于该第二擦除区。
4.根据权利要求3所述的数据写入方法,其特征在于,该第一逻辑地址是映射至该些第一实体擦除单元与该些第二实体擦除单元之中的一第四实体擦除单元,在将该第一数据写入至该第三实体擦除单元的步骤之后,该数据写入方法还包括:
判断该第四实体擦除单元是否需要被擦除;
若该第四实体擦除单元需要被擦除,判断该第一擦除区或该第二擦除区的一实体擦除单元个数是否大于等于一临界值;
若该第一擦除区与该第二擦除区的该实体擦除单元个数小于该临界值,将该第四实体擦除单元关联至该第一擦除区或该第二擦除区。
5.根据权利要求4所述的数据写入方法,其特征在于,还包括:
若该第一擦除区或该第二擦除区的该实体擦除单元个数大于等于该临界值,擦除该第四实体擦除单元,并且将该第四实体擦除单元关联至该闲置区。
6.根据权利要求3所述的数据写入方法,其特征在于,还包括:
将该些第一实体擦除单元的该其中之一或是该些第二实体擦除单元的该其中之一关联至该闲置区。
7.根据权利要求3所述的数据写入方法,其特征在于,在该第一数据被写入至该第三实体擦除单元以后,该第一擦除区包括多个已被擦除的第一实体擦除单元,并且该第二擦除区包括多个已被擦除的第二实体擦除单元,该数据写入方法还包括:
交错地将该些已被擦除的第一实体擦除单元的其中之一与该些已被擦除的第二实体擦除单元的其中之一关联至该闲置区。
8.根据权利要求3所述的数据写入方法,其特征在于,每一该些第一实体擦除单元包括多个实体程序化单元,并且每一该些第二实体擦除单元包括多个实体程序化单元,该数据写入方法还包括:
根据该可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n;
将该第一数据写入至该第三实体擦除单元中该些实体程序化单元的n个实体程序化单元时,检查该第一擦除区或该第二擦除区中是否有需要被擦除的实体擦除单元;以及
若该第一擦除区或该第二擦除区中有需要被擦除的实体擦除单元时,执行所述擦除该些第二实体擦除单元的该其中之一的步骤或是所述擦除该些第一实体擦除单元的该其中之一的步骤。
9.根据权利要求3所述的数据写入方法,其特征在于,每一该些第一实体擦除单元包括多个实体程序化单元,每一该些第二实体擦除单元包括多个实体程序化单元,并且从该写入指令获得指示写入t个实体程序化单元,其中t为正整数,该数据写入方法还包括:
根据该可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n;
判断该正整数t是否大于等于该正整数n;
若该正整数t小于该正整数n,将该第一数据写入至该第三实体擦除单元;
若该正整数t大于等于该正整数n,执行所述取得该第三实体擦除单元的步骤,所述将该第一数据写入至该第三实体擦除单元的步骤,以及所述判断该第三实体擦除单元是属于该第一存储单元或是该第二存储单元的步骤。
10.根据权利要求1所述的数据写入方法,其特征在于,该些逻辑地址是交错地映射至该些第一实体擦除单元的其中之一与该些第二实体擦除单元的其中之一。
11.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机***;
一可复写式非易失性存储器模块,包括一第一存储单元与一第二存储单元,其中该第一存储单元包括多个第一实体擦除单元,并且该第二存储单元包括多个第二实体擦除单元;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,用以配置多个逻辑地址以映射至至少部分的该些第一实体擦除单元与至少部分的该些第二实体擦除单元,
其中,该存储器控制器用以接收来自该主机***的一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址中的一第一逻辑地址,
其中,该存储器控制器用以从该些第一实体擦除单元与该些第二实体擦除单元中取得一第三实体擦除单元,并且将该第一数据写入至该第三实体擦除单元,
其中,该存储器控制器用以判断该第三实体擦除单元是属于该第一存储单元或是该第二存储单元,
若该第三实体擦除单元属于该第一存储单元,该存储器控制器用以在将该第一数据写入至该第三实体擦除单元时,擦除该些第二实体擦除单元的其中之一,
其中该第一存储单元执行写入操作或擦除操作时,该第二存储单元同时执行写入操作或擦除操作。
12.根据权利要求11所述的存储器储存装置,其特征在于,若该第三实体擦除单元属于该第二存储单元,该存储器控制器用以在将该第一数据写入至该第三实体擦除单元时,擦除该些第一实体擦除单元的其中之一。
13.根据权利要求12所述的存储器储存装置,其特征在于,该存储器控制器还用以将该些第一实体擦除单元与该些第二实体擦除单元至少划分为一数据区与一闲置区,其中该至少部分的该些第一实体擦除单元与该至少部分的该些第二实体擦除单元属于该数据区,
其中,该存储器控制器还用以设置一第一擦除区与一第二擦除区,其中该第三实体擦除单元属于该闲置区,该些第一实体擦除单元的该其中之一属于该第一擦除区,并且该些第二实体擦除单元的该其中之一属于该第二擦除区。
14.根据权利要求13所述的存储器储存装置,其特征在于,该第一逻辑地址是映射至该些第一实体擦除单元与该些第二实体擦除单元之中的一第四实体擦除单元,在将该第一数据写入至该第三实体擦除单元之后,该存储器控制器还用以判断该第四实体擦除单元是否需要被擦除,
若该第四实体擦除单元需要被擦除,该存储器控制器还用以判断该第一擦除区或该第二擦除区的一实体擦除单元个数是否大于等于一临界值,
若该第一擦除区与该第二擦除区的该实体擦除单元个数小于该临界值,该存储器控制器用以将该第四实体擦除单元关联至该第一擦除区或该第二擦除区。
15.根据权利要求14所述的存储器储存装置,其特征在于,若该第一擦除区或该第二擦除区的该实体擦除单元个数大于等于该临界值,该存储器控制器用以擦除该第四实体擦除单元,并且将该第四实体擦除单元关联至该闲置区。
16.根据权利要求13所述的存储器储存装置,其特征在于,该存储器控制器还用以将该些第一实体擦除单元的该其中之一或是该些第二实体擦除单元的该其中之一关联至该闲置区。
17.根据权利要求13所述的存储器储存装置,其特征在于,在该第一数据被写入至该第三实体擦除单元以后,该第一擦除区包括多个已被擦除的第一实体擦除单元,并且该第二擦除区包括多个已被擦除的第二实体擦除单元,该存储器控制器还用以交错地将该些已被擦除的第一实体擦除单元的其中之一与该些已被擦除的第二实体擦除单元的其中之一关联至该闲置区。
18.根据权利要求13所述的存储器储存装置,其特征在于,每一该些第一实体擦除单元包括多个实体程序化单元,每一该些第二实体擦除单元包括多个实体程序化单元,并且该存储器控制器还用以根据该可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n,
其中,该存储器控制器还用以在将该第一数据写入至该第三实体擦除单元中该些实体程序化单元的n个实体程序化单元时,检查该第一擦除区或该第二擦除区中是否有需要被擦除的实体擦除单元,
若该第一擦除区或该第二擦除区中有需要被擦除的实体擦除单元时,该存储器控制器用以执行所述擦除该些第二实体擦除单元的该其中之一的操作或是所述擦除该些第一实体擦除单元的该其中之一的操作。
19.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其特征在于,该存储器控制器包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括一第一存储单元与一第二存储单元,其中该第一存储单元包括多个第一实体擦除单元,并且该第二存储单元包括多个第二实体擦除单元;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以配置多个逻辑地址以映射至至少部分的该些第一实体擦除单元与至少部分的该些第二实体擦除单元,
其中,该存储器管理电路用以接收来自该主机***的一写入指令,其中该写入指令指示将一第一数据写入至该些逻辑地址中的一第一逻辑地址,
其中,该存储器管理电路用以从该些第一实体擦除单元与该些第二实体擦除单元中取得一第三实体擦除单元,并且将该第一数据写入至该第三实体擦除单元,
其中,该存储器管理电路用以判断该第三实体擦除单元是属于该第一存储单元或是该第二存储单元,
若该第三实体擦除单元属于该第一存储单元,该存储器管理电路用以在将该第一数据写入至该第三实体擦除单元时,擦除该些第二实体擦除单元的其中之一,
其中该第一存储单元执行写入操作或擦除操作时,该第二存储单元同时执行写入操作或擦除操作。
20.根据权利要求19所述的存储器控制器,其特征在于,若该第三实体擦除单元属于该第二存储单元,该存储器管理电路用以在将该第一数据写入至该第三实体擦除单元时,擦除该些第一实体擦除单元的其中之一。
21.根据权利要求20所述的存储器控制器,其特征在于,该存储器管理电路还用以将该些第一实体擦除单元与该些第二实体擦除单元至少划分为一数据区与一闲置区,其中该至少部分的该些第一实体擦除单元与该至少部分的该些第二实体擦除单元属于该数据区,
其中,该存储器管理电路还用以设置一第一擦除区与一第二擦除区,其中该第三实体擦除单元属于该闲置区,该些第一实体擦除单元的该其中之一属于该第一擦除区,并且该些第二实体擦除单元的该其中之一属于该第二擦除区。
22.根据权利要求21所述的存储器控制器,其特征在于,该第一逻辑地址是映射至该些第一实体擦除单元与该些第二实体擦除单元之中的一第四实体擦除单元,在将该第一数据写入至该第三实体擦除单元之后,该存储器管理电路还用以判断该第四实体擦除单元是否需要被擦除,
若该第四实体擦除单元需要被擦除,该存储器管理电路还用以判断该第一擦除区或该第二擦除区的一实体擦除单元个数是否大于等于一临界值,
若该第一擦除区与该第二擦除区的该实体擦除单元个数小于该临界值,该存储器管理电路用以将该第四实体擦除单元关联至该第一擦除区与该第二擦除区的其中之一。
23.根据权利要求22所述的存储器控制器,其特征在于,若该第一擦除区或该第二擦除区的该实体擦除单元个数大于等于该临界值,该存储器管理电路用以擦除该第四实体擦除单元,并且将该第四实体擦除单元关联该闲置区。
24.根据权利要求21所述的存储器控制器,其特征在于,在该第一数据被写入至该第三实体擦除单元以后,该第一擦除区包括多个已被擦除的第一实体擦除单元,并且该第二擦除区包括多个已被擦除的第二实体擦除单元,该存储器管理电路还用以交错地将该些已被擦除的第一实体擦除单元的其中之一与该些已被擦除的第二实体擦除单元的其中之一关联至该闲置区。
25.根据权利要求21所述的存储器控制器,其特征在于,每一该些第一实体擦除单元包括多个实体程序化单元,每一该些第二实体擦除单元包括多个实体程序化单元,并且该存储器管理电路还用以根据该可复写式非易失性存储器模块的一写入速度与一擦除时间决定一正整数n,
其中,该存储器管理电路还用以在将该第一数据写入至该第三实体擦除单元中该些实体程序化单元的n个实体程序化单元时,检查该第一擦除区或该第二擦除区中是否有需要被擦除的实体擦除单元,
若该第一擦除区或该第二擦除区中有需要被擦除的实体擦除单元时,该存储器管理电路用以执行所述擦除该些第二实体擦除单元的该其中之一的操作或是所述擦除该些第一实体擦除单元的该其中之一的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310050783.XA CN103984635B (zh) | 2013-02-08 | 2013-02-08 | 数据写入方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310050783.XA CN103984635B (zh) | 2013-02-08 | 2013-02-08 | 数据写入方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103984635A CN103984635A (zh) | 2014-08-13 |
CN103984635B true CN103984635B (zh) | 2017-09-22 |
Family
ID=51276625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310050783.XA Active CN103984635B (zh) | 2013-02-08 | 2013-02-08 | 数据写入方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984635B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106297896B (zh) * | 2015-06-02 | 2019-06-14 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
CN107132989B (zh) * | 2016-02-26 | 2020-05-12 | 群联电子股份有限公司 | 数据程序化方法、存储器控制电路单元及存储器存储装置 |
CN107463415A (zh) * | 2017-08-22 | 2017-12-12 | 金陵科技学院 | 一种单片机并行烧录方法 |
CN109460372B (zh) * | 2017-09-06 | 2022-11-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制电路单元及存储器存储装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI375962B (en) * | 2008-06-09 | 2012-11-01 | Phison Electronics Corp | Data writing method for flash memory and storage system and controller using the same |
TWI381274B (zh) * | 2008-07-10 | 2013-01-01 | Phison Electronics Corp | 用於快閃記憶體的區塊管理方法、儲存系統與控制器 |
US9280466B2 (en) * | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
-
2013
- 2013-02-08 CN CN201310050783.XA patent/CN103984635B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103984635A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544115B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103699491B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN102193869B (zh) | 存储器管理与写入方法及其存储器控制器与储存*** | |
CN104636267B (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN107590080A (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102902626B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN103984635B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN105988950B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN103914391B (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103593255B (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104731710B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN104657083B (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN106445397B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN107122308A (zh) | 平均磨损方法、内存控制电路单元及内存储存装置 | |
CN103019952B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN106354651A (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 |