CN102193869B - 存储器管理与写入方法及其存储器控制器与储存系统 - Google Patents

存储器管理与写入方法及其存储器控制器与储存系统 Download PDF

Info

Publication number
CN102193869B
CN102193869B CN201010124996.9A CN201010124996A CN102193869B CN 102193869 B CN102193869 B CN 102193869B CN 201010124996 A CN201010124996 A CN 201010124996A CN 102193869 B CN102193869 B CN 102193869B
Authority
CN
China
Prior art keywords
solid element
instance
write
logical block
data field
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
Application number
CN201010124996.9A
Other languages
English (en)
Other versions
CN102193869A (zh
Inventor
叶志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201010124996.9A priority Critical patent/CN102193869B/zh
Publication of CN102193869A publication Critical patent/CN102193869A/zh
Application granted granted Critical
Publication of CN102193869B publication Critical patent/CN102193869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种存储器管理与写入方法及其存储器控制器与储存系统。存储器管理与写入方法用于管理一存储器芯片的多个实体单元。本方法包括将此些实体单元分组为第一与第二实体单元群,记录与计算对应第一实体单元群的第一抹除次数与对应第二实体单元群的第二抹除次数;并且计算第一抹除次数与第二抹除次数之间的抹除次数差值。本方法还包括当接收到主机写入指令时,判断抹除次数差值是否大于抹除次数差异门槛值。此外,当判断平均抹除次数差值大于抹除次数差异门槛值时,本方法还包括执行交换写入程序以将对应此主机写入指令的数据写入至存储器芯片中。基此,可有效地延长存储器芯片的寿命。

Description

存储器管理与写入方法及其存储器控制器与储存系统
技术领域
本发明是有关于一种存储器管理与写入方法及使用此方法的可复写式非挥发性存储控制器与可复写式非挥发性储存系统。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非挥发性存储器(rewritablenon-volatile memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。固态硬盘就是一种以可复写式非挥发性存储器作为储存媒体的储存装置。由于可复写式非挥发性存储器体积小容量大,所以已广泛用于个人重要数据的储存。因此,近年可复写式非挥发性存储器产业成为电子产业中相当热门的一环。
一般来说,存储器芯片是由多个实体区块所组成。此外,可复写式非挥发性存储器储存系统的控制器会将实体区块分组为多个实体单元,并且将此些实体单元逻辑地分组为数据区(data area)与备用区(spare area)来管理。属于数据区的实体单元是用以储存由主机写入指令所写入的有效数据,而属于备用区的实体单元是用以在执行主机写入指令时替换数据区的实体单元。为了能够让主机能够顺利地存取以轮替方式储存数据的实体单元,可复写式非挥发性存储器储存系统会提供逻辑单元以利主机系统进行存取。也就是说,可复写式非挥发性存储器储存系统会建立逻辑单元-实体单元映射表(logical unit-physical unit mapping table),并且在此表中记录与更新逻辑单元与数据区的实体单元之间的映射关系来反映实体单元的轮替。具体来说,当可复写式非挥发性存储器储存系统接受到主机系统的主机写入指令而欲将数据写入至一逻辑单元时,可复写式非挥发性存储器储存系统会从备用区中提取一个实体单元;将在此逻辑单元原始所映射的实体单元中的有效旧数据与欲写入的新数据写入至从备用区中所提取的实体单元;将此逻辑单元原始所映射的实体单元进行抹除操作并关联至备用区;并且在逻辑单元-实体单元映射表中将此逻辑单元重新映射至已写入新数据的实体单元(即,此已写入新数据的实体单元已被关联至数据区)。基此,主机系统仅需要依据逻辑单元来进行存取,而可复写式非挥发性存储器储存系统会依据逻辑单元-实体单元映射表在所映射的实体单元上执行数据的读取或写入。
特别是,随着可复写式非挥发性存储器中每一实体单元的容量越来越大,搬移有效旧数据所需的时间亦随着大幅增加。为了能够提升搬移有效旧数据的速度,可复写式非挥发性存储器的制造商提供了复制(CopyBack)指令组以缩短在实体单元之间搬移数据所需的时间。然而,在可复写式非挥发性存储器的电路设计上,由实体区块所组成的实体单元是分别地属于不同区块面(plane),并且上述复制指令仅适用于属于同一个区块面的实体单元之间。
因此,为了能够使用复制指令组,在目前的存储器管理技术中,可复写式非挥发性存储器储存系统的控制器会根据实体单元所属的区块面将实体单元分为数个实体单元群来分别地管理。也就是说,每一实体单元群具有各别的数据区与备用区,上述实体单元的轮替仅限于同一个实体单元群中。由此,可复写式非挥发性存储器储存系统的控制器可顺利地利用复制指令组来在实体单元之间搬移有效旧数据。
可复写式非挥发性存储器的实体单元(或实体区块)的写入与抹除次数是有限的(例如,10000次),特别是,由于实体单元是以轮替方式来储存数据,因此当部分实体单元已磨损后既使其他实体单元仍可使用,但此可复写式非挥发性存储器储存系统已无法再被正常使用。基此,将实体单元分为多个实体单元群来管理时,若主机系统经常于某一逻辑单元上存取数据时,对应的实体单元群会较其他实体单元群更快被抹损,而使得可复写式非挥发性存储器储存系统无法再使用。
发明内容
本发明提供一种存储器管理与写入方法,其能够有效地提升写入数据至存储器芯片的速度并且延长可复写式非挥发性存储器储存装置的寿命。
本发明提供一种可复写式非挥发性存储器控制器,其能够有效地提升写入数据至存储器芯片的速度并且延长可复写式非挥发性存储器储存装置的寿命。
本发明提供一种可复写式非挥发性存储器储存系统,其能够有效地提升写入数据至存储器芯片的速度并且延长存储器芯片的寿命。
本发明实施例提出一种存储器管理与写入方法,用于管理一存储器芯片的多个实体单元。本存储器管理与写入方法包括:配置多个逻辑单元;将此些实体单元分组为一第一实体单元群与一第二实体单元群;将第一实体单元群的部分实体单元分组为一第一数据区与对应第一数据区的一第一备用区;将第二实体单元群的部分实体单元分组为一第二数据区与对应第二数据区的一第二备用区;以及将逻辑单元映射至第一数据区与第二数据区的实体单元。本存储器管理与写入方法也包括:记录第一实体单元群与第二实体单元群中的每一实体单元的一抹除次数;依据此些抹除次数计算第一实体单元群的一第一抹除次数与第二实体单元群的一第二抹除次数;并且计算第一抹除次数与第二抹除次数之间的一抹除次数差值。本存储器管理与写入方法还包括:当接收到对应一第一逻辑单元的主机写入指令与对应此主机写入指令的新数据时,判断上述抹除次数差值是否大于一抹除次数差异门槛值,其中此第一逻辑单元映射第一数据区的实体单元之中的一第一实体单元。此外,当判断上述抹除次数差值大于此抹除次数差异门槛值时,执行一交换写入程序。在此,此交换写入程序包括:从第二备用区的实体单元之中提取一第二实体单元;以及将新数据写入至该第二实体单元中。
本发明实施例提出一种可复写式非挥发性存储器控制器,其包括微处理器单元、可复写式非挥发性存储器界面单元与存储器管理单元。可复写式非挥发性存储器界面单元电性连接至微处理器单元,并且用以电性连接至上述存储器芯片。存储器管理单元电性连接至微处理器单元,其中此存储器管理单元具有复数个程序码用以供微处理器单元执行上述存储器管理与写入方法中的程序。
本发明实施例提出一种可复写式非挥发性存储器储存系统,其包括连接器、存储器芯片与可复写式非挥发性存储器控制器。此可复写式非挥发性存储器控制器用以执行上述存储器管理与写入方法中的程序。
基于上述,本发明实施例能够提升写入数据存储器芯片的速度并且延长存储器芯片的寿命。
为让本发明上述特征和优点能还明显易懂,下文特举实施例,并配合所附图作详细说明如下。
附图说明
图1A为本发明一实施例使用可复写式非挥发性存储器储存装置的主机系统;
图1B为本发明实施例电脑、输入/输出装置与可复写式非挥发性存储器储存装置的示意图;
图1C为本发明另一实施例主机系统与可复写式非挥发性存储器储存装置的示意图;
图2为图1A所示的可复写式非挥发性存储器储存装置的概要方块图;
图3为本发明一实施例可复写式非挥发性存储器控制器的概要方块图;
图4~图8为本发明一实施例管理存储器芯片的示意图;
图9为本发明一实施例逻辑单元-实体单元映射表的示意图;
图10~15图为本发明实施例数据写入范例;
图16为本发明实施例存储器管理与写入方法的流程图。
主要元件符号说明
1000:主机系统;            1100:电脑;
1102:微处理器;            1104:随机存取存储器;
1106:输入/输出装置;       1108:系统总线;
1110:数据传输界面;        1202:滑鼠;
1204:键盘;                1206:显示器;
1208:打印机;              1212:随身碟;
1214:记忆卡;              1216:固态硬盘;
1310:数字相机;            1312:SD卡;
1314:MMC卡;               1316:记忆棒;
1318:CF卡;                1320:嵌入式储存装置;
106:存储器芯片;           102:连接器;
202:微处理器单元;         204:存储器管理单元;
206:主机界面单元;         460(0)~460(H):逻辑单元;
252:缓冲存储器;           254:电源管理单元;
256:错误校正单元;         430(0)~430(N):实体单元;
302:系统区;               304:储存区;
306:取代区;               510:第一实体单元群;
512:第一数据区;           514:第一备用区;
520:第二实体单元群;       522:第二数据区;
524:第二备用区;
900:逻辑单元-实体单元映射表;
104:可复写式非挥发性存储器控制器;
100:可复写式非挥发性存储器储存装置;
208:可复写式非挥发性存储器界面单元;
S1601、S1603、S1605、S1607、S1609、S1611、S1613、S1615、S1617、S1619、S1621、S1623:存储器管理与写入方法的步骤。
具体实施方式
一般而言,可复写式非挥发性存储器储存装置(亦称,可复写式非挥发性存储器储存系统)包括存储器芯片与控制器(亦称,控制电路)。通常可复写式非挥发性存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至可复写式非挥发性存储器储存装置或从可复写式非挥发性存储器储存装置中读取数据。另外,亦有可复写式非挥发性存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软体。
图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可为可储存数据的任意系统。虽然在本实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非挥发性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick,MEM STICK)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2为图1A所示的可复写式非挥发性存储器储存装置的概要方块图。
请参照图2,可复写式非挥发性存储器储存装置100包括连接器102、可复写式非挥发性存储器控制器104与存储器芯片106。
连接器102是电性连接至可复写式非挥发性存储器控制器104并且用以电性连接至主机系统1000。在本实施例中,连接器102为安全数字(securedigital,SD)界面连接器。然而,必须了解的是本发明不限于此,连接器102亦可以是通用序列总线(Universal Serial Bus,USB)连接器、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394连接器、高速周边零件连接界面(Peripheral Component Interconnect Express,PCIExpress)连接器、序列先进附件(Serial Advanced Technology Attachment,SATA)连接器、记忆棒(Memory Stick,MS)界面连接器、多媒体储存卡(Multi Media Card,MMC)界面连接器、小型快闪(Compact Flash,CF)界面连接器、整合式驱动电子界面(Integrated Device Electronics,IDE)连接器或其他适合的连接器。
可复写式非挥发性存储器控制器104会执行以硬体型式或韧体型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在存储器芯片106中进行数据的写入、读取与抹除等运作。
图3为本发明一实施例可复写式非挥发性存储器控制器的概要方块图。
请参照图3,可复写式非挥发性存储器控制器104包括微处理器单元202、存储器管理单元204、主机界面单元206、可复写式非挥发性存储器界面单元208。
微处理器单元202为可复写式非挥发性存储器控制器104的主控单元,用以与存储器管理单元204、主机界面单元206与可复写式非挥发性存储器界面单元208等协同合作以进行可复写式非挥发性存储器储存装置100的各种运作。
存储器管理单元204是电性连接至微处理器单元202,用以搭配微处理器单元202以使微处理器单元202执行根据本实施例的数据存取机制与区块管理机制。具体来说,存储器管理单元204具有多个控制指令并且微处理器单元202会载入此些控制指令以执行根据本实施例的数据存取机制与区块管理机制。此些数据存取机制与区块管理机制将于以下配合图式作详细说明。
在本实施例中,存储器管理单元204是以一韧体型式实作在可复写式非挥发性存储器控制器104中。例如,将包括多个控制指令的存储器管理单元204烧录至一程序存储器(例如,只读存储器(Read Only Memory,ROM))中并且将此程序存储器嵌入在可复写式非挥发性存储器控制器104中,当可复写式非挥发性存储器储存装置100运作时,存储器管理单元204的多个控制指令会由微处理器单元202来执行以完成根据本发明实施例的数据存取机制与存储器管理机制。
在本发明另一实施例中,存储器管理单元204的控制指令亦可以程序码型式储存于存储器芯片106的特定区域(例如,存储器芯片中专用于存放系统数据的系统区)中。此外,存储器管理单元204具有一只读存储器(未绘示)及一随机存取存储器(Random Access Memory,RAM)(未绘示)。特别是,此只读存储器具有一驱动代码段,并且当可复写式非挥发性存储器控制器104被致能时,微处理器单元202会先执行该驱动代码段以将储存于存储器芯片106中存储器管理单元204的控制指令载入至存储器管理单元204随机存取存储器中,之后再运转此些控制指令以执行本发明实施例的数据存取机制与存储器管理机制。此外,在本发明另一实施例中,存储器管理单元204亦可以一硬体型式实作在可复写式非挥发性存储器控制器104中。
主机界面单元206是电性连接至微处理器单元202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机界面单元206来传送至微处理器单元202。在本实施例中,主机界面单元206是对应连接器102为SD界面。然而,必须了解的是本发明不限于此,主机界面单元210亦可以是PATA界面、USB界面、IEEE 1394界面、PCI Express界面、SATA界面、MS界面、MMC界面、CF界面、IDE界面或其他适合的数据传输界面。
可复写式非挥发性存储器界面单元208是电性连接至微处理器单元202并且用以存取存储器芯片106。也就是说,欲写入至存储器芯片106的数据会经由可复写式非挥发性存储器界面单元208转换为存储器芯片106所能接受的格式。
在本发明一实施例中,可复写式非挥发性存储器控制器104还包括缓冲存储器252。缓冲存储器252是电性连接至微处理器单元202并且用以暂存来自于主机系统1000的数据与指令或来自于存储器芯片106的数据。
在本发明一实施例中,可复写式非挥发性存储器控制器104还包括电源管理单元254。电源管理单元254是电性连接至微处理器单元202并且用以控制可复写式非挥发性存储器储存装置100的电源。
在本发明一实施例中,可复写式非挥发性存储器控制器104还包括错误校正单元256。错误校正单元256是电性连接至微处理器单元202并且用以执行一错误校正程序以确保数据的正确性。具体来说,当微处理器单元202从主机系统1000中接收到主机写入指令时,错误校正单元256会为对应此主机写入指令的写入数据产生对应的错误检查与校正码(ErrorChecking and Correcting Code,ECC Code),并且微处理器单元202会将此写入数据与对应的错误校正码写入至存储器芯片106中。之后,当微处理器单元202从存储器芯片106中读取数据时会同时读取此数据对应的错误校正码,并且错误校正单元256会依据此错误校正码对所读取的数据执行错误校正程序。
请再参照图2,存储器芯片106是电性连接至可复写式非挥发性存储器控制器104。存储器芯片106为一可复写式非挥发性存储器,并且具有多个实体区块。各实体区块分别具有复数个页面,其中对应于同一实体区块的页面可独立写入且同时抹除。更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目之一并被抹除的记忆胞。每一实体区块具有数个实体页面,并且实体页面为程序化的最小单元。换言之,实体页面为写入数据或读取数据的最小单元。每一实体页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码)。在本实施例中,存储器芯片106为快闪存储器芯片。例如,存储器芯片106为一多层记忆胞(Multi Level Cell,MLC)NAND存储器芯片。然而,本发明不限于此,存储器芯片106亦可是单层记忆胞(Single Level Cell,SLC)NAND存储器芯片或其他具有相同特性的存储器。
图4~图8为本发明一实施例绘示管理存储器芯片的示意图。
必须了解的是,在此描述存储器芯片106实体区块的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作实体区块是逻辑上的概念。也就是说,存储器芯片106实体区块的实际位置并未更动,而是逻辑上对存储器芯片106的实体区块进行操作。
请参照图4,可复写式非挥发性存储器控制器104的微处理器单元202会根据存储器芯片106的电路设计将存储器芯片106的实体区块分组为多个实体单元来进行管理。例如,1个实体单元包括2个实体区块,并且以实体单元作为抹除的单位。必须了解的是,尽管本实施例是以2个实体区块所组成的实体单元来进行管理。然而,本发明不限于此,在本发明另一实施例中,1个实体单元亦可仅由1个实体区块或者由3个以上的实体区块所组成。例如,存储器芯片106的实体区块会被分组为实体单元430(0)~430(N)。
此外,可复写式非挥发性存储器控制器104的微处理器单元202会将实体单元430(0)~430(N)逻辑地分组为系统区302、储存区304与取代区306。
逻辑上属于系统区302的实体单元430(0)~430(S-1)用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的实体区块数、每一实体区块的页面数等。
逻辑上属于储存区304的实体单元430(S)~430(R-1)是用以储存主机系统1000所写入的数据。也就是说,可复写式非挥发性存储器储存装置100会使用分组为储存区304的实体单元来实际地储存主机系统1000所写入的数据。
逻辑上属于取代区306中的实体单元430(R)~430(N)是替代实体单元。例如,存储器芯片106于出厂时会预留4%的实体区块作为更换使用。也就是说,当系统区302与储存区304中实体区块损毁时,预留于取代区306中的实体区块是用以取代损坏的实体区块(即,坏实体区块(bad block))。因此,倘若取代区306中仍存有正常的实体区块且发生实体区块损毁时,微处理器单元202会从取代区306中提取正常的实体区块来更换损毁的实体区块。倘若取代区306中无正常的实体区块且发生实体区块损毁时,则可复写式非挥发性存储器储存装置100将会被宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,系统区302、储存区304与取代区306的实体单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在可复写式非挥发性存储器储存装置100的运作中,实体单元关联至系统区302、储存区304与取代区306的分组关系会动态地变动。例如,当储存区中的实体单元损坏时而被取代区的实体单元取代时,则原本取代区的实体单元会被关联至储存区。
请参照图5,在本实施例中,微处理器单元202将储存区304的实体单元430(S)~430(R-1)分组第一实体单元群510与第二实体单元群520。例如,第一实体单元群510是由实体单元430(S)、430(S+2)、430(S+4)...430(R-2)所组成,并且第二实体单元群520是由实体单元430(S+1)、430(S+3)、430(S+5)...430(R-1)所组成。特别是,在本实施例中,在电路设计上,存储器芯片106的实体区块可区分为2个区块面,其中第一实体单元群510的实体单元430(S)、430(S+2)、430(S+4)...430(R-2)是属于其中一个区块面(plane),并且第二实体单元群520的实体单元430(S+1)、430(S+3)、430(S+5)...430(R-1)是属于另一个区块面。在本发明实施例中,区块面是指存储器芯片106中部分实体区块集合。在此实体区块集合所属页面上的数据,可由一复制指令组复制至同一实体区块集合中的另一页面。在本实施例中,区块面中各实体单元是共用同一个暂存器与同一条数据传输总线,但本发明不以此为限。此外,在本实施例中,所述复制指令组是可将一原先储存于存储器芯片106中数据,在读至存储器芯片106中暂存器后,经过(或未经过)修改后再写入存储器芯片106中一指令集合。亦即,在未需修改数据的状态下,可复写式非挥发性存储器控制器104可不需再传送一次欲写入的数据予存储器芯片106。换句话说,复制指令组是用以将存储器芯片106中数据,在存储器芯片106中进行重制(Reproduction)写入。在本实施例中,此指令集合可具有二个周期。
在本实施例中,微处理器单元202会将每一实体单元群的实体单元分组为数据区与备用区。具体来说,第一实体单元群510的实体单元会被分组为第一数据区512与第一备用区514,并且第二实体单元群520的实体单元会被分组为第二数据区522与第二备用区524。
第一数据区512与第二数据区522的实体单元是用以储存来自于主机系统1000的数据。第一备用区514与第二备用区524的实体单元是用以替换第一数据区512与第二数据区522的实体单元。因此,第一备用区514与第二备用区524的实体单元为空或可使用的实体单元,即无记录数据或标记为已没用的无效数据。也就是说,在备用区中的实体单元已被执行抹除运作,或者当备用区中的实体单元被提取用于储存数据之前所提取的实体单元会被执行抹除运作。因此,备用区的实体单元为可被使用的实体单元。
请同时参照图6~图8,以第一实体单元群510为例,例如,当可复写式非挥发性存储器控制器104从主机系统1000中接收到主机写入指令而欲写入数据至第一数据区512的实体单元430(S)时,微处理器单元202会从第一备用区514中提取实体单元430(D)来轮替第一数据区512的实体单元430(S)。然而,当微处理器单元202将新数据写入至实体单元430(D)的同时,微处理器单元202不会立刻将实体单元430(S)中的所有有效数据搬移至实体单元430(D)而抹除实体单元430(S)。具体来说,微处理器单元202会将实体单元430(S)中欲写入实体页面之前的有旧效数据(即,第0实体页面与第1实体页面)复制至实体单元430(D)(如图6所示),并且将新数据写入至实体单元430(D)的实体单元430-(D)的第2实体页面与第3实体页面(如图7所示)。此时,微处理器单元202即完成写入的动作。因为实体单元430(S)中的有效旧数据有可能在下个操作(例如,主机写入指令)中变成无效,因此立刻将实体单元430(S)中的所有有效数据搬移至替换实体单元430(D)可能会造成无谓的搬移。在本实施例中,暂时地维持此等母子暂态关系(即,实体单元430(S)与实体单元430(D))的动作称为开启(open)母子单元,并且原实体单元称为母实体单元而替换实体单元称为子实体单元。
之后,当需要将实体单元430(S)与实体单元430(D)的内容真正合并时,微处理器单元202才会将实体单元430(S)与实体单元430(D)整并为一个实体单元,由此提升区块的使用效率。在此,合并母子单元的动作称为关闭(close)母子单元。例如,如图8所示,当进行关闭母子单元时,微处理器单元202会将实体单元430(S)中剩余的有效数据(即,第4实体页面~第K实体页面)复制至替换实体单元430(D),然后将实体单元430(S)抹除并关联至第一备用区514,同时,将实体单元430(D)关联至第一数据区512。也就是说,第一实体单元群510的实体单元会以轮替方式来储存主机系统1000对可复写式非挥发性存储器储存装置100写入的数据。
在本实施例中,微处理器单元202配置逻辑位址给主机系统1000以利于在以上述轮替方式的实体单元中进行数据存取。此外,微处理器单元202会将所提供的逻辑位址分组为逻辑单元,并且将逻辑单元映射至第一数据区512的实体单元。例如,当可复写式非挥发性存储器储存装置100被初始化(例如,格式化)时,逻辑单元460(0)~460(Z-1)会映射至第一数据区512的实体单元,并且一个逻辑单元映射一个实体单元。在此,微处理器单元202会建立与维护逻辑单元-实体单元映射表(logical unit-physicalunit mapping table)900来记录每一逻辑单元所映射的实体单元(如图9所示)。
例如,当主机系统1000欲将数据写入至属于逻辑单元460(0)的逻辑位址时,微处理器单元202会根据一配置单元(未绘示)或一运算式来识别此逻辑位址是属于逻辑单元460(0)。之后,微处理器单元202会根据逻辑单元-实体单元映射表来识别映射逻辑单元460(0)的实体单元430(S);执行开启母子单元运作以从第一备用区514中提取实体单元430(D);并且将实体单元430(S)中的有效旧数据与主机系统1000欲写入的数据写入至实体单元430(D)。例如,当逻辑单元所映射的实体单元处于上述母子单元状态(如图7所示)时,则微处理器单元202会注记此逻辑单元为处于开启母子单元状态,并且于一子实体单元表(未绘示)或一变数中记录对应的子实体单元。之后,在微处理器单元202对实体单元430(S)与实体单元430(D)执行关闭母子单元运作后,微处理器单元202会更新逻辑单元-实体单元映射表600以将逻辑单元460(0)重新映射至实体单元430(D)。特别是,由于第一实体单元群510的实体单元是属于同一个区块面,因此微处理器单元202可使用复制指令组(copy)在第一实体单元群510的实体单元之间搬移有效旧数据,由此提升写入数据的效率。
也就是说,第一实体单元群510的实体单元会以轮替方式来储存主机系统1000对可复写式非挥发性存储器储存装置100写入的数据。并且,当实体单元为空或未储存任何有效数据时,此实体区块会被关联至第一备用区514。而当实体单元储存有效数据且映射至逻辑单元时,此实体单元会被关联至第一数据区512。此外,当实体单元第一备用区514中被提取来写入对应一逻辑单元的数据并且处于开启母子单元的暂态时,则此实体单元为此逻辑单元所映射的实体单元的子实体单元。
在此,在同一个实体单元群中从备用区(例如,第一备用区514)中提取实体单元来替换数据区(例如第一数据区512)的实体单元来写入主机系统1000所储存至逻辑单元的数据称为″一般写入程序″。
类似地,第二实体单元群520的实体单元亦会以轮替方式来储存主机系统1000对可复写式非挥发性存储器储存装置100写入的数据。例如,当可复写式非挥发性存储器储存装置100被初始化(例如,格式化)时,逻辑单元460(Z)~460(H)会映射至第二数据区522的实体单元,并且一个逻辑单元映射一个实体单元。
在本实施例中,微处理器单元202会记录储存区304的每一实体单元的抹除次数。如上所述,已写入数据的实体单元必须先被抹除后才可再用于写入数据。每当实体单元被执行抹除运作时,微处理器单元202会更新此实体单元的抹除次数。特别是,在本实施例中,微处理器单元202会计算第一实体单元群510中所有实体单元的平均抹除次数,并且计算第二实体单元群520中所有实体单元的平均抹除次数。
如上所述,当主机系统1000频繁地对某一逻辑单元群进行存取时,此逻辑单元所映射的实体单元群的磨损会较高。例如,主机系统1000频繁地对逻辑单元460(0)~460(Z-1)进行存取时,第一实体单元群510的平均抹除次数会高于第二实体单元群520的平均抹除次数。为了能够平均存储器芯片106内所有实体单元的磨损,在本实施例中,当可复写式非挥发性存储器储存装置100从主机系统1000接收到主机写入指令与对应此主机写入指令的数据时,微处理器单元202会识别对应此主机写入指令的逻辑单元,并且判断此逻辑单元所映射的实体单元所属的实体单元群的平均抹除次数与其他实体单元群的平均抹除次数之间的平均抹除次数差值是否大于一抹除次数差异门槛值。并且,当此逻辑单元所映射的实体单元所属的实体单元群的平均抹除次数与其他实体单元群的平均抹除次数之间的平均抹除次数差值大于此抹除次数差异门槛值时,微处理器单元202会从其他实体单元群的备用区中提取实体单元以执行″交换写入程序″。在此,抹除次数差异门槛值可依据存储器芯片106的实体区块的寿命(即,可抹除次数)来决定。例如,在本实施例中,抹除次数差异门槛值是设定为300。然,本发明不限于此。
例如,在图9所示的状态下,当可复写式非挥发性存储器储存装置100从主机系统1000接收到指示储存新数据至逻辑单元460(0)的主机写入指令时,微处理器单元202会将逻辑单元460(0)目前所映射的实体单元430(S)所属的第一实体单元群的平均抹除次数减去第二实体单元群的平均抹除次数以获得平均抹除次数差值,并且判断所获得的平均抹除次数差值是否大于抹除次数差异门槛值。
例如,倘若所获得的平均抹除次数差值大于抹除次数差异门槛值时,微处理器单元202会从第二备用区524中提取实体单元430(D+1)来执行开启母子单元运作。并且,当对实体单元430(S)与实体单元430(D+1)执行关闭母子单元运作时,逻辑单元460(0)会被重新映射至实体单元430(D+1),实体单元430(S)会被关联至第一备用区514并且实体单元430(D+1)会被关联至第二数据区522。值得一提的是,由于实体单元430(S)与实体单元430(D+1)属于不同区块面,因此微处理器单元202会使用一般读取与写入指令来搬移有效旧数据。亦即,可复写式非挥发性存储器控制器104需先从快闪存储器芯片106中读出有效旧数据后,再传送此有效旧数据回至存储器芯片106以进行写入运作。
基此,在第一实体单元群510的实体单元的平均磨损高于第二实体单元群520的实体单元的情况下,微处理器单元202会不断地执行″交换写入程序″而使得第二实体单元群520的第二数据区522所映射的逻辑单元的数量大于第一实体单元群510的第一数据区512所映射的逻辑单元的数量。也就是说,第二实体单元群520的实体单元还会有机会被轮替来写入主机系统1000所储存的数据,由此平均第一实体单元群510与第二实体单元群520的实体单元的磨损。例如,当主机系统1000再次储存新数据至逻辑单元460(0)时,微处理器单元202会从第二实体单元群520的第二备用区524中提取实体单元来写入数据。值得一提的是,由于逻辑单元460(0)目前所映射的实体单元430(D+1)是属于第二实体单元群520,其与从第二备用区所提取的实体单元是属于同一个区块面,因此微处理器单元202会使用复制指令组在第二实体单元群520的实体单元之间搬移有效旧数据,由此提升写入数据的效率。
值得一提的是,在第一实体单元群510的实体单元的平均磨损高于第二实体单元群520的实体单元的情况下,当微处理器单元202不断地执行″交换写入程序″时,第一备用区514的实体单元的数量会不断地增加,而第二备用区524的实体单元的数量会不断地减少。特别是,若第二备用区524的实体单元的数量持续减少,将会造成第二备用区524的实体单元的数量不足以完成以轮替方式所执行的写入程序。在本发明一实施例中,除了判断实体单元群的平均抹除次数之间的平均抹除次数差值是否大于抹除次数差异门槛值之外,微处理器单元202亦会判断欲写入的实体单元所属的实体单元群所映射的逻辑单元的数量和其他实体单元群所映射的逻辑单元的数量之间的逻辑单元数差值是否小于一逻辑单元数差异门槛值。并且,当此逻辑单元数差值非小于逻辑单元数差异门槛值时,微处理单元202会使用″一般写入程序″,而不会执行″交换写入程序″。也就是说,微处理器单元202会记录每一实体单元群所映射的逻辑单元的数量,并且依据每一实体单元群所映射的逻辑单元的数量来判断是否执行″交换写入程序″。在此,逻辑单元数差异门槛值是依据初始地配置于备用区中的实体单元的数量来决定。例如,当每一备用区的实体单元的数量为4时,逻辑单元数差异门槛值必须设定为小于或等于6。也就是说,每一备用区至少保留一个实体单元以用于执行写入程序。
例如,在图9所示的状态下,当可复写式非挥发性存储器储存装置100从主机系统1000接收到指示欲储存新数据至逻辑单元460(0)的主机写入指令并且所获得的平均抹除次数差值大于抹除次数差异门槛值时,微处理器单元202会将第二实体单元群所映射的逻辑单元的数目减去实体单元430(S)所属的第一实体单元群510所映射的逻辑单元的数目以获得逻辑单元数差值,并且判断所获得的逻辑单元数差值是否小于逻辑单元数差异门槛值。
倘若所获得的逻辑单元数差值非小于逻辑单元数差异门槛值时,微处理器单元202会执行″一般写入程序″来写入数据。反之,倘若所获得的逻辑单元数差值小于逻辑单元数差异门槛值时,微处理器单元202会执行″交换写入程序″来写入数据。
在另一实施例中,微处理器单元202会计算每一实体单元群中所有实体单元中最高抹除次数,或抹除次数之总合。并且,当此逻辑单元所映射的实体单元所属的实体单元群与其他实体单元群的最高抹除次数或抹除次数的总合两者间的差值大于上述抹除次数差异门槛值时,微处理器单元202会执行上述″交换写入程序″。
此外,在另一实施例中,可复写式非挥发性存储器储存装置100是在一预定间隔之后,当从主机系统1000接收到欲储存新数据至逻辑单元的主机写入指令时才判断所获得的平均抹除次数差值是否大于抹除次数差异门槛值以确认是否执行″交换写入程序″。此间隔可根据储存区304的实体单元的抹除次数来决定。例如,微处理器单元202会为存储器芯片106配置一抹除计数值,并且每当抹除运作被执行时微处理器单元202会计数此抹除计数值(例如,将此抹除计数值加1)。此外,当此抹除计数值到达一预定值时,才判断所获得的平均抹除次数差值是否大于抹除次数差异门槛值以确认是否执行″交换写入程序″。在此,此预定值是设定为500,但本发明不限于此。特别是,在执行上述判断后,此抹除计数值会被重置(例如,归零)。
图10~15图为本发明实施例数据写入范例。为方便说明,在此范例中,开启母子单元运作被执行以写入数据后关闭母子单元运作会立刻被执行,而无上述母子单元的暂态。
请参照图10,在此范例中,假设第一实体单元群510的第一数据区512具有4个实体单元(即,实体单元430(S)、430(S+2)、430(S+4)、430(S+6))且第一备用区514具有3个实体单元(即,430(D)、430(D+2)、430(D+4)),第二实体单元群520的第二数据区522具有4个实体单元(即,实体单元430(S+1)、430(S+3)、430(S+5)、430(S+7))且第二备用区514具有3个实体单元(即,430(D+1)、430(D+3)、430(D+5)),逻辑单元460(0)~460(3)映射至第一数据区512的实体单元,并且与逻辑单元460(4)~460(7)映射至第二数据区522的实体单元。此外,在此范例中,第一实体单元群510的实体单元的平均抹除次数减去第二实体单元群520的实体单元的平均抹除次数所获得的平均抹除次数差值远大于抹除次数差异门槛值,并且逻辑单元数差异门槛值为4。
请参照图10及11,倘若主机系统1000欲储存数据至逻辑单元460(1)时,由于第二实体单元群520的实体单元所映射的逻辑单元的数目减去第一实体单元群510的实体单元所映射的逻辑单元的数目所获得的逻辑单元数差值为0,因此,微处理器单元202从第二备用区524提取实体单元430(D+1)以写入数据并且将逻辑单元460(1)重新映射至实体单元430(D+1)。此时,实体单元430(S+2)会被关联至第一备用区514,并且实体单元430(D+1)会被关联至第二数据区522。
请参照图12,倘若在图11所示的状态下主机系统1000欲储存数据至逻辑单元460(2)时,由于第二实体单元群520的实体单元所映射的逻辑单元的数目减去第一实体单元群510的实体单元所映射的逻辑单元的数目所获得的逻辑单元数差值为2,因此,微处理器单元202从第二备用区524提取实体单元430(D+3)以写入数据并且将逻辑单元460(2)重新映射至实体单元430(D+3)。此时,实体单元430(S+4)会被关联至第一备用区514,并且实体单元430(D+3)会被关联至第二数据区522。
请参照图13,倘若在图12所示的状态下主机系统1000欲储存数据至逻辑单元460(2)时,由于逻辑单元460(2)目前是映射第二实体单元群520的实体单元且第一实体单元群510的实体单元的平均抹除次数减去第二实体单元群520的实体单元的平均抹除次数所获得的平均抹除次数差值远大于抹除次数差异门槛值,因此,微处理器单元202从第二备用区524提取实体单元430(D+5)以写入数据并且将逻辑单元460(2)重新映射至实体单元430(D+5)。此时,实体单元430(D+3)会被关联至第二备用区524,并且实体单元430(D+5)会被关联至第二数据区522。
请参照图14,倘若在图13所示的状态下主机系统1000欲储存数据至逻辑单元460(0)时,由于第二实体单元群520的实体单元所映射的逻辑单元的数目减去第一实体单元群510的实体单元所映射的逻辑单元的数目所获得的逻辑单元数差值为4,因此,微处理器单元202从第一备用区514提取实体单元430(D)以写入数据并且将逻辑单元460(0)重新映射至实体单元430(D)。此时,实体单元430(S)会被关联至第一备用区514,并且实体单元430(D)会被关联至第一数据区512。
值得一提的是,在本发明另一实施例中,微处理器单元202会在可复写式非挥发性存储器储存装置100处于闲置时,方判断实体单元群所映射的逻辑单元的数量之间的逻辑单元数差值是否等于逻辑单元数差异门槛值。并且,当逻辑单元数差值等于逻辑单元数差异门槛值时,微处理器单元202会执行平均磨损程序来平衡实体单元群所映射的逻辑单元的数量。在此,所谓可复写式非挥发性存储器储存装置100处于闲置是表示微处理器单元202于一段时间内未从主机系统1000中接收到任何指令。
例如,请参照图15,倘若在图14所示的状态下在可复写式非挥发性存储器储存装置100处于闲置期间微处理器单元202判断通过第二实体单元群520所映射的逻辑单元的数目减去第一实体单元群510所映射的逻辑单元的数目所获得的逻辑单元数差值等于逻辑单元数差异门槛值时,微处理器单元202会从第二数据区522中随机地选择实体单元430(S+1);从第一备用区514中随机地提取一个实体单元430(D+2);将实体单元430(S+1)内的数据搬移至实体单元430(D+2)中;将实体单元430(S+1)关联至第二备用区524且将实体单元430(D+2)关联至第一数据区512;以及将实体单元430(S+1)所映射的逻辑单元460(4)重新映射至实体单元430(D+2)。由此,每一实体单元群所映射的逻辑单元的数量会较为平衡,以避免某一实体单元群的备用区的实体单元的数量不足以完成以轮替方式执行的写入程序。值得一提的是,尽管在本实施例中是以随机方式选择实体单元来执行上述″平均磨损程序″,然而本发明不限于此。在本发明另一实施例中,微处理器单元202可根据每一实体单元的抹除次数来选择实体单元。例如,微处理器单元202会从数据区中选择抹除次数最高的实体单元并且从备用区中选择抹除次数最低的实体单元来执行″平均磨损程序″。
图16为本发明实施例存储器管理与写入方法的流程图。
请参照图16,当可复写式非挥发性存储器储存装置100被初始化时,步骤S1601会被执行。在步骤S1601中,微处理器单元202会配置多个逻辑单元,并且将实体单元分组为多个实体单元群。例如,每一实体单元群的实体单元是属于同一个区块面。
在步骤S1603中微处理器单元202会将每一实体单元群的部分实体单元分组为数据区与对应的备用区,并且将逻辑单元映射至数据区的实体单元。
在步骤S1605中微处理器单元202会记录每一实体单元群中每一实体单元的抹除次数,并且依据所记录的抹除次数来计算每一实体单元群的平均抹除次数。
在步骤S1607中微处理器单元202会计算每一数据区的实体单元所映射的逻辑单元的数目。
之后,当可复写式非挥发性存储器储存装置100接收到主机写入指令与对应主机写入指令的数据时,步骤S1609会被执行。在步骤S1609中,微处理器单元202会识别对应此主机写入指令的逻辑单元所映射的实体单元并且识别此实体单元所属的实体单元群。
接着,在步骤S1611中微处理器单元202会将此实体单元所属的实体单元群的平均抹除次数减去另一实体单元群的平均抹除次数以获得平均抹除次数差值。并且在步骤S1613中微处理器单元202会判断步骤S1611中所获得的平均抹除次数差值是否大于平均抹除差异门槛值。
倘若此平均抹除次数差值非大于平均抹除差异门槛值,则在步骤S1615中微处理器单元202会执行″一般写入程序″,然后步骤S1605会被执行。
倘若此平均抹除次数差值大于平均抹除差异门槛值,则在步骤S1617中微处理器单元202会将另一实体单元群所映射的逻辑单元的数量减去此实体单元所属的实体单元群所映射的逻辑单元的数量以获得逻辑单元数差值。
之后,在步骤S1619中微处理器单元202会判断在步骤S1617中所获得的逻辑单元数差值是否小于逻辑单元数差异门槛值。倘若此逻辑单元数差值小于逻辑单元数差异门槛值时,则在步骤S1621中微处理器单元202会执行″交换写入程序″,并且步骤S1605会被执行。反之,倘若此逻辑单元数差值非小于逻辑单元数差异门槛值时,则在步骤S1623中微处理器单元202会执行″一般写入程序″,并且步骤S1605会被执行。
综上所述,本发明实施例的存储器管理与写入方法、可复写式非挥发性存储器控制器与可复写式非挥发性存储器储存装置通过将实体单元分组为对应不同区块面的实体单元群并且可利用复制指令执行上述″一般写入程序″以有效地提升写入数据的速度。同时,当实体单元的抹除次数不平均时,通过上述″交换写入程序″能够有效地平均实体单元的磨损,由此延长可复写式非挥发性存储器储存装置的寿命。
虽然本发明已以实施例描述如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明精神和范围内,都可作些许更动与润饰,故本发明保护范围当以权利要求书为准。

