CN107544922A - 数据写入方法、存储器控制电路单元及存储器存储装置 - Google Patents

数据写入方法、存储器控制电路单元及存储器存储装置 Download PDF

Info

Publication number
CN107544922A
CN107544922A CN201610472016.1A CN201610472016A CN107544922A CN 107544922 A CN107544922 A CN 107544922A CN 201610472016 A CN201610472016 A CN 201610472016A CN 107544922 A CN107544922 A CN 107544922A
Authority
CN
China
Prior art keywords
erased cell
entity
cell
entity erased
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.)
Granted
Application number
CN201610472016.1A
Other languages
English (en)
Other versions
CN107544922B (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 CN201610472016.1A priority Critical patent/CN107544922B/zh
Publication of CN107544922A publication Critical patent/CN107544922A/zh
Application granted granted Critical
Publication of CN107544922B publication Critical patent/CN107544922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种用于可复写式非易失性存储器模块的数据写入方法、存储器控制电路单元及存储器存储装置,其数据写入方法包括:将可复写式非易失性存储器模块的实体抹除单元至少分组为第一区与第二区,其中第二区的实体抹除单元是以单页程序化模式来写入数据并且第一区的实体抹除单元是以多页程序化模式来写入数据。此方法还包括:接收第一数据;以及判断在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目,以及若是,则将第一数据写入至第二区的实体抹除单元。本发明能够有效提升程序化数据的速度与可靠度。

Description

数据写入方法、存储器控制电路单元及存储器存储装置
技术领域
本发明涉及一种数据写入方法,尤其涉及一种用于可复写式非易失性存储器模块的数据写入方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器模块作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
在与非(NAND)型快闪存储器模块中,实体程序化单元是由排列在同一条字元线上的数个记忆胞所组成。依据每个记忆胞可存储的位数,NAND型快闪存储器模块可区分为单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储单元(MultiLevel Cell,MLC)NAND型快闪存储器模块与三阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块,其中SLC NAND型快闪存储器模块的每个记忆胞可存储1个位的数据(即,“1”与“0”),MLC NAND型快闪存储器模块的每个记忆胞可存储2个位的数据并且TLCNAND型快闪存储器模块的每个记忆胞可存储3个位的数据。
由于SLC NAND型快闪存储器模块的每个记忆胞可存储1个位的数据,因此,在SLCNAND型快闪存储器模块中,排列在同一条字元线上的数个记忆胞是对应一个实体程序化单元。
相对于SLC NAND型快闪存储器模块来说,MLC NAND型快闪存储器模块的每个记忆胞的浮动门存储层可存储2个位的数据,其中每一个存储状态(即,“11”、“10”、“01”与“00”)包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most Significant Bit,MSB)。例如,存储状态中从左侧算起的第1个位的值为LSB,而从左侧算起的第2个位的值为MSB。因此,排列在同一条字元线上的数个记忆胞可组成2个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元(low physical programmingunit),并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元(upperphysical programming unit)。特别是,当程序化上实体程序化单元发生错误时,下实体程序化单元所存储的数据也可能因此遗失。
类似地,在TLC NAND型快闪存储器模块中的每个记忆胞可存储3个位的数据,其中每一个存储状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括左侧算起的第1个位的LSB、从左侧算起的第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起的第3个位的MSB。因此,排列在同一条字元线上的数个记忆胞可组成3个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元,由此些记忆胞的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元。特别是,在TLC NAND型快闪存储器模块中,若要确保一条字元线上的数据可稳定的被存储,必须对此字元线完成三次程序化。例如,对第一条字元线上的记忆胞进行第一次的程序化后,第一条字元线上的记忆胞会处于第一状态(first state)。而在对第二条字元线上的记忆胞进行程序化的同时第一条字元线上的记忆胞会再次被程序化。此时,第一条字元线上的记忆胞会处于模糊状态(foggy state)。然后,在对第三条字元线上的记忆胞进行程序化的同时第一条字元线、第二条字元线上的记忆胞会再次被程序化,此时,第一条字元线上的记忆胞会处于良好状态(fine state)。再者,在对第四条字元线上的记忆胞进行程序化的同时第二条字元线、第三条字元线上的记忆胞会再次被程序化。此时,第二条字元线上的记忆胞会处于良好状态,由此第一条字元线上的记忆胞中的数据才能被确保是稳定的存储。
一般而言,在使用TLC NAND型快闪存储器的存储器存储装置中,存储器控制电路单元会将其中的部分实体抹除单元分组为暂存区,并且使用一单页程序化模式(即,一个记忆胞存储1个位数据)来操作被分组为暂存区的实体抹除单元,以模拟SLC NAND型快闪存储器的运作,藉此提高写入速度。然而,考量到存储容量,TLC NAND型快闪存储器的大部分实体抹除单元,仍是以多页程序化模式(即,一个记忆胞存储3个位数据)来操作。然而,以多页程序化模式的实体抹除单元的使用寿命相对较短,且其写入数据的速度也相较于以单页程序化模式来操作的实体抹除单元来的慢。
基于上述,如何提升TLC NAND型快闪存储器模块的可靠度与程序化速度是此领域技术人员所努力的目标。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元及存储器存储装置,其能够有效提升程序化数据的速度与可靠度。
本发明的一范例实施例提出一种用于可复写式非易失性存储器模块的数据写入方法,此可复写式非易失性存储器模块具有多个实体抹除单元,此些实体抹除单元至少被分组为第一区与第二区,第二区的实体抹除单元的每个记忆胞存储的数据位的数目是小于第一区的实体抹除单元的每个记忆胞存储的数据位的数目。此数据写入方法包括:接收一第一数据,判断在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目,以及倘若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,将第一数据写入至第二区的至少一实体抹除单元。
在本发明的一范例实施例中,上述数据写入方法还包括:倘若在第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,将第一数据写入至第一区的多个实体抹除单元之中的一实体抹除单元。
在本发明的一范例实施例中,上述数据写入方法还包括:选择第一区的第一实体抹除单元以执行第一有效数据合并操作,并且在第一有效数据合并操作中将第一区的至少一第二实体抹除单中的有效数据复制到第一实体抹除单元中。其中当第一实体抹除单元尚未被写满时, 则第一实体抹除单元会被判断为只有部分实体程序化单元被程序化的实体抹除单元。
在本发明的一范例实施例中,上述的数据写入方法还包括:当上述第一实体抹除单元已被写满时,从第一区中选择一第三实体抹除单元;将第二区中的第一数据复制到第三实体抹除单元;以及对所述第二区的上述至少一实体抹除单元执行抹除操作。
在本发明的一范例实施例中,上述的数据写入方法还包括:在接收到第一数据之前,从主机系统接收写入指令与对应此写入指令的第二数据;从第一区中选择第四实体抹除单元;以及将第二数据写入至第四实体抹除单元。其中当第四实体抹除单元尚未被写满时,则第四实体抹除单元会被判断为只有部分实体程序化单元被程序化的实体抹除单元。
在本发明的一范例实施例中,上述数据写入方法还包括:选择第二区的实体抹除单元之中的多个第五实体抹除单元以执行第二有效数据合并操作;在第二有效数据合并操作中,将第一区的实体抹除单元之中的至少一第六实体抹除单中的有效数据复制到第五实体抹除单元,从第一区的实体抹除单元中选择第七实体抹除单元,且将第五实体抹除单元中的有效数据复制到第七实体抹除单元;以及在将第五实体抹除单元中的有效数据复制到第七实体抹除单元之后,对第五实体抹除单元执行抹除操作。
本发明的一范例实施例提出一种存储器控制电路单元,其包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个实体抹除单元。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以将实体抹除单元至少分组为第一区与第二区,其中第二区的实体抹除单元的每个记忆胞存储的数据位的数目是小于第一区的实体抹除单元的每个记忆胞存储的数据位的数目。存储器管理电路更用以接收第一数据,判断在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目,并且若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,将第一数据写入至第二区的实体抹除单元之中的至少一实体抹除单元。
在本发明的一范例实施例中,若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,存储器管理电路将第一数据写入至第二区的实体抹除单元之中的一实体抹除单元。
在本发明的一范例实施例中,其中存储器管理电路更用以选择第一区的第一实体抹除单元以执行第一有效数据合并操作,并且在第一有效数据合并操作中下达指令序列以将第一区的至少一第二实体抹除单中的有效数据复制到第一实体抹除单元中。其中当第一实体抹除单元尚未被写满时,则第一实体抹除单元会被判断为只有部分实体程序化单元被程序化的实体抹除单元。
在本发明的一范例实施例中,其中当第一实体抹除单元已被写满时,存储器管理电路更用以从第一区中选择第三实体抹除单元,下达另一指令序列以将第二区中的第一数据复制到第三实体抹除单元,并且下达另一指令序列以对第二区的上述至少一实体抹除单元执行抹除操作。
在本发明的一范例实施例中,在接收到上述第一数据之前,该存储器管理电路更用以从主机系统接收写入指令与对应此写入指令的第二数据,从第一区中选择第四实体抹除单元,且下达另一指令序列以将第二数据写入至第四实体抹除单元。其中当第四实体抹除单元尚未 被写满时,则第四实体抹除单元会被判断为只有部分实体程序化单元被程序化的实体抹除单元。
在本发明的一范例实施例中,存储器管理电路更用以选择第二区的实体抹除单元之中的多个第五实体抹除单元以执行第二有效数据合并操作。在第二有效数据合并操作中,存储器管理电路下达另一指令序列以将第一区的实体抹除单元之中的至少一第六实体抹除单中的有效数据复制到第五实体抹除单元,从第一区的实体抹除单元中选择第七实体抹除单元,且下达另一指令序列以将第五实体抹除单元中的有效数据复制到第七实体抹除单元。并且,在将第五实体抹除单元中的有效数据复制到第七实体抹除单元之后,存储器管理电路下达另一指令序列以对第五实体抹除单元执行抹除操作。
本发明的一范例实施例提出一种存储器存储装置其包括用以电性连接至主机系统的连接接口单元、上述可复写式非易失性存储器模块与上述存储器控制电路单元。
本发明的一范例实施例提出一种用于可复写式非易失性存储器模块的数据写入方法,此可复写式非易失性存储器模块具有多个实体抹除单元,此些实体抹除单元至少被分组为第一区与第二区,第二区的实体抹除单元的每个记忆胞存储的数据位的数目是小于第一区的实体抹除单元的每个记忆胞存储的数据位的数目。此数据写入方法包括:接收一第一数据,倘若在第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,将第一数据不经由第二区的路径而写入至第一区的多个实体抹除单元之中的一实体抹除单元,以及倘若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,将第一数据写入至第二区的至少一实体抹除单元。
本发明的一范例实施例提出一种存储器存储装置其包括用以电性连接至主机系统的连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。存储器控制电路单元用以接收第一数据。若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,存储器控制电路单元更用以将第一数据不经由第二区的路径而写入至第一区的实体抹除单元之中的一实体抹除单元。并且,若在第一区的实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,存储器控制电路单元更用以将第一数据写入至第二区的实体抹除单元之中的至少一实体抹除单元。
基于上述,本发明范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置会控制作为存储区作动单元的实体抹除单元的数量,由此有效提升程序化数据的速度以及可靠度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据另一范例实施例所显示的主机系统与存储器存储装置的示意图;
图4是根据一范例实施例所显示的主机系统与存储器存储装置的概要方框图;
图5A与图5B是根据一范例实施例所显示的记忆胞存储架构与实体抹除单元的范例示意图;
图6是根据一范例实施例所显示的存储器控制电路单元的概要方框图;
图7与图8是根据一范例实施例所显示的管理实体抹除单元的范例示意图;
图9与图10是根据一范例所显示的使用单页程序化模式将数据暂存在暂存区并且之后使用多页程序化模式将数据从暂存区写入至存储区的范例示意图;
图11是根据一范例所显示的使用多页程序化模式将数据写入至存储区的范例示意图;
图12为根据一范例所显示的对存储区中的实体抹除单元进行有第一效数据合并操作的示意图;
图13为根据另一范例所显示的对存储区中的实体抹除单元进行第二有效数据合并操作的示意图;
图14是根据一范例实施例所显示的数据写入方法的流程图;
图15是根据另一范例实施例所显示的数据写入方法的流程图。
附图标记:
10:存储器存储装置
11:主机系统
12:输入/输出(I/O)装置
110:系统总线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主机板
204:无线存储器存储装置
205:全球定位系统模块
206:网路接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
30:存储器存储装置
31:主机系统
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多晶片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
502:存储区
502a:数据区
502b:闲置区
504:暂存区
506:系统区
508:取代区
510(0)~510(N):实体抹除单元
602:存储器管理电路
604:主机接口
606:存储器接口
608:缓冲存储器
610:电源管理电路
612:错误检查与校正电路
LBA(0)~LBA(H):逻辑单元
LZ(0)~LZ(M):逻辑区域
S1401:从主机系统接收到写入指令与对应此写入指令的数据的步骤
S1403:判断存储区的实体抹除单元之中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目的步骤
S1405:从暂存区中选择至少一实体抹除单元,并且将从主机系统中所接收的数据以单页程序化模式写入至所选择的实体抹除单元中的步骤
S1407:从存储区中选择一个实体抹除单元,并在不经暂存区的路径下,将从主机系统中所接收的数据以多页程序化模式写入至所选择的实体抹除单元中的步骤
S1501:判断是否需对存储区执行有效数据合并操作的步骤
S1503:从存储区的数据区中选择至少一个实体抹除单元(以下参考为目标实体抹除单元)的步骤
S1505:判断存储区的实体抹除单元之中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目的步骤
S1507:从暂存区中选取至少一实体抹除单元,将在目标实体抹除单元的有效数据以单页程序化模式写入至所选取的实体抹除单元中的步骤
S1509:从存储区中选择一个实体抹除单元,并在不经暂存区的路径下,将在目标实体抹除单元的有效数据以多页程序化模式写入至所选取的实体抹除单元中的步骤
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主 机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。且图2是根据另一范例实施例所显示的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一个或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是随身盘201、记忆卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near Field Communication Storage,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所显示的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,eMMC)341和/或嵌入式多晶片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据一范例实施例所显示的主机系统与存储器存储装置的概要方框图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接 接口(Peripheral Component InterconnectExpress,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、安全数字(Secure Digital,SD)接口标准、记忆棒(Memory Stick,MS)接口标准、多晶片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多晶片封装(embedded Multi ChipPackage,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个晶片中,或者连接接口单元402是布设于一包含存储器控制电路单元的晶片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元510(0)~510(N)。例如,实体抹除单元510(0)~510(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512位组(byte)。然而,在其他范例实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为三阶记忆胞(TrinaryLevel Cell,TLC)NAND型快闪存储器模块(即,一个记忆胞中可存储3个数据位的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是多阶记忆胞(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个记忆胞中可存储2个数据位的快闪存储器模块)或其他具有相同特性的存储器模块。
图5A与图5B是根据本范例实施例所显示的记忆胞存储架构与实体抹除单元的范例示意图。
请参照图5A,可复写式非易失性存储器模块406的每个记忆胞的存储状态可被识别为“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如图5A所示),其中左侧算起的第1个位为LSB、从左侧算起的第2个位为CSB以及从左侧算起的第3个位为MSB。此外, 排列在同一条字元线上的数个记忆胞可组成3个实体程序化单元,其中由此些记忆胞的LSB所组成的实体程序化单元称为下实体程序化单元,由此些记忆胞的CSB所组成的实体程序化单元称为中实体程序化单元,并且由此些记忆胞的MSB所组成的实体程序化单元称为上实体程序化单元。
请参照图5B,一个实体抹除单元是由多个实体程序化单元组所组成,其中每个实体程序化单元组包括由排列在同一条字元线上的数个记忆胞所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元。例如,在实体抹除单元中,属于下实体程序化单元的第0个实体程序化单元、属于中实体程序化单元的第1个实体程序化单元和属于上实体程序化单元的第2个实体程序化单元会被视为一个实体程序化单元组。类似地,第3个、第4个、第5个实体程序化单元会被视为一个实体程序化单元组,并且以此类推其他实体程序化单元亦是依据此方式被区分为多个实体程序化单元组。也就是说,在图5B的范例实施例中,实体抹除单元总共有258个实体程序化单元,且由于排列在同一条字元线上的多个记忆胞所组成的下实体程序化单元、中实体程序化单元与上实体程序化单元会组成一个实体程序化单元组,故图5B的实体抹除单元总共可以分成86个实体程序化单元组。然而需注意的是,本发明并不用于限定实体抹除单元中的实体程序化单元或实体程序化单元组的个数。
图6是根据一范例实施例所显示的存储器控制电路单元的概要方框图。
请参照图6,存储器控制电路单元404包括存储器管理电路602、主机接口604与存储器接口606、缓冲存储器608、电源管理电路610与错误检查与校正电路612。
存储器管理电路602用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路602具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路602的控制指令是以固件型式来实作。例如,存储器管理电路602具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。必须了解的是,以下描述存储器管理电路602所执行的操作可被参考为由存储器控制电路单元404所执行。
图7与图8是根据一范例实施例所显示的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图7,存储器管理电路602会将实体抹除单元510(0)~510(N)逻辑地分组为存储区502(也可参考为第一区)、暂存区504(也可参考为第二区)、系统区506与取代区508。必须了解的是,存储区502、暂存区504、系统区506与取代区508的实体抹除单元的数量会依据不同的存储器规格而有所不同,本发明不对此进行限制。
逻辑上属于存储区502的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,存储区502包括数据区502a与闲置区502b,数据区502a的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区502b的实体抹除单元是用以替换数据区502a的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路602会从闲 置区502b中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区502a的实体抹除单元。
在本范例实施例中,存储器管理电路602是以多页程序化模式来操作属于存储区502的实体抹除单元。所谓多页程序化模式是指,一个记忆胞存储多个数据位的写入模式。多页程序化模式例如是三阶记忆胞程序化模式或类似模式。在多页程序化模式中,下实体程序化单元、中实体程序化单元与上实体程序化单元皆会被用来存储数据。也就是说,当使用多页程序化模式来写入数据时,存储器管理电路602会对一个实体程序化单元组的下实体程序化单元、中实体程序化单元与上实体程序化单元执行程序化。值得一提的,在一范例实施例中,使用多页程序化模式来操作实体抹除单元时,同一个实体程序化单元组的实体程序化单元会同时地或阶段性地被程序化。
逻辑上属于暂存区504的实体抹除单元是用以暂存主机系统11所写入的数据。在本范例实施例中,存储器管理电路602是以单页程序化模式来操作属于暂存区504的实体抹除单元。在此,所谓单页程序化模式是指,一个记忆胞只存储一个数据位的写入模式。单页程序化模式例如是单层记忆胞(single layer memory cell,SLC)程序化模式、下实体程序化(lower physical programming)模式、混合程序化(mixture programming)模式及少层记忆胞(less layer memory cell)程序化模式的其中之一。更详细来说,在单层记忆胞模式中,一个记忆胞只存储一个位的数据。在下实体程序化模式中,只有下实体程序化单元会被程序化,而此下实体程序化单元所对应之上实体程序化单元可不被程序化。在混合程序化模式中,有效数据(或,真实数据)会被程序化于下实体程序化单元中,而同时虚拟数据(dummy data)会被程序化至存储有效数据的下实体程序化单元所对应的上实体程序化单元中。在少层记忆胞模式中,一个记忆胞存储一第一数目的位的数据,例如,此第一数目可设为“1”。也就是说,在单页程序化模式中,一条字元线上的记忆胞仅提供一个实体程序化单元的空间来存储数据。相较于以多页程序化模式来操作的实体抹除单元,以单页程序化模式来操作的实体抹除单元的使用寿命较长。具体来说,每个实体抹除单元能够被写入或抹除的次数是有限的,当一个实体抹除单元被写入的次数超过一个临界值时,此实体抹除单元可能就会损坏而无法再被写入数据,其中对应以多页程序化模式来操作的实体抹除单元的临界值会低于对应以单页程序化模式来操作的实体抹除单元的临界值。此外,以单页程序化模式来程序化数据至实体抹除单元的可靠度会大于以多页程序化模式来程序化数据至实体抹除单元的可靠度。
逻辑上属于系统区506的实体抹除单元是用以记录系统数据。例如,系统数据包括逻辑转实体地址映射表、关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区508中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区508中仍存有正常的实体抹除单元并且数据区502a的实体抹除单元损坏时,存储器管理电路602会从取代区508中提取正常的实体抹除单元来更换损坏的实体抹除单元。
请参照图8,存储器管理电路602会配置逻辑单元LBA(0)~LBA(H)以映射数据区502a的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统11欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器管理电路602会从闲置区502b中提取一个实体抹除单元来写入数据,以轮替数据区 502a的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
为了识别每个逻辑单元的数据被存储在哪个实体抹除单元中,在本范例实施例中,存储器管理电路602会记录逻辑单元与实体抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器管理电路602会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器管理电路602会在可复写式非易失性存储器模块106中存储逻辑转实体地址映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器管理电路602会将逻辑转实体地址映射表载入至缓冲存储器608来维护。
值得一提的是,由于缓冲存储器608的容量有限无法存储记录所有逻辑单元之映射关系的映射表,因此,在本范例实施例中,存储器管理电路602会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑转实体地址映射表。特别是,当存储器管理电路602欲更新某个逻辑单元的映射时,对应此逻辑单元所属之逻辑区域的逻辑转实体地址映射表会被载入至缓冲存储器608来被更新。
值得一的是,在本范例实施例中,一个逻辑单元的大小是与以多页程序化模式操作的一个实体抹除单元的容量一致。因此,在本范例实施例中,暂存区504的3个实体抹除单元才能提供足够的空间来存储一个逻辑单元的数据。
在本范例实施例中,当一个实体抹除单元被划分至暂存区504后,此实体抹除单元将仅能用于暂存区504,而不会与存储区502的实体抹除单元混用。也就是说,存储器管理电路602会独立地操作存储区502与暂存区504的实体抹除单元。例如,当一个实体抹除单元被划分至暂存区504后,存储器管理电路602会以单页程序化模式操作此实体抹除单元,直到此实体抹除单元损坏为止。
在本范例实施例中,程序化数据至存储区502的方式是有两种,一种是经由暂存区504来写入数据的路径,而另一种是不经由暂存区504的写入路径。例如,当接收到主机系统11的写入指令之后,存储器管理电路602可以使用单页程序化模式将数据暂存至暂存区504,然后再使用多页程序化模式将数据从暂存区504搬移至存储区502,或者存储器管理电路602也可直接使用多页程序化模式将数据写入至存储区502。
图9与图10是根据一范例所显示的使用单页程序化模式将数据暂存在暂存区并且之后使用多页程序化模式将数据从暂存区写入至存储区的范例示意图。
请参照图9,当存储器存储装置100从主机系统11中接收到指示将更新数据存储至逻辑单元LBA(0)的第0~257个逻辑子单元的写入指令时,存储器管理电路602会从暂存区504中提取3个实体抹除单元510(S+1)、510(S+2)、510(S+3)分别做为对应逻辑单元LBA(0)的暂存区作动单元,并且使用暂存区作动单元510(S+1)、暂存区作动单元510(S+2)、暂存区作动单元510(S+3)来写入属于逻辑单元LBA(0)的更新数据。在此所谓作动单元是指,一个实体抹除单元已经被选出来使用写入数据(即,此实体抹除单元的第一个实体程序化单元已被写入数据),但此实体抹除单元尚未被写满(即,此实体抹除单元的部分实体程序化单元尚未被写入数据)的状态。而暂存区作动单元是指,在暂存区504中已经被选出来使用写入数据但尚未被写满的实体抹除单元(即,仅部分实体程序化单元被程序化的实体抹除单元)。
例如,存储器管理电路602会下达指令序列以将欲存储至逻辑单元LBA(0)的第0~85个逻辑子单元的更新数据依序地写入至暂存区作动单元510(S+1)的下实体程序化单元、将欲存 储至逻辑单元LBA(0)的第86~171个逻辑子单元的更新数据依序地写入至暂存区作动单元510(S+2)的下实体程序化单元以及将欲存储至逻辑单元LBA(0)的第172~257个逻辑子单元的更新数据依序地写入至暂存区作动单元510(S+3)的下实体程序化单元中。值得一提的是,当连续地写入大量数据时,上述依据暂存区作动单元510(S+1)、暂存区作动单元510(S+2)与暂存区作动单元510(S+3)的页面顺序来写入数据可利用快取程序化(cacheprogramming)指令以有效地提升写入数据的速度。在另一范例实施例中,存储器管理电路602会将欲存储至逻辑单元LBA(0)的各个逻辑子单元的更新数据经过再整理或排列后,再同时写入至暂存区作动单元510(S+1)的下实体程序化单元、暂存区作动单元510(S+2)的下实体程序化单元以及暂存区作动单元510(S+3)的下实体程序化单元中。
请参照图10,在将逻辑单元LBA(0)的所有逻辑子单元的数据暂存至暂存区作动单元510(S+1)、暂存区作动单元510(S+2)、暂存区作动单元510(S+3)之后,存储器管理电路602会从闲置区502b中提取实体抹除单元510(F+1)(以下可参考为第三实体抹除单元)作为存储区作动单元。具体来说,存储器管理电路602会从闲置区502b中选择一个空的实体抹除单元或者所存储的数据为无效数据的实体抹除单元作为存储区作动单元。特别是,倘若所提取的实体抹除单元是存储无效数据的实体抹除单元时,存储器管理电路602会先对此实体抹除单元执行抹除操作。也就是说,实体抹除单元上的无效数据必须先被抹除。
之后,存储器管理电路602会下达指令序列以从暂存区作动单元510(S+1)的下实体程序化单元中将属于逻辑单元LBA(0)的第0~85逻辑子单元的有效数据复制至目前作为存储区作动单元的实体抹除单元510(F+1)的对应页面(例如,第0~85实体程序化单元)。在此,存储区作动单元是指,在存储区502中已经被选出来使用写入数据但尚未被写满的实体抹除单元(即,仅部分实体程序化单元被程序化的实体抹除单元)。接着,存储器管理电路602会下达指令序列以从暂存区作动单元510(S+2)的下实体程序化单元中将属于逻辑单元LBA(0)的第86~171逻辑子单元的有效数据复制至目前作为存储区作动单元的实体抹除单元510(F+1)的对应页面(例如,第86~171实体程序化单元)。然后,存储器管理电路602会下达指令序列以从暂存区作动单元510(S+3)的下实体程序化单元中将属于逻辑单元LBA(0)的第172~257逻辑子单元的有效数据复制至目前作为存储区作动单元的实体抹除单元510(F+1)的对应页面(例如,第172~257实体程序化单元)。
值得一提的是,如上所述,欲被关联至数据区502a的实体抹除单元是以多页程序化模式来操作,因此,写入至实体抹除单元510(F+1)是以实体程序化单元组为单位来同时或阶段性地程序化。具体来说,在一范例实施例中,实体抹除单元510(F+1)的第0个、第1个、第2个实体程序化单元会同时地被程序化以写入属于逻辑单元LBA(0)的第0个、第1个、第2个逻辑子单元的数据;实体抹除单元510(F+1)的第3个、第4个、第5个实体程序化单元会同时地被程序化以写入属于逻辑单元LBA(0)的第3个、第4个、第5个逻辑子单元的数据;并且以此类推其他逻辑子单元的数据皆是以实体程序化单元组为单位被写入至实体抹除单元510(F+1)中。
最后,存储器管理电路602会在逻辑转实体地址映射表中将逻辑单元LBA(0)映射至实体抹除单元510(F+1),重新设定实体抹除单元510(S+1)~510(S+3)成非为暂存区作动单元并对实体抹除单元510(S+1)~510(S+3)执行抹除操作。也就是说,在执行下一个写入指令时,空的实体抹除单元510(S+1)~510(S+3)就可再被选择作为暂存区作动单元。
图11是根据一范例所显示的使用多页程序化模式将数据写入至存储区的写入范例示意图。
请参照图11,当存储器存储装置100从主机系统11中接收到指示将更新数据存储至逻辑单元LBA(0)的第0~257个逻辑子单元的写入指令时,存储器管理电路602会从闲置区502b中提取实体抹除单元510(F+3)(以下参考为第四实体抹除单元)作为存储区作动单元。具体来说,存储器管理电路602会从闲置区502b中选择一个空的实体抹除单元或者所存储的数据为无效数据的实体抹除单元作为存储区作动单元。特别是,倘若所提取的实体抹除单元是存储无效数据的实体抹除单元时,存储器管理电路602会先对此实体抹除单元执行抹除操作。也就是说,实体抹除单元上的无效数据必须先被抹除。
之后,存储器管理电路602会下达指令序列以将所接收到的数据以多页程序化模式写入至目前作为存储区作动单元的实体抹除单元510(F+3)中。类似地,实体抹除单元510(F+3)是以实体程序化单元组为单位来同时或阶段性地程序化。
值得一提的是,数据区502a的实体程序化单元中的有效数据会因为对应的更新数据被写入至存储区502或暂存区504的另一个实体程序化单元变成无效数据,因此,数据区502a中会出现许多存储无效数据的实体程序化单元,并且存储器管理电路602会进行有效数据合并操作以回收此些存储无效数据的实体程序化单元。例如,当存储器存储装置100属于闲置状态一段时间(例如,30秒未从主机系统11中接收到任何指令)或者是当闲置区502b中空的实体抹除单元的数目小于预设门槛值时,存储器管理电路602会对存储区502中的有效数据进行有效数据合并操作,以释放出空的实体抹除单元。例如,此预设门槛值会被设定为3。然而,必须了解的是,本发明不限于此,预设门槛值也可以是其他适当的数值。
在本范例实施例中,存储器管理电路602可在存储区502中进行有效数据合并操作(以下参考为第一有效数据合并操作)或者在存储区502与暂存区504之间进行有效数据合并操作(以下参考为第二有效数据合并操作)中。
图12为根据一范例所显示之对存储区中的实体抹除单元进行第一有效数据合并操作的示意图。
请参照图12,假设存储器管理电路602欲对存储区502中的实体抹除单元进行数据合并操作时(例如,周期性地对存储区502中的实体抹除单元进行数据合并操作或者主机系统11处于闲置状态时),存储器管理电路602从存储区502的数据区502a中选择实体抹除单元510(F+5)(以下参考为第一实体抹除单元)作为存储区作动单元并且下达指令序列以将实体抹除单元510(F+4)(以下参考为第二实体抹除单元)中的有效数据复制到被设定为存储区作动单元的实体抹除单元510(F+5)中。
具体来说,在进行数据合并操作的过程中,存储器管理电路602)会从实体抹除单元510(F+4)的下实体程序化单元、中实体程序化单元、上实体程序化单元中读取有效数据,并将所读出的有效数据写入到目前被设定为存储区作动单元的实体抹除单元510(F+5)的下实体程序化单元、中实体程序化单元、上实体程序化单元中(即,此为图12所示的“数据合并”操作)。之后,存储器管理电路602会将原本实体抹除单元510(F+4)中有效数据所属的逻辑子单元映射至实体抹除单元510(F+5)的实体程序化单元,并对实体抹除单元510(F+4)进行抹除操作,以释放实体抹除单元510(F+4)的空间。
图13为根据另一范例所显示的对存储区中的实体抹除单元进行第二有效数据合并操作的 示意图。
请参照图13,假设存储器管理电路602欲对存储区502的数据区502a中的实体抹除单元进行数据合并操作时(例如,周期性地对数据区502a中的实体抹除单元进行数据合并操作或者主机系统11处于闲置状态时或者数据区502a中所有的实体抹除单元没有足够空间时),存储器管理电路602从存储区502的数据区502a中选择实体抹除单元510(F+6)(以下参考为第六实体抹除单元),从暂存区504中选择实体抹除单元510(S+6)(以下参考为第五实体抹除单元)作为用于有效数据合并操作的暂存区作动单元,并且下达指令序列以先将实体抹除单元510(F+6)中的有效数据复制至实体抹除单元510(S+6)中。具体来说,存储器管理电路602会从实体抹除单元510(F+6)的下实体程序化单元、中实体程序化单元、上实体程序化单元中读取有效数据,并将所读出的有效数据写入到实体抹除单元510(S+6)的下实体程序化单元中(即,此为图14所示的“数据合并A”操作),并对实体抹除单元510(F+6)进行抹除操作,以释放实体抹除单元510(F+6)的空间。
之后,存储器管理电路602会从存储区502的闲置区502b中选择一个实体抹除单元510(F+2)(以下参考为第七实体抹除单元)作为存储区作动单元,下达指令序列以从实体抹除单元510(S+6)的下实体程序化单元中读取该些有效数据,下达指令序列以将所读出的有效数据写入到目前作为存储区作动单元的实体抹除单元510(F+2)的下实体程序化单元、中实体程序化单元、上实体程序化单元中(即,此为图14所示的“数据合并B”操作),重新设定实体抹除单元510(S+6)非为暂存区作动单元并对实体抹除单元510(S+6)执行抹除操作。之后,存储器管理电路602会将此些有效数据所属的逻辑子单元映射至实体抹除单元510(F+2)的实体程序化单元。在图13的例子中,数据区502a的实体抹除单元510(F+6)中的有效数据会先被复制到暂存区504中的实体抹除单元510(S+6),之后所复制的数据会再从实体抹除单元510(S+6)中复制到闲置区502b的实体抹除单元510(F+2)中。基此,数据区502a的实体抹除单元510(F+6)中的所有数据就变成为无效数据,并且实体抹除单元510(F+6)就可被执行抹除操作并被释放出来(即,实体抹除单元510(F+6)会被关联至闲置区502b)。
值得一提的是,如上所述,多页程序化模式的写入速度会低于单页程序化模式的写入速度,在执行如图9~图11所示的数据写入操作以及图12~图13的数据合并操作时,存储器管理电路602会限制作为存储区作动单元的实体抹除单元的数目不大于一预定数目,并且不限制作为暂存区作动单元的实体抹除单元的数目,由此提升存储器存储装置10的效能。例如,在本范例实施例中,存储器管理电路602会限制作为存储区作动单元的实体抹除单元的数目不大于1。也就是说,同时仅能有一个存储区502的实体抹除单元作为存储区作动单元。
具体来说,当从主机系统11接收到写入指令与对应此写入指令的数据时,存储器管理电路602会判断存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目。倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,存储器管理电路602会使用图9所示的方法先将从主机系统11中所接收到的数据暂存至暂存区504,而不会再设定存储区502的另一个实体抹除单元作为存储区作动单元来写入数据。类似地,在本范例实施例中,当需要在存储区502中执行有效数据合并操作时,存储器管理电路602会判断存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目。倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,存储器管理电路602会使用图13所示的方法,先将有效数据复制 到暂存区504的暂存区作动单元中并且之后在此实体抹除单元被重新设定成非为存储区作动单元时,存储器管理电路602会再将数据从暂存区504中搬移至存储区502。
图14是根据一范例实施例所显示的数据写入方法的流程图。
请参照图14,在步骤S1401中,存储器管理电路602会从主机系统11接收到写入指令与对应此写入指令的数据。
在步骤S1403中,存储器管理电路602会判断存储区502的实体抹除单元之中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目。
倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,在步骤S1405中,存储器管理电路602会从暂存区504中选择至少一实体抹除单元,并且将从主机系统11中所接收的数据以单页程序化模式写入至所选择的实体抹除单元中。将数据暂存至暂存区504的操作已配合图9详细描述如上,在此不再重复说明。
倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,在步骤S1407中,存储器管理电路602会从存储区502中选择一个实体抹除单元,并在不经暂存区504的路径下,将从主机系统11中所接收的数据以多页程序化模式写入至所选择的实体抹除单元中。例如,在步骤S1407中,存储器管理电路602以图11所示的操作直接将数据从缓冲存储器608中写入至从存储区502中选出作为存储区作动单元的实体抹除单元中。
图15是根据本发明另一范例实施例所显示的数据写入方法的流程图。
在步骤S1501中,存储器管理电路602会判断是否需对存储区502执行有效数据合并操作。
倘若无需执行有效数据合并操作时,图15的流程会结束。
倘若需执行有效数据合并操作时,在步骤S1503中,存储器管理电路602会从存储区502的数据区502a中选择至少一个实体抹除单元(以下参考为目标实体抹除单元)。
在步骤S1505中,存储器管理电路602会判断存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目是否小于预定数目。
倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目非小于预定数目时,在步骤S1507中,存储器管理电路602会从暂存区504中选取至少一实体抹除单元,将在目标实体抹除单元的有效数据以单页程序化模式写入至所选取的实体抹除单元中。将有效数据暂存至暂存区504的有效数据合并操作已配合图14详细描述如上,在此不再重复说明。
倘若存储区502中仅部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,在步骤S1509中,存储器管理电路602会从存储区502中选择一个实体抹除单元,并在不经暂存区504的路径下,将在目标实体抹除单元的有效数据以多页程序化模式写入至所选取的实体抹除单元中。例如,在步骤S1509中,存储器管理电路602会使用多页程序化模式,在存储区502中将有效数据从目标实体抹除单元复制到选出作为存储区作动单元的实体抹除单元中(如图13所示的操作)。
综上所述,本发明范例实施例的数据写入方法、存储器控制电路单元与存储器存储装置在执行写入操作、有效数据合并操作时,会依据目前作为存储区作动单元的实体抹除单元的数目来决定直接将数据程序化至存储区或先暂存至暂存区,由此可以有效地提升程序化数据的速度以及可靠度。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通 技术人员,在不脱离本发明的精神和范围内,当可作些许的改动与润饰,均在本发明范围内。

Claims (20)

1.一种数据写入方法,用于一可复写式非易失性存储器模块,其特征在于,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元至少被分组为第一区与第二区,所述第二区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目是小于所述第一区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目,所述数据写入方法包括:
接收第一数据;
判断在所述第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于一预定数目;以及
倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目非小于所述预定数目时,将所述第一数据写入至所述第二区的所述多个实体抹除单元之中的至少一实体抹除单元。
2.根据权利要求1所述的数据写入方法,其特征在于,还包括:
倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目小于所述预定数目时,将所述第一数据写入至所述第一区的所述多个实体抹除单元之中的一实体抹除单元。
3.根据权利要求1所述的数据写入方法,其特征在于,还包括:
选择所述第一区的所述多个实体抹除单元之中的一第一实体抹除单元以执行一第一有效数据合并操作,并且在所述第一有效数据合并操作中将所述第一区的所述多个实体抹除单元之中的至少一第二实体抹除单中的有效数据复制到所述第一实体抹除单元中,
其中当所述第一实体抹除单元尚未被写满时,则所述第一实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
4.根据权利要求3所述的数据写入方法,其特征在于,还包括:
当所述第一实体抹除单元已被写满时,从所述第一区的所述多个实体抹除单元之中选择一第三实体抹除单元;
将所述第二区的所述至少一实体抹除单元中的所述第一数据复制到所述第三实体抹除单元;以及
对所述第二区的所述至少一实体抹除单元执行一抹除操作。
5.根据权利要求1所述的数据写入方法,其特征在于,还包括:
在接收到所述第一数据之前,从主机系统接收一写入指令与对应所述写入指令的一第二数据;
从所述第一区的所述实体抹除单元之中选择一第四实体抹除单元;以及
将所述第二数据写入至所述第四实体抹除单元,
其中当所述第四实体抹除单元尚未被写满时,则所述第四实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
6.根据权利要求5所述的数据写入方法,其特征在于,还包括:
选择所述第二区的所述多个实体抹除单元之中的多个第五实体抹除单元以执行一第二有效数据合并操作;
在所述第二有效数据合并操作中,将所述第一区的所述多个实体抹除单元之中的至少一第六实体抹除单中的有效数据复制到所述多个第五实体抹除单元,从所述第一区的所述多个实体抹除单元中选择一第七实体抹除单元,且将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元;以及
在将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元之后,对所述多个第五实体抹除单元执行一抹除操作。
7.一种存储器控制电路单元,其特征在于,包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元;以及
存储器管理电路,电性连接至该主机接口与所述存储器接口,
其中所述存储器管理电路用以将所述多个实体抹除单元至少分组为一第一区与一第二区,其中所述第二区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目是小于所述第一区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目,
其中所述存储器管理电路更用以接收第一数据,
其中所述存储器管理电路更用以判断在所述第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于一预定数目,
其中倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目非小于所述预定数目时,所述存储器管理电路将所述第一数据写入至所述第二区的所述多个实体抹除单元之中的至少一实体抹除单元。
8.根据权利要求7所述的存储器控制电路单元,其特征在于,倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目小于所述预定数目时,所述存储器管理电路将所述第一数据写入至所述第一区的所述多个实体抹除单元之中的一实体抹除单元。
9.根据权利要求7所述的存储器控制电路单元,其特征在于,所述存储器管理电路更用以选择所述第一区的所述多个实体抹除单元之中的一第一实体抹除单元以执行一第一有效数据合并操作,并且在所述第一有效数据合并操作中下达一指令序列以将所述第一区的所述多个实体抹除单元之中的至少一第二实体抹除单中的有效数据复制到所述第一实体抹除单元中,
其中当所述第一实体抹除单元尚未被写满时,则所述第一实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,当所述第一实体抹除单元已被写满时,所述存储器管理电路更用以从所述第一区的所述多个实体抹除单元之中选择一第三实体抹除单元,下达另一指令序列以将所述第二区的所述至少一实体抹除单元中的所述第一数据复制到所述第三实体抹除单元,并且下达另一指令序列以对所述第二区的所述至少一实体抹除单元执行一抹除操作。
11.根据权利要求7所述的存储器控制电路单元,其特征在于,在接收到所述第一数据之前,所述存储器管理电路更用以从所述主机系统接收一写入指令与对应所述写入指令的一第二数据,从所述第一区的所述实体抹除单元之中选择一第四实体抹除单元,且下达另一指令序列以将所述第二数据写入至所述第四实体抹除单元,
其中当所述第四实体抹除单元尚未被写满时,则所述第四实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,所述存储器管理电路更用以选择所述第二区的所述多个实体抹除单元之中的多个第五实体抹除单元以执行一第二有效数据合并操作,
其中在所述第二有效数据合并操作中,该存储器管理电路下达另一指令序列以将所述第一区的所述多个实体抹除单元之中的至少一第六实体抹除单中的有效数据复制到所述多个第五实体抹除单元,从所述第一区的所述多个实体抹除单元中选择一第七实体抹除单元,且下达另一指令序列以将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元,
其中在将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元之后,所述存储器管理电路下达另一指令序列以对所述多个第五实体抹除单元执行一抹除操作。
13.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以将所述多个实体抹除单元至少分组为第一区与第二区,其中所述第二区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目是小于所述第一区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目,
其中所述存储器控制电路单元更用以接收第一数据,
其中所述存储器控制电路单元更用以判断在所述第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目是否小于一预定数目,
其中倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目非小于所述预定数目时,所述存储器控制电路单元将所述第一数据写入至所述第二区的所述多个实体抹除单元之中的至少一实体抹除单元。
14.根据权利要求13所述的存储器存储装置,其特征在于,倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目小于所述预定数目时,所述存储器控制电路单元将所述第一数据写入至所述第一区的所述多个实体抹除单元之中的一实体抹除单元。
15.根据权利要求13所述的存储器存储装置,其特征在于,所述存储器控制电路单元更用以选择所述第一区的所述多个实体抹除单元之中的一第一实体抹除单元以执行一第一有效数据合并操作,并且在所述第一有效数据合并操作中将所述第一区的所述多个实体抹除单元之中的至少一第二实体抹除单中的有效数据复制到所述第一实体抹除单元中,
其中当所述第一实体抹除单元尚未被写满时,则所述第一实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
16.根据权利要求15所述的存储器存储装置,其特征在于,当所述第一实体抹除单元已被写满时,所述存储器控制电路单元更用以从所述第一区的所述多个实体抹除单元之中选择一第三实体抹除单元,将所述第二区的所述至少一实体抹除单元中的所述第一数据复制到所述第三实体抹除单元,并且对所述第二区的所述至少一实体抹除单元执行抹除操作。
17.根据权利要求13所述的存储器存储装置,其特征在于,在接收到所述第一数据之前,所述存储器控制电路单元更用以
从所述主机系统接收写入指令与对应所述写入指令的第二数据,从所述第一区的所述实体抹除单元之中选择一第四实体抹除单元,且将所述第二数据写入至所述第四实体抹除单元,
其中当所述第四实体抹除单元尚未被写满时,则所述第四实体抹除单元会被判断为所述只有部分实体程序化单元被程序化的实体抹除单元。
18.根据权利要求17所述的存储器存储装置,其特征在于,所述存储器控制电路单元更用以选择所述第二区的所述多个实体抹除单元之中的多个第五实体抹除单元以执行一第二有效数据合并操作,
其中在所述第二有效数据合并操作中,该存储器控制电路单元将所述第一区的所述多个实体抹除单元之中的至少一第六实体抹除单中的有效数据复制到所述多个第五实体抹除单元,从所述第一区的所述多个实体抹除单元中选择一第七实体抹除单元,且将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元,
其中在将所述多个第五实体抹除单元中的有效数据复制到所述第七实体抹除单元之后,所述存储器控制电路单元对所述多个第五实体抹除单元执行一抹除操作。
19.一种数据写入方法,用于一可复写式非易失性存储器模块,其特征在于,所述可复写式非易失性存储器模块具有多个实体抹除单元,所述多个实体抹除单元至少被分组为第一区与第二区,所述第二区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目是小于所述第一区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目,所述数据写入方法包括:
接收第一数据;
倘若在所述第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,将所述第一数据不经由所述第二区的路径而写入至所述第一区的所述多个实体抹除单元之中的实体抹除单元;以及
倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目非小于所述预定数目时,将所述第一数据写入至所述第二区的所述多个实体抹除单元之中的至少一实体抹除单元。
20.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个实体抹除单元;以及
存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以将所述多个实体抹除单元至少分组为第一区与第二区,其中所述第二区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目是小于所述第一区的所述多个实体抹除单元的每个记忆胞存储的数据位的数目,
其中所述存储器控制电路单元更用以接收第一数据,
其中倘若在所述第一区的所述实体抹除单元之中只有部分实体程序化单元被程序化的实体抹除单元的数目小于预定数目时,所述存储器控制电路单元将所述第一数据不经由所述第二区的路径而写入至所述第一区的所述多个实体抹除单元之中的实体抹除单元,
其中倘若在所述第一区的所述实体抹除单元之中所述只有部分实体程序化单元被程序化的实体抹除单元的数目非小于所述预定数目时,所述存储器控制电路单元将所述第一数据写入至所述第二区的所述多个实体抹除单元之中的至少一实体抹除单元。
CN201610472016.1A 2016-06-24 2016-06-24 数据写入方法、存储器控制电路单元及存储器存储装置 Active CN107544922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610472016.1A CN107544922B (zh) 2016-06-24 2016-06-24 数据写入方法、存储器控制电路单元及存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610472016.1A CN107544922B (zh) 2016-06-24 2016-06-24 数据写入方法、存储器控制电路单元及存储器存储装置

Publications (2)

Publication Number Publication Date
CN107544922A true CN107544922A (zh) 2018-01-05
CN107544922B CN107544922B (zh) 2020-01-21

Family

ID=60960103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610472016.1A Active CN107544922B (zh) 2016-06-24 2016-06-24 数据写入方法、存储器控制电路单元及存储器存储装置

Country Status (1)

Country Link
CN (1) CN107544922B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143253A (zh) * 2018-11-02 2020-05-12 群联电子股份有限公司 数据储存方法、存储器控制电路单元以及存储器储存装置
CN111625197A (zh) * 2020-05-28 2020-09-04 深圳宏芯宇电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制器
CN112051963A (zh) * 2019-06-06 2020-12-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
CN112181859A (zh) * 2019-07-02 2021-01-05 群联电子股份有限公司 有效数据合并方法、存储器控制电路单元与存储装置
CN112527184A (zh) * 2019-09-17 2021-03-19 群联电子股份有限公司 数据管理方法、存储器控制电路单元以及存储器存储装置
US10997067B2 (en) 2018-10-25 2021-05-04 Phison Electronics Corp. Data storing method, memory controlling circuit unit and memory storage device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464834A (zh) * 2007-12-19 2009-06-24 群联电子股份有限公司 闪存数据写入方法及使用此方法的控制器
CN103593255A (zh) * 2012-08-15 2014-02-19 群联电子股份有限公司 数据管理方法、记忆存储存储器与记忆存储控制器
CN104346288A (zh) * 2013-08-05 2015-02-11 慧荣科技股份有限公司 用来管理一记忆装置的方法以及记忆装置与控制器
CN104765569A (zh) * 2014-01-06 2015-07-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN105022695A (zh) * 2014-04-21 2015-11-04 群联电子股份有限公司 数据存储方法、存储器控制电路单元与存储器存储装置
US20150317153A1 (en) * 2007-03-27 2015-11-05 Jianqing Wu Online Computing System
US20160180968A1 (en) * 2014-12-17 2016-06-23 Fujitsu Limited Memory device, storage apparatus and method for diagnosing storage apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317153A1 (en) * 2007-03-27 2015-11-05 Jianqing Wu Online Computing System
CN101464834A (zh) * 2007-12-19 2009-06-24 群联电子股份有限公司 闪存数据写入方法及使用此方法的控制器
CN103593255A (zh) * 2012-08-15 2014-02-19 群联电子股份有限公司 数据管理方法、记忆存储存储器与记忆存储控制器
CN104346288A (zh) * 2013-08-05 2015-02-11 慧荣科技股份有限公司 用来管理一记忆装置的方法以及记忆装置与控制器
CN104765569A (zh) * 2014-01-06 2015-07-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
CN105022695A (zh) * 2014-04-21 2015-11-04 群联电子股份有限公司 数据存储方法、存储器控制电路单元与存储器存储装置
US20160180968A1 (en) * 2014-12-17 2016-06-23 Fujitsu Limited Memory device, storage apparatus and method for diagnosing storage apparatus

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997067B2 (en) 2018-10-25 2021-05-04 Phison Electronics Corp. Data storing method, memory controlling circuit unit and memory storage device
CN111143253A (zh) * 2018-11-02 2020-05-12 群联电子股份有限公司 数据储存方法、存储器控制电路单元以及存储器储存装置
CN112051963A (zh) * 2019-06-06 2020-12-08 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
CN112051963B (zh) * 2019-06-06 2023-06-13 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
CN112181859A (zh) * 2019-07-02 2021-01-05 群联电子股份有限公司 有效数据合并方法、存储器控制电路单元与存储装置
CN112181859B (zh) * 2019-07-02 2024-03-12 群联电子股份有限公司 有效数据合并方法、存储器控制电路单元与存储装置
CN112527184A (zh) * 2019-09-17 2021-03-19 群联电子股份有限公司 数据管理方法、存储器控制电路单元以及存储器存储装置
CN111625197A (zh) * 2020-05-28 2020-09-04 深圳宏芯宇电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制器

Also Published As

Publication number Publication date
CN107544922B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
CN107844431A (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
CN104679437B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN106681654B (zh) 映射表载入方法与存储器存储装置
CN104732153B (zh) 数据抹除方法、存储器控制电路单元及存储器存储装置
CN107544922A (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
CN104765568B (zh) 数据存储方法、存储器控制电路单元与存储器存储装置
CN104765569B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107402716A (zh) 数据写入方法、内存控制电路单元与内存储存装置
CN106990921B (zh) 数据写入方法、存储器存储装置与存储器控制电路单元
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
CN106681932A (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN107818808A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN107590080A (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
CN103136111B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN108733577A (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN106951186A (zh) 数据程序化方法、存储器存储装置及存储器控制电路单元
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
CN107346211A (zh) 映射表加载方法、内存控制电路单元与内存储存装置
CN105988950A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106959818A (zh) 数据写入方法、内存控制电路单元与内存储存装置
CN107045890A (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
CN106648443B (zh) 有效数据合并方法、存储器控制器与存储器存储装置
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant