CN110442299B - 数据写入方法、存储器控制电路单元以及存储器储存装置 - Google Patents
数据写入方法、存储器控制电路单元以及存储器储存装置 Download PDFInfo
- Publication number
- CN110442299B CN110442299B CN201810412993.1A CN201810412993A CN110442299B CN 110442299 B CN110442299 B CN 110442299B CN 201810412993 A CN201810412993 A CN 201810412993A CN 110442299 B CN110442299 B CN 110442299B
- Authority
- CN
- China
- Prior art keywords
- data
- amount
- memory
- programming mode
- memory module
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种数据写入方法、存储器控制电路单元以及存储器储存装置。所述方法包括:根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对记忆胞进行程序化;当第一数据量大于第二数据量时,使用第一程序化模式对记忆胞进行程序化;以及当第一数据量不大于第二数据量时,使用第二程序化模式对记忆胞进行程序化。
Description
技术领域
本发明涉及一种数据写入方法、存储器控制电路单元以及存储器储存装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
依据每个记忆胞可储存的比特数,NAND型快闪存储器模块可分为单阶记忆胞(single level cell,SLC)NAND型快闪存储器模块、多阶记忆胞(muiti level cell,MLC)NAND型快闪存储器模块以及复数阶记忆胞(trinary level cell,TLC)NAND型快闪存储器模块,其中SLC NAND型快闪存储器模块的每个记忆胞可储存1个比特的数据(即,“1”与“0”),MLC NAND型快闪存储器模块的每个记忆胞可储存2个比特的数据,TLC NAND型快闪存储器模块的每个记忆胞可储存3个比特的数据。此外,MLC NAND型快闪存储器模块与TLCNAND型快闪存储器模块的记忆胞也可以用来模拟SLC NAND型快闪存储器模块,且MLC NAND型快闪存储器模块与TLC NAND型快闪存储器模块中用来模拟SLC NAND型快闪存储器模块的记忆胞仅储存1个比特的数据。
一般来说,若一个记忆胞可以储存多个比特(例如,MLC或TLC NAND快闪存储器模块),则属于同一条字元线的物理程序化单元至少可被分类为下物理程序化单元与上物理程序化单元。例如,在MLC NAND快闪存储器模块中,一记忆胞的最低有效比特(LeastSignificant Bit,LSB)是属于下物理程序化单元,并且此记忆胞的最高有效比特(MostSignificant Bit,MSB)是属于上物理程序化单元。在一范例实施例中,下物理程序化单元也称为快页(fast page),而上物理程序化单元也称为慢页(slow page)。特别是,在MLCNAND快闪存储器模块中,一个下物理程序化单元与该下物理程序化单元所对应的一上物理程序化单元可以合称为“物理程序化单元组”。此外,在TLC NAND快闪存储器模块中,一记忆胞的最低有效比特(Least Significant Bit,LSB)是属于下物理程序化单元,此记忆胞的中间有效比特(Center Significant Bit,CSB)是属于中物理程序化单元,并且此记忆胞的最高有效比特(Most Significant Bit,MSB)是属于上物理程序化单元。特别是,在TLCNAND快闪存储器模块中,一个下物理程序化单元与该下物理程序化单元所对应的中物理程序化单元与上物理程序化单元可以合称为“物理程序化单元组”。在MLC或TLC NAND快闪存储器模块中,通常会具有多个物理抹除单元且每个物理抹除单元可以具有多个物理程序化单元组,而一个物理抹除单元通常是快闪存储器模块中用于执行抹储的单位。
一般来说,可以选择MLC或TLC NAND快闪存储器模块中的某些物理抹除单元来模拟SLC NAND型快闪存储器模块。在将数据写入至MLC或TLC NAND快闪存储器模块的过程中,可以选择被用来模拟SLC NAND型快闪存储器模块的一物理抹除单元中的某个物理程序化单元组,并使用一第一程序化模式(也称为,单页程序化模式)来将数据写入至所选择的物理程序化单元组中以使得所选择的物理程序化单元组的多个记忆胞之中的每一个记忆胞储存仅1个比特数据。例如,所选择的物理程序化单元组的多个记忆胞中仅使用最低有效比特(Least Significant Bit,LSB)来储存数据。也就是说,若是以MLC或TLC NAND快闪存储器模块来模拟SLC NAND型快闪存储器模块时,在使用第一程序化模式进行写入时只有“下物理程序化单元”能够用以写入(或储存)数据。此外,对应该被用来写入数据的下物理程序化单元的中物理程序化单元及上物理程序化单元并不会被用来储存数据。
需注意的是,由于对下物理程序化单元进行写入的速度较快,故使用MLC或TLCNAND快闪存储器模块来模拟SLC NAND型快闪存储器模块时,通常可以有较高的写入效能。然而,基于快闪存储器物理上的特性,在使用MLC NAND型快闪存储器模块(或TLC NAND型快闪存储器模块)来模拟SLC NAND型快闪存储器模块时,通常会造成快闪存储器模块的损耗,进而降低快闪存储器模块的寿命。例如,该些用来模拟SLC NAND型快闪存储器模块的物理抹除单元的抹储次数(或频率)可能较高,进而造成快闪存储器模块的损耗。
为了解决上述问题,在现有技术中,通常会设定一门槛值,并且当MLC或TLC NAND快闪存储器模块中物理抹除单元的抹除次数达到此门槛值时,该些用来模拟SLC NAND型快闪存储器模块的物理抹除单元会恢复为使用MLC或TLC NAND快闪存储器模块使用。也就是说,该些用来模拟SLC NAND型快闪存储器模块的物理抹除单元会恢复为使用第二程序化模式(也称为,多页程序化模式)来进行数据的写入。其中,以第二程序化模式写入的物理程序化单元组的多个记忆胞之中的每一个记忆胞会储存多个比特数据。也就是说,当以第二程序化模式进行写入时,物理程序化单元组的“下物理程序化单元”、“中物理程序化单元”以及“上物理程序化单元”皆能够用以写入(或储存)数据。
然而,在使用上述门槛值的方法中,通常无法让MLC或TLC NAND快闪存储器模块再次模拟SLC NAND快闪存储器模块,并且无法再使用第一程序化模式来提升写入的效能,进而造成写入效率的低落。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元以及存储器储存装置可以动态地决定使用第一程序化模式或使用第二程序化模式来对记忆胞进行程序化,藉此避免以往在可复写式非易失性存储器模块的抹除次数高于门槛值后只能使用第二程序化模式而不能使用第一程序化模式来对记忆胞进行程序化的问题。
本发明提出一种数据写入方法,用于存储器储存装置,所述存储器储存装置具有可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞,所述数据写入方法包括:根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,其中所述第一数据量为所述可复写式非易失性存储器模块中目前可提供给主机系统用于写入的数据量,所述第二数据量为所述可复写式非易失性存储器模块中剩余必须提供给所述主机系统用于写入的数据量;当所述第一数据量大于所述第二数据量时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及当所述第一数据量不大于所述第二数据量时,使用所述第二程序化模式对所述多个记忆胞进行程序化,其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
在本发明的一实施例中,其中判断使用所述第一程序化模式或一第二程序化模式对所述多个记忆胞进行程序化的步骤包括:当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于一门槛值时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,使用所述第二程序化模式对所述多个记忆胞进行程序化。
在本发明的一实施例中,所述方法还包括:根据所述多个物理抹除单元的一最大平均抹除次数、所述多个物理抹除单元的一目前平均抹除次数、所述可复写式非易失性存储器模块的一空间大小以及一写入放大因子(Write Amplification Factor,WAF)数值计算所述第一数据量。
在本发明的一实施例中,其中所述第一数据量为第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
在本发明的一实施例中,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会(Joint Electron Device EngineeringCouncil,JEDEC)所规范的测试操作后所获得。
在本发明的一实施例中,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的第三数据量的差值。
在本发明的一实施例中,其中所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于一第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
本发明提出一种存储器控制电路单元,包括主机接口、存储器接口以及存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞。存储器管理电路电性连接至所述主机接口与所述存储器接口,并用以执行下述运作:根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,其中所述第一数据量为所述可复写式非易失性存储器模块中目前可提供给所述主机系统用于写入的数据量,所述第二数据量为所述可复写式非易失性存储器模块中剩余必须提供给所述主机系统用于写入的数据量;当所述第一数据量大于所述第二数据量时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及当所述第一数据量不大于所述第二数据量时,使用所述第二程序化模式对所述多个记忆胞进行程序化,其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
在本发明的一实施例中,其中在判断使用所述第一程序化模式或一第二程序化模式对所述多个记忆胞进行程序化的运作中,当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于一门槛值时,所述存储器管理电路还用以使用所述第一程序化模式对所述多个记忆胞进行程序化。当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,所述存储器管理电路还用以使用所述第二程序化模式对所述多个记忆胞进行程序化。
在本发明的一实施例中,其中所述存储器管理电路还用以根据所述多个物理抹除单元的一最大平均抹除次数、所述多个物理抹除单元的一目前平均抹除次数、所述可复写式非易失性存储器模块的一空间大小以及一写入放大因子(Write AmplificationFactor,WAF)数值计算所述第一数据量。
在本发明的一实施例中,其中所述第一数据量为一第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
在本发明的一实施例中,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会(Joint Electron Device EngineeringCouncil,JEDEC)所规范的测试操作后所获得。
在本发明的一实施例中,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的一最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的一第三数据量的差值。
在本发明的一实施例中,其中所述所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于一第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
本发明提出一种存储器储存装置,包括:连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块具有多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞。存储器控制电路单元用以电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,并用以执行下述运作:根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,其中所述第一数据量为所述可复写式非易失性存储器模块中目前可提供给所述主机系统用于写入的数据量,所述第二数据量为所述可复写式非易失性存储器模块中剩余必须提供给所述主机系统用于写入的数据量;当所述第一数据量大于所述第二数据量时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及当所述第一数据量不大于所述第二数据量时,使用所述第二程序化模式对所述多个记忆胞进行程序化,其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
在本发明的一实施例中,其中在判断使用所述第一程序化模式或一第二程序化模式对所述多个记忆胞进行程序化的运作中,当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于一门槛值时,所述存储器控制电路单元使用所述第一程序化模式对所述多个记忆胞进行程序化。当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,所述存储器控制电路单元使用所述第二程序化模式对所述多个记忆胞进行程序化。
在本发明的一实施例中,其中所述存储器控制电路单元根据所述多个物理抹除单元的一最大平均抹除次数、所述多个物理抹除单元的一目前平均抹除次数、所述可复写式非易失性存储器模块的一空间大小以及一写入放大因子(Write Amplification Factor,WAF)数值计算所述第一数据量。
在本发明的一实施例中,其中所述第一数据量为第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
在本发明的一实施例中,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会(Joint Electron Device EngineeringCouncil,JEDEC)所规范的测试操作后所获得。
在本发明的一实施例中,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的第三数据量的差值。
在本发明的一实施例中,其中所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于一第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
基于上述,本发明的数据写入方法、存储器控制电路单元以及存储器储存装置可以计算第一数据量以及第二数据量,并根据所计算出的第一数据量以及第二数据量动态地决定使用第一程序化模式或使用第二程序化模式来对记忆胞进行程序化,藉此可以避免以往在可复写式非易失性存储器模块的抹除次数高于门槛值后只能使用第二程序化模式而不能使用第一程序化模式来对记忆胞进行程序化的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。
图2是根据另一范例实施例所示的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。
图3是根据另一范例实施例所示的主机系统与存储器储存装置的示意图。
图4是根据一范例实施例所示的主机系统与存储器储存装置的概要方块图。
图5A与图5B是根据本范例实施例所示的记忆胞储存架构与物理抹除单元的范例示意图。
图6是根据一范例实施例所示的存储器控制电路单元的概要方块图。
图7与图8是根据一范例实施例所示的管理物理抹除单元的范例示意图。
图9是根据一范例实施例所示的数据写入方法的流程图。
符号说明:
10:存储器储存装置;
11:主机系统;
12:输入/输出(I/O)装置;
110:系统总线;
111:处理器;
112:随机存取存储器(RAM);
113:只读存储器(ROM);
114:数据传输接口;
20:主机板;
201:随身盘;
202:记忆卡;
203:固态硬盘;
204:无线存储器储存装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
30:存储器储存装置;
31:主机系统;
32:SD卡;
33:CF卡;
34:嵌入式储存装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装储存装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
410(0)~410(N):物理抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
602:数据区;
604:闲置区;
606:系统区;
608:取代区;
LBA(0)~LBA(H):逻辑区块地址;
LZ(0)~LZ(M):逻辑区域;
S901:根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对可复写式非易失性存储器模块的记忆胞进行程序化的步骤;
S903:使用第一程序化模式对可复写式非易失性存储器模块的记忆胞进行程序化的步骤;
S905:使用第二程序化模式对可复写式非易失性存储器模块的记忆胞进行程序化的步骤。
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图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可例如是近距离无线通讯(NearField 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包括嵌入式多媒体卡(embedded MMC,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 Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(UltraHigh 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具有物理抹除单元410(0)~410(N)。例如,物理抹除单元410(0)~410(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包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502或任何包含于存储器控制电路单元404中的电路元件的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
图7与图8是根据一范例实施例所示的管理物理抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的物理抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。
请参照图7,存储器控制电路单元404(或存储器管理电路502)会将物理抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。
逻辑上属于数据区602与闲置区604的物理抹除单元是用以储存来自于主机系统11的数据。具体来说,数据区602的物理抹除单元是被视为已储存数据的物理抹除单元,而闲置区604的物理抹除单元是用以替换数据区602的物理抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器控制电路单元404(或存储器管理电路502)会使用从闲置区604中提取物理抹除单元来写入数据,以替换数据区602的物理抹除单元。
逻辑上属于系统区606的物理抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。
逻辑上属于取代区608中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区608中仍存有正常的物理抹除单元并且数据区602的物理抹除单元损坏时,存储器控制电路单元404(或存储器管理电路502)会从取代区608中提取正常的物理抹除单元来更换损坏的物理抹除单元。
特别是,数据区602、闲置区604、系统区606与取代区608的物理抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置10的运作中,物理抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的物理抹除单元损坏而被取代区608的物理抹除单元取代时,则原本取代区608的物理抹除单元会被关联至闲置区604。
请参照图8,存储器控制电路单元404(或存储器管理电路502)会配置逻辑区块地址LBA(0)~LBA(H)以映射数据区602的物理抹除单元,其中每一逻辑区块地址具有多个逻辑地址以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统11欲写入数据至逻辑地址或更新储存于逻辑地址中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个物理抹除单元作为作动物理抹除单元来写入数据,以轮替数据区602的物理抹除单元。并且,当此作为作动物理抹除单元的物理抹除单元被写满时,存储器管理电路502会再从闲置区604中提取空的物理抹除单元作为作动物理抹除单元,以继续写入对应来自于主机系统11的写入指令的更新数据。此外,当闲置区604中可用的物理抹除单元的数目小于预设值时,存储器管理电路502会执行垃圾搜集(garbagecollection)操作(也称为,有效数据合并操作)来整理数据区602中的有效数据,以将数据区602中无储存有效数据的物理抹除单元重新关联至闲置区604。
为了识别每个逻辑地址的数据被储存在哪个物理程序化单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑地址与物理程序化单元之间的映射关系。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中储存逻辑-物理映射表来记录每一逻辑地址所映射的物理程序化单元。当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑-物理映射表载入至缓冲存储器508来维护,并且依据逻辑-物理映射表来写入或读取数据。
值得一提的是,由于缓冲存储器508的容量有限无法储存记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑区块地址LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑-物理映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑区块地址的映射时,对应此逻辑区块地址所属的逻辑区域的逻辑-物理映射表会被载入至缓冲存储器508来被更新。具体来说,若对应此逻辑区块地址所属的逻辑区域的逻辑-物理映射表未被暂存在缓冲存储器508中(即,缓冲存储器508中所暂存的逻辑-物理映射表未记录欲更新的逻辑区块地址的映射时,存储器控制电路单元404(或存储器管理电路502)会执行映射表交换操作(mapping table swapping operation)以将目前暂存在缓冲存储器508中逻辑-物理映射表回存至可复写式非易失性存储器模块406,并且将记录有欲更新的逻辑区块地址所映射的逻辑-物理映射表载入至缓冲存储器508中。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。记忆胞管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,记忆胞管理电路用以管理可复写式非易失性存储器模块406的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
请再参照图6,主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的暂存数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器储存装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。例如,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
值得一提的是,在本范例实施例中,存储器管理电路502会在不同的状态使用不同的程序化模式来将数据程序化至可复写式非易失性存储器模块406。例如,存储器管理电路502可使用单页程序化模式(也称为,第一程序化模式)或多页程序化模式(也称为,第二程序化模式)来将数据程序化至物理抹除单元。在此,基于单页程序化模式来程序化记忆胞的程序化速度会高于基于多页程序化模式来程序化记忆胞的程序化速度(即,使用多页程序化模式来程序化数据的所需操作时间大于使用单页程序化模式来程序化数据的所需操作时间),而基于单页程序化模式而被储存的数据的可靠度也往往高于基于多页程序化模式而被储存的数据的可靠度。单页程序化模式例如是单阶记忆胞(single layer memorycell,SLC)程序化模式、下物理程序化(lower physical programming)模式、混合程序化(mixture programming)模式及少阶记忆胞(less layer memory cell)程序化模式的其中之一。更详细来说,在单阶记忆胞模式中,一个记忆胞只储存一个比特的数据。在下物理程序化模式中,只有下物理程序化单元会被程序化,而此下物理程序化单元所对应的上物理程序化单元可不被程序化。在混合程序化模式中,有效数据(或,真实数据)会被程序化于下物理程序化单元中,而同时虚拟数据(dummy data)会被程序化至储存有效数据的下物理程序化单元所对应的上物理程序化单元中。在少阶记忆胞模式中,一个记忆胞储存一第一数目的比特的数据,例如,此第一数目可设为“1”。多页程序化模式例如是多阶记忆胞(MLC)程序化模式、三阶(TLC)记忆胞程序化模式或类似模式。在多页程序化模式中,一个记忆胞储存有一第二数目的比特的数据,其中此第二数目等于或大于“2”。例如,此第二数目可设为2或3。在另一范例实施例中,上述单页程序化模式中的第一数目与多页程序化模式中的第二数目皆可以是其他数目,只要满足第二数目大于第一数目即可。换句话说,构成第一类物理抹除单元的每一个记忆胞在使用单页程序化模式程序化后所储存的比特数据的数目(也即第一数目)会小于构成第二类物理抹除单元的每一个记忆胞在使用多页程序化模式程序化后所储存的比特数据的数目(也即第二数目)。
基于上述,使用多页程序化模式程序化的记忆胞所储存的数据比特数大于使用单页程序化模式程序化的记忆胞所储存的数据比特数,因此,使用多页程序化模式所程序化的物理抹除单元的数据容量会大于使用单页程序化模式。
在本发明的范例实施例中,当可复写式非易失性存储器模块406在刚出厂时,为了增加使用的效率,存储器管理电路502可以使用单页程序化模式来对可复写式非易失性存储器模块406中的记忆胞来程序化。特别是,在本发明的范例实施例中,存储器管理电路502会周期性地计算一“第一数据量”以及一“第二数据量”,并根据所计算出的第一数据量以及第二数据量动态地决定存储器管理电路502是否要从单页程序化模式切换为使用多页程序化模式来对可复写式非易失性存储器模块406中的记忆胞进行程序化。其中,“第一数据量”代表可复写式非易失性存储器模块406中目前可提供给主机系统11用于写入的数据量。“第二数据量”代表可复写式非易失性存储器模块406中剩余必须提供给主机系统11用于写入的数据量。
更详细来说,第一数据量的计算方式可以经由下述公式计算出:
其中,“FirstDataAmount”为前述的第一数据量。
“MaxEraseCount”为可复写式非易失性存储器模块406中多个物理抹除单元的最大平均抹除次数。更详细来说,最大平均抹除次数代表可复写式非易失性存储器模块406中单一个物理抹除单元可以被执行抹除的次数。当一个物理抹除单元的抹除次数超过此最大平均抹除次数时,代表该物理抹除单元中的记忆胞已达到一定程度的耗损,其已不再适合被用于程序化。此外,最大平均抹除次数通常是由可复写式非易失性存储器模块406的供应商提供。
“CurrentEraseCount”为可复写式非易失性存储器模块406中多个物理抹除单元的目前平均抹除次数。更详细来说,存储器管理电路502可以记录可复写式非易失性存储器模块406中各个物理抹除单元的抹除次数,并且对各个物理抹除单元的抹除次数加总后取平均,即可得到可复写式非易失性存储器模块406的目前平均抹除次数。
“DeviceSize”为可复写式非易失性存储器模块406实际的空间大小。换句话说,此空间大小为可复写式非易失性存储器模块406出厂时的总空间大小。
“WAF Value”为写入放大因子(Write Amplification Factor,WAF)数值,此数值是可复写式非易失性存储器模块406在出厂前,由可复写式非易失性存储器模块406的开发厂商对可复写式非易失性存储器模块406执行联合电子装置工程委员会(Joint ElectronDevice Engineering Council,JEDEC)所规范的测试操作后所获得。
也就是说,前述第一数据量是先计算出最大平均抹除次数与目前平均抹除次数的差值(也称为,第一数值)后,将此第一数值与空间大小相乘并且除以写入放大因子数值后所获得的商。
此外,第二数据量的计算方式可以经由下述公式计算出:
SecondDataAmount=MaxWriteAmount-CurrentWriteAmount
其中,“SecondDataAmount”为前述的第二数据量。
“MaxWriteAmount”为可复写式非易失性存储器模块406中预设可用于写入的最大数据量。
“CurrentWriteAmount”为所述可复写式非易失性存储器模块406中目前已写入的数据量(也称为,第三数据量)。也就是说,第三数据量指的是可复写式非易失性存储器模块406中目前所储存来自主机系统11的数据的数据量。
也就是说,前述第二数据量为可复写式非易失性存储器模块406中预设可用于写入的最大数据量与前述第三数据量的差值。
需注意的是,前述可复写式非易失性存储器模块406中预设可用于写入的最大数据量(即,前述的“MaxWriteAmount”)会不大于一第二数值,此第二数值的计算方式如下:
其中,“SecondValue”为前述的第二数值,而此第二数值为前述最大平均抹除次数(即,前述的“MaxEraseCount”)与前述的可复写式非易失性存储器模块406实际的空间大小(即,前述的“DeviceSize”)相乘后的乘积除以前述的写入放大因子数值(即,前述的“WAFValue”)后所获得的商。
在此需说明的是,第二数值是可复写式非易失性存储器模块406中实际可以用于写入的数据量,而可复写式非易失性存储器模块406中预设可用于写入的最大数据量(即,“MaxWriteAmount”)会小于或等于此第二数值。可复写式非易失性存储器模块406中预设可用于写入的最大数据量通常是由可复写式非易失性存储器模块406的提供商与购买者协商后所决定。
在计算出前述的第一数据量以及第二数据量后,存储器管理电路502会根据第一数据量以及第二数据量,判断使用单页程序化模式或多页程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。
更详细来说,当第一数据量大于第二数据量时,存储器管理电路502会使用单页程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。相反地,当第一数据量不大于第二数据量时,存储器管理电路502会使用多页程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。
此外,在另一实施例中,当第一数据量大于第二数据量且第一数据量与第二数据量的差值大于一门槛值时,存储器管理电路502会使用单页程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。而当第一数据量大于第二数据量且第一数据量与第二数据量的差值不大于所述门槛值时,存储器管理电路502会使用多页程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。需注意的是,本发明并不用于定义前述门槛值的数值。特别是,由于存储器管理电路502是周期性地计算第一数据量与第二数据量进而判断是否执行单页程序化模式与多页程序化模式的切换,使用该门槛值可以确保在一段时间内(即,存储器管理电路502执行两次判断之间的时间间隔)不会有第一数据量突然小于第二数据量的情形发生。
图9是根据一范例实施例所示的数据写入方法的流程图。
请参照图9,在步骤S901中,存储器管理电路502根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。其中,所述第一数据量为可复写式非易失性存储器模块406中目前可提供给主机系统11用于写入的数据量,所述第二数据量为可复写式非易失性存储器模块406中剩余必须提供给主机系统11用于写入的数据量。当第一数据量大于第二数据量时,在步骤S903中,存储器管理电路502使用第一程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。当第一数据量不大于第二数据量时,在步骤S905中,存储器管理电路502使用第二程序化模式对可复写式非易失性存储器模块406的记忆胞进行程序化。在执行完步骤S903或步骤S905后,可以返回执行步骤S901。
综上所述,本发明的数据写入方法、存储器控制电路单元以及存储器储存装置可以计算第一数据量以及第二数据量,并根据所计算出的第一数据量以及第二数据量动态地决定使用第一程序化模式或使用第二程序化模式来对记忆胞进行程序化,藉此可以避免以往在可复写式非易失性存储器模块的抹除次数高于门槛值后只能使用第二程序化模式而不能使用第一程序化模式来对记忆胞进行程序化的问题。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视所附的权利要求所界定者为准。
Claims (21)
1.一种数据写入方法,其特征在于,用于存储器储存装置,所述存储器储存装置具有可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞,所述数据写入方法包括:
根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,
其中所述第一数据量为在达到所述可复写式非易失性存储器模块的最大抹除次数前可写入的数据量,所述第二数据量为在判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化的步骤之后达到所述可复写式非易失性存储器模块的预设可用于写入的最大数据量为止执行写入操作期间所写入的数据量;
当所述第一数据量大于所述第二数据量时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及
当所述第一数据量不大于所述第二数据量时,使用所述第二程序化模式对所述多个记忆胞进行程序化,
其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
2.根据权利要求1所述的数据写入方法,其中判断使用所述第一程序化模式或所述第二程序化模式对所述多个记忆胞进行程序化的步骤包括:
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于门槛值时,使用所述第一程序化模式对所述多个记忆胞进行程序化;以及
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,使用所述第二程序化模式对所述多个记忆胞进行程序化。
3.根据权利要求1所述的数据写入方法,还包括:
根据所述多个物理抹除单元的最大平均抹除次数、所述多个物理抹除单元的目前平均抹除次数、所述可复写式非易失性存储器模块的空间大小以及写入放大因子数值计算所述第一数据量。
4.根据权利要求3所述的数据写入方法,其中所述第一数据量为第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
5.根据权利要求3所述的数据写入方法,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会所规范的测试操作后所获得。
6.根据权利要求3所述的数据写入方法,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的第三数据量的差值。
7.根据权利要求6所述的数据写入方法,其中所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
8.一种存储器控制电路单元,其特征在于,包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,
其中所述第一数据量为在达到所述可复写式非易失性存储器模块的最大抹除次数前可写入的数据量,所述第二数据量为在判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化的步骤之后达到所述可复写式非易失性存储器模块的预设可用于写入的最大数据量为止执行写入操作期间所写入的数据量,
其中当所述第一数据量大于所述第二数据量时,所述存储器管理电路还用以使用所述第一程序化模式对所述多个记忆胞进行程序化,
其中当所述第一数据量不大于所述第二数据量时,所述存储器管理电路还用以使用所述第二程序化模式对所述多个记忆胞进行程序化,
其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
9.根据权利要求8所述的存储器控制电路单元,其中在判断使用所述第一程序化模式或所述第二程序化模式对所述多个记忆胞进行程序化的运作中,
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于门槛值时,所述存储器管理电路还用以使用所述第一程序化模式对所述多个记忆胞进行程序化,以及
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,所述存储器管理电路还用以使用所述第二程序化模式对所述多个记忆胞进行程序化。
10.根据权利要求8所述的存储器控制电路单元,其中,
所述存储器管理电路还用以根据所述多个物理抹除单元的最大平均抹除次数、所述多个物理抹除单元的目前平均抹除次数、所述可复写式非易失性存储器模块的空间大小以及写入放大因子数值计算所述第一数据量。
11.根据权利要求10所述的存储器控制电路单元,其中所述第一数据量为第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
12.根据权利要求10所述的存储器控制电路单元,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会所规范的测试操作后所获得。
13.根据权利要求10所述的存储器控制电路单元,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的第三数据量的差值。
14.根据权利要求13所述的存储器控制电路单元,其中所述所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
15.一种存储器储存装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个物理抹除单元,所述多个物理抹除单元中的每一个物理抹除单元具有多个记忆胞;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以根据第一数据量以及第二数据量,判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化,
其中所述第一数据量为在达到所述可复写式非易失性存储器模块的最大抹除次数前可写入的数据量,所述第二数据量为在判断使用第一程序化模式或第二程序化模式对所述多个记忆胞进行程序化的步骤之后达到所述可复写式非易失性存储器模块的预设可用于写入的最大数据量为止执行写入操作期间所写入的数据量,
其中当所述第一数据量大于所述第二数据量时,所述存储器控制电路单元还用以使用所述第一程序化模式对所述多个记忆胞进行程序化,
其中当所述第一数据量不大于所述第二数据量时,所述存储器控制电路单元还用以使用所述第二程序化模式对所述多个记忆胞进行程序化,
其中以所述第一程序化模式所程序化的记忆胞的储存比特数小于以所述第二程序化模式所程序化的记忆胞的储存比特数。
16.根据权利要求15所述的存储器储存装置,其中在判断使用所述第一程序化模式或所述第二程序化模式对所述多个记忆胞进行程序化的运作中,
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值大于门槛值时,所述存储器控制电路单元还用以使用所述第一程序化模式对所述多个记忆胞进行程序化,以及
当所述第一数据量大于所述第二数据量且所述第一数据量与所述第二数据量的差值不大于所述门槛值时,所述存储器控制电路单元还用以使用所述第二程序化模式对所述多个记忆胞进行程序化。
17.根据权利要求15所述的存储器储存装置,其中,
所述存储器控制电路单元还用以根据所述多个物理抹除单元的最大平均抹除次数、所述多个物理抹除单元的目前平均抹除次数、所述可复写式非易失性存储器模块的空间大小以及写入放大因子数值计算所述第一数据量。
18.根据权利要求17所述的存储器储存装置,其中所述第一数据量为第一数值与所述空间大小的乘积除以所述写入放大因子数值后所获得的商,其中所述第一数值为所述最大平均抹除次数与所述目前平均抹除次数的差值。
19.根据权利要求17所述的存储器储存装置,其中所述写入放大因子数值是经由对所述可复写式非易失性存储器模块执行联合电子装置工程委员会所规范的测试操作后所获得。
20.根据权利要求17所述的存储器储存装置,其中所述第二数据量为所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量与所述所述可复写式非易失性存储器模块中目前已写入的一第三数据量的差值。
21.根据权利要求20所述的存储器储存装置,其中所述所述可复写式非易失性存储器模块中预设可用于写入的所述最大数据量不大于第二数值,所述第二数值为所述最大平均抹除次数与所述空间大小的乘积除以所述写入放大因子数值后所获得的商。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810412993.1A CN110442299B (zh) | 2018-05-03 | 2018-05-03 | 数据写入方法、存储器控制电路单元以及存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810412993.1A CN110442299B (zh) | 2018-05-03 | 2018-05-03 | 数据写入方法、存储器控制电路单元以及存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442299A CN110442299A (zh) | 2019-11-12 |
CN110442299B true CN110442299B (zh) | 2022-12-13 |
Family
ID=68427741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810412993.1A Active CN110442299B (zh) | 2018-05-03 | 2018-05-03 | 数据写入方法、存储器控制电路单元以及存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442299B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515230B (zh) * | 2020-04-10 | 2023-11-14 | 宏碁股份有限公司 | 数据写入方法及存储控制器 |
CN111583976B (zh) * | 2020-05-11 | 2022-09-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI554885B (zh) * | 2015-08-18 | 2016-10-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN107132989A (zh) * | 2016-02-26 | 2017-09-05 | 群联电子股份有限公司 | 数据程序化方法、内存控制电路单元及内存储存装置 |
TW201740385A (zh) * | 2016-05-13 | 2017-11-16 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN107845394A (zh) * | 2016-09-19 | 2018-03-27 | 三星电子株式会社 | 存储装置及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077810A (ja) * | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
CN101911207B (zh) * | 2008-01-16 | 2014-05-07 | 富士通株式会社 | 半导体存储装置、控制装置、控制方法 |
KR101662827B1 (ko) * | 2010-07-02 | 2016-10-06 | 삼성전자주식회사 | 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
US9563371B2 (en) * | 2013-07-26 | 2017-02-07 | Globalfoundreis Inc. | Self-adjusting phase change memory storage module |
TWI622923B (zh) * | 2016-05-04 | 2018-05-01 | 群聯電子股份有限公司 | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI597730B (zh) * | 2016-06-17 | 2017-09-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
-
2018
- 2018-05-03 CN CN201810412993.1A patent/CN110442299B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI554885B (zh) * | 2015-08-18 | 2016-10-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN107132989A (zh) * | 2016-02-26 | 2017-09-05 | 群联电子股份有限公司 | 数据程序化方法、内存控制电路单元及内存储存装置 |
TW201740385A (zh) * | 2016-05-13 | 2017-11-16 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN107845394A (zh) * | 2016-09-19 | 2018-03-27 | 三星电子株式会社 | 存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110442299A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940189B2 (en) | Method and system for data rebuilding and memory control circuit unit thereof | |
TWI700635B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN107402716B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US10235094B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20170242597A1 (en) | Wear leveling method, memory control circuit unit and memory storage device | |
CN107357520B (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN107346211B (zh) | 映射表加载方法、存储器控制电路单元与存储器储存装置 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107045890B (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN113138720B (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
TWI791981B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN112860193A (zh) | 整理指令处理方法、存储器控制电路单元与存储装置 | |
US10203886B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US11609822B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN107132989B (zh) | 数据程序化方法、存储器控制电路单元及存储器存储装置 | |
CN113504880A (zh) | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 | |
CN110442300B (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 |