Claims (19)

1.一种存储器管理与写入方法,用于管理一存储器芯片的多个实体单元,该存储器管理与写入方法包括:
配置多个逻辑单元;
将所述多个实体单元分组为一第一实体单元群与一第二实体单元群;
将该第一实体单元群的部分所述多个实体单元分组为一第一数据区与对应该第一数据区的一第一备用区;
将该第二实体单元群的部分所述多个实体单元分组为一第二数据区与对应该第二数据区的一第二备用区;
将所述多个逻辑单元映射至该第一数据区与该第二数据区的实体单元;
记录该第一实体单元群与该第二实体单元群的每一所述多个实体单元的一抹除次数;
依据所述抹除次数计算该第一实体单元群的一第一平均抹除次数与该第二实体单元群的一第二平均抹除次数,并且计算该第一平均抹除次数与该第二平均抹除次数之间的一平均抹除次数差值;以及,
当接收到对应所述多个逻辑单元之中的一第一逻辑单元的一主机写入指令与对应该主机写入指令的新数据时,判断该平均抹除次数差值是否大于一抹除次数差异门槛值,其中该第一逻辑单元映射该第一数据区的实体单元之中的一第一实体单元,
其中当判断该平均抹除次数差值大于该抹除次数差异门槛值时,执行一交换写入程序,该交换写入程序包括:
从该第二备用区的实体单元之中提取一第二实体单元;以及,
将该新数据写入至该第二实体单元中。
2.根据权利要求1所述存储器管理与写入方法,其中该交换写入程序还包括:
将该第二实体单元关联至该第二数据区并且将该第一逻辑单元重新映射至该第二实体单元。
3.根据权利要求1所述存储器管理与写入方法,其中当判断该平均抹除次数差值不大于该抹除次数差异门槛值时,执行一一般写入程序,该一般写入程序包括:
从该第一备用区的实体单元之中提取一第三实体单元;以及,
将该新数据写入至该第三实体单元中。
4.根据权利要求3所述存储器管理与写入方法,其中该一般写入程序还包括:
使用一复制指令组从该第一实体单元中搬移有效旧数据至该第三实体单元中,其中该复制指令组是用以将该存储器芯片中之数据在该存储器芯片中进行重制写入。
5.根据权利要求3或4所述存储器管理与写入方法,其中该一般写入程序还包括:
将该第三实体单元关联至该第一数据区,并且将该第一逻辑单元重新映射至该第三实体单元。
6.根据权利要求2所述存储器管理与写入方法,还包括:
计算一逻辑单元数差值,其中该逻辑单元数差值是通过将该第一数据区的实体单元所映射的逻辑单元的数目减去该第二数据区的实体单元所映射的逻辑单元的数目所获得,
判断该逻辑单元数差值是否等于一逻辑单元数差异门槛值,
其中当判断该逻辑单元数差值等于该逻辑单元数差异门槛值时,执行一平均磨损程序,该平均磨损程序包括:
从该第一备用区的实体单元之中提取一第四实体单元;
从该第二数据区的实体单元之中选择一第五实体单元,其中该第五实体单元映射所述多个逻辑单元之中的一第二逻辑单元;
将该第二逻辑单元的有效数据搬移至该第四实体单元;以及,
将该第四实体单元关联至该第一数据区,将该第五实体单元关联至第二备用区,并且将该第二逻辑单元重新映射至该第四实体单元。
7.根据权利要求1所述存储器管理与写入方法,其中在该存储器芯片中所述多个实体单元分别地属于一第一区块面与一第二区块面,
其中将所述多个实体单元分组为该第一实体单元群与该第二实体单元群的步骤包括:
将属于该第一区块面的实体单元分组为该第一实体单元群并且将属于该第二区块面的实体单元分组为该第二实体单元群,
其中该第一区块面所对应的数据无法由一复制指令组复制至该第二区块面并且该第二区块面所对应的数据无法由该复制指令组复制至该第一区块面。
8.根据权利要求1所述存储器管理与写入方法,还包括:
计算一逻辑单元数差值,其中该逻辑单元数差值是通过将该第一数据区的实体单元所映射的逻辑单元的数目减去该第二数据区的实体单元所映射的逻辑单元的数目所获得,
其中判断该平均抹除次数差值是否大于该抹除次数差异门槛值的步骤包括:判断该平均抹除次数差值是否大于该抹除次数差异门槛值且该逻辑单元数差值是否小于一逻辑单元数差异门槛值,
其中执行该交换写入程序的步骤是在当该平均抹除次数差值大于该抹除次数差异门槛值且该逻辑单元数差值小于该逻辑单元数差异门槛值时被执行。
9.根据权利要求1所述存储器管理与写入方法,还包括为该存储器芯片配置一抹除计数值,
其中当接收到对应所述多个逻辑单元之中的该第一逻辑单元的该主机写入指令与对应该主机写入指令的该新数据时还判断该抹除计数值是否等于一预定值,
其中判断该平均抹除次数差值是否大于该抹除次数差异门槛值的步骤是在当该抹除计数值等于该预定值时被执行。
10.一种存储器管理与写入系统,用于管理一存储器芯片的多个实体单元,包括:
一第一模块,用以配置多个逻辑单元;
一第二模块,用以将所述多个实体单元分组为一第一实体单元群与一第二实体单元群;
一第三模块,用以将该第一实体单元群的部分所述多个实体单元分组为一第一数据区与对应该第一数据区的一第一备用区;
一第四模块,用以将该第二实体单元群的部分所述多个实体单元分组为一第二数据区与对应该第二数据区的一第二备用区;
一第五模块,用以将所述多个逻辑单元映射至该第一数据区与该第二数据区的实体单元;
一第六模块,用以记录该第一实体单元群与该第二实体单元群的每一所述多个实体单元的一抹除次数;
一第七模块,用以依据所述抹除次数计算该第一实体单元群的一第一平均抹除次数与该第二实体单元群的一第二平均抹除次数,并且计算该第一平均抹除次数与该第二平均抹除次数之间的一平均抹除次数差值;
一第八模块,用以当接收到对应所述多个逻辑单元之中的一第一逻辑单元的一主机写入指令与对应该主机写入指令的新数据时,判断该平均抹除次数差值是否大于一抹除次数差异门槛值,其中该第一逻辑单元映射该第一数据区的实体单元之中的一第一实体单元;以及
一第九模块,用以当判断该平均抹除次数差值大于该抹除次数差异门槛值时,执行一交换写入程序,该交换写入程序包括:从该第二备用区的实体单元之中提取一第二实体单元并且
将该新数据写入至该第二实体单元中。
11.根据权利要求10所述存储器管理与写入系统,其中该交换写入程序还包括:
将该第二实体单元关联至该第二数据区并且将该第一逻辑单元重新映射至该第二实体单元。
12.根据权利要求10所述存储器管理与写入系统,还包括:
一第十一模块,用以当判断该平均抹除次数差值不大于该抹除次数差异门槛值时,执行一一般写入程序,该一般写入程序包括:从该第一备用区的实体单元之中提取一第三实体单元并且将该新数据写入至该第三实体单元中。
13.根据权利要求12所述存储器管理与写入系统,其中该一般写入程序还包括:
使用一复制指令组从该第一实体单元中搬移有效旧数据至该第三实体单元中,其中该复制指令组是用以将该存储器芯片中之数据在该存储器芯片中进行重制写入。
14.根据权利要求12或13所述存储器管理与写入系统,其中该一般写入程序还包括:
将该第三实体单元关联至该第一数据区,并且将该第一逻辑单元重新映射至该第三实体单元。
15.根据权利要求11所述存储器管理与写入系统,还包括:
一第十二模块,用以计算一逻辑单元数差值以及判断该逻辑单元数差值是否等于一逻辑单元数差异门槛值,其中该逻辑单元数差值是通过将该第一数据区的实体单元所映射的逻辑单元的数目减去该第二数据区的实体单元所映射的逻辑单元的数目所获得;以及
一第十三模块,用以当判断该逻辑单元数差值等于该逻辑单元数差异门槛值时,执行一平均磨损程序,该平均磨损程序包括:
从该第一备用区的实体单元之中提取一第四实体单元;
从该第二数据区的实体单元之中选择一第五实体单元,其中该第五实体单元映射所述多个逻辑单元之中的一第二逻辑单元;
将该第二逻辑单元的有效数据搬移至该第四实体单元;以及,
将该第四实体单元关联至该第一数据区,将该第五实体单元关联至第二备用区,并且将该第二逻辑单元重新映射至该第四实体单元。
16.根据权利要求10所述存储器管理与写入系统,其中在该存储器芯片中所述多个实体单元分别地属于一第一区块面与一第二区块面,
其中该存储器管理与写入系统还包括:一第十四模块,用以将属于该第一区块面的实体单元分组为该第一实体单元群并且将属于该第二区块面的实体单元分组为该第二实体单元群,
其中该第一区块面所对应之数据无法由一复制指令组复制至该第二区块面,并且该第二区块面所对应的数据无法由该复制指令组复制至该第一区块面。
17.根据权利要求10所述存储器管理与写入系统,还包括:
一第十五模块,用以计算一逻辑单元数差值,其中该逻辑单元数差值是通过将该第一数据区的实体单元所映射的逻辑单元的数目减去该第二数据区的实体单元所映射的逻辑单元的数目所获得,
其中该第八模块,判断该平均抹除次数差值是否大于该抹除次数差异门槛值且该逻辑单元数差值是否小于一逻辑单元数差异门槛值,
其中该第九模块是在当该平均抹除次数差值大于该抹除次数差异门槛值且该逻辑单元数差值小于该逻辑单元数差异门槛值时被执行该交换写入程序。
18.根据权利要求10所述存储器管理与写入系统,还包括:
一第十六模块,用以为该存储器芯片配置一抹除计数值,
一第十七模块,用以当接收到对应所述多个逻辑单元之中的该第一逻辑单元的该主机写入指令与对应该主机写入指令的该新数据时还用以判断该抹除计数值是否等于一预定值,
其中该第八模块是在当该抹除计数值等于该预定值时判断该平均抹除次数差值是否大于该抹除次数差异门槛值。
19.根据权利要求10所述存储器管理与写入系统,其中该存储器芯片具有多个实体区块,所述多个实体区块分别地具有多个实体页面,并且每一所述实体区块的实体页面可独立地被写入且同时地被抹除,
其中所述多个实体单元是由所述多个实体区块所组成。
CN201010124996.9A 2010-03-01 2010-03-01 存储器管理与写入方法及其存储器控制器与储存系统 Active CN102193869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010124996.9A CN102193869B (zh) 2010-03-01 2010-03-01 存储器管理与写入方法及其存储器控制器与储存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010124996.9A CN102193869B (zh) 2010-03-01 2010-03-01 存储器管理与写入方法及其存储器控制器与储存系统

Publications (2)

Publication Number Publication Date
CN102193869A CN102193869A (zh) 2011-09-21
CN102193869B true CN102193869B (zh) 2015-05-20

Family

ID=44601964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010124996.9A Active CN102193869B (zh) 2010-03-01 2010-03-01 存储器管理与写入方法及其存储器控制器与储存系统

Country Status (1)

Country Link
CN (1) CN102193869B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368429A (zh) * 2016-05-13 2017-11-21 慧荣科技股份有限公司 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106148B (zh) * 2011-11-10 2015-07-15 群联电子股份有限公司 区块管理方法、存储器控制器与存储器存储装置
TWI515736B (zh) * 2013-07-25 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
CN104765569B (zh) * 2014-01-06 2017-10-27 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN104102459A (zh) * 2014-07-03 2014-10-15 优佰特电子科技(无锡)有限公司 一种闪存设备的数据处理方法及闪存设备
CN105988950B (zh) * 2015-02-03 2019-05-21 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN105988880B (zh) * 2015-02-17 2019-01-08 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器储存装置
TWI563507B (en) 2015-07-01 2016-12-21 Phison Electronics Corp Memory management method, memory control circuit unit and memry storage apparatus
CN106325764B (zh) * 2015-07-08 2021-02-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106951193B (zh) * 2017-03-27 2019-11-12 深圳佰维存储科技股份有限公司 改善Nand Flash存储性能的方法及其系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1914689A (zh) * 2003-12-30 2007-02-14 桑迪士克股份有限公司 具有区块管理系统的非易失性存储器和方法
CN101419834A (zh) * 2007-10-22 2009-04-29 群联电子股份有限公司 平均磨损方法及使用此方法的控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2000729A (en) * 1933-06-29 1935-05-07 Westinghouse Electric & Mfg Co Electrical control system
US8060718B2 (en) * 2006-06-20 2011-11-15 International Business Machines Updating a memory to maintain even wear

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1914689A (zh) * 2003-12-30 2007-02-14 桑迪士克股份有限公司 具有区块管理系统的非易失性存储器和方法
CN101419834A (zh) * 2007-10-22 2009-04-29 群联电子股份有限公司 平均磨损方法及使用此方法的控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368429A (zh) * 2016-05-13 2017-11-21 慧荣科技股份有限公司 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
CN107368429B (zh) * 2016-05-13 2021-02-09 慧荣科技股份有限公司 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法

Also Published As

Publication number Publication date
CN102193869A (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CN102193869B (zh) 存储器管理与写入方法及其存储器控制器与储存系统
CN103544115B (zh) 数据写入方法、存储器控制器与存储器存储装置
CN103514096A (zh) 数据储存方法、存储器控制器与存储器储存装置
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN102567221B (zh) 数据管理方法、存储器控制器与存储器储存装置
CN102968385B (zh) 数据写入方法、存储器控制器与储存装置
CN102866861B (zh) 闪存储存系统、闪存控制器与数据写入方法
CN103136111A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN101944384B (zh) 用于闪速存储器的数据写入方法及其控制电路与储存系统
CN102446137B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN103914391B (zh) 数据读取方法、存储器控制器与存储器存储装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
CN102402396B (zh) 复合式储存装置及其复合式储存媒体控制器与编址方法
CN102122233B (zh) 区块管理与数据写入方法、闪存储存系统与控制器
CN103714008A (zh) 数据存储方法、存储器控制器与存储器存储装置
CN103984635B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102999437A (zh) 数据搬移方法、存储器控制器与存储器储存装置
CN102890653A (zh) 指令执行方法、存储器控制器与存储器储存装置
CN102053920B (zh) 数据写入方法及闪存控制器与闪存存储系统
CN104731710A (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
CN102841853B (zh) 存储器管理表处理方法、存储器控制器与存储器储存装置
CN107122308A (zh) 平均磨损方法、内存控制电路单元及内存储存装置
CN102087632B (zh) 用于闪存的数据储存方法及其控制器与储存系统
CN102543184A (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN102467459B (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
C14 Grant of patent or utility model
GR01 Patent grant