CN103699491A - 数据储存方法、存储器控制器与存储器储存装置 - Google Patents
数据储存方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103699491A CN103699491A CN201210368020.5A CN201210368020A CN103699491A CN 103699491 A CN103699491 A CN 103699491A CN 201210368020 A CN201210368020 A CN 201210368020A CN 103699491 A CN103699491 A CN 103699491A
- Authority
- CN
- China
- Prior art keywords
- physics
- unit
- data
- physics programming
- programming unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种数据储存方法,用于具有闪存模块的存储器储存装置。本方法包括通过温度感测器检测存储器储存装置的运作温度,并且判断存储器储存装置的运作温度是否大于预设温度。本方法还包括,倘若存储器储存装置的运作温度非大于预设温度时,采用第一数据储存模式来存取闪存模块,并且倘若存储器储存装置的运作温度大于预设温度时,采用第二数据储存模式来存取闪存模块,其中第一数据储存模式不同于第二数据储存模式。基此,本方法可确保数据的正确储存。
Description
技术领域
本发明是有关于一种用于闪存模块的数据储存方法以及使用此方法的存储器控制器与存储器储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本型计算机。固态硬盘就是一种以闪存作为储存媒体的储存装置。因此,近年闪存产业成为电子产业中相当热门的一环。
依据每个存储单元可储存的位数,与非(NAND)型闪存可区分为单阶储存单元(Single Level Cell,SLC)NAND型闪存、多阶储存单元(Multi Level Cell,MLC)NAND型闪存与多阶储存单元(Trinary Level Cell,TLC)NAND型闪存,其中SLC NAND型闪存的每个存储单元可储存1个位的数据(即,“1”与“0”),MLC NAND型闪存的每个存储单元可储存2个位的数据并且TLC NAND型闪存的每个存储单元可储存3个位的数据。
在NAND型闪存中,物理页面是由排列在同一条字线上的数个存储单元所组成。由于SLC NAND型闪存的每个存储单元可储存1个位的数据,因此,在SLC NAND型闪存中,排列在同一条字线上的数个存储单元是对应一个物理页面。
相对于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 page),并且由此些存储单元的MSB所组成的物理页面称为上物理页面(upper physical page)。特别是,下物理页面的写入速度会快于上物理页面的写入速度,并且当编程上物理页面发生错误时,下物理页面所储存的数据亦可能因此遗失。
类似地,在TLC NAND型闪存中,的每个存储单元可储存3个位的数据,其中每一个储存状态(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”与“000”)包括每一个储存状态包括左侧算起的第1个位的LSB、从左侧算起的第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起的第3个位的MSB。因此,排列在同一条字线上的数个存储单元可组成3个物理页面,其中由此些存储单元的LSB所组成的物理页面称为下物理页面,由此些存储单元的CSB所组成的物理页面称为中物理页面,并且由此些存储单元的MSB所组成的物理页面称为上物理页面。特别是,对排列在同一条字线上的数个存储单元进行编程时,仅能选择仅编程下物理页面或者同时编程下物理页面、中物理页面与上物理页面,否则所储存的数据可能会遗失。
然而,无论是那种存储单元闪存模块,在对同一个物理区块所储存的数据进行多次读取时,例如十万至百万次间的读取次数,很有可能会发生所读取的数据是错误的状况,甚至此被多次读取区块内所储存的数据会发生异常或遗失。而此类现象以本领域技术人员惯称为『读取干扰』(read-disturb)。特别是,闪存模块中会储存闪存储存***的***数据(例如固件码(FirmwareCode)、文件配置表(File Allocat ion Table,FAT),且此***数据会在闪存储存***运作期间高频率地被读取。也亦因有着这样的现象存在着,无不驱使着各家厂商必须发展出能确保正确储存数据的机制。
发明内容
本发明提供一种数据储存方法、存储器控制器与存储器储存装置,其能够可靠地储存数据,避免数据遗失。
本发明范例实施例提出一种数据储存方法,用于具有闪存模块的存储器储存装置。此闪存模块具有多个物理抹除单元,且每一所述多个物理抹除单元具有多个物理编程单元。本数据储存方法包括通过温度感测器检测存储器储存装置的运作温度,并且判断存储器储存装置的运作温度是否大于预设温度。本数据储存方法还包括,倘若存储器储存装置的运作温度非大于预设温度时,采用第一数据储存模式来存取闪存模块,并且倘若存储器储存装置的运作温度大于预设温度时,采用第二数据储存模式来存取闪存模块,其中第一数据储存模式不同于第二数据储存模式。
在本发明的一范例实施例中,上述的数据储存方法还包括将第一数据写入至第一物理编程单元;从该第一物理编程单元中读取第一数据并校正所读取的第一数据;并且识别发生在从该第一物理编程单元中所读取的该第一数据中的错误位的数目。上述采用第二数据处理模式来存取闪存模块的步骤包括:判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第二数目且小于第一数目;倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第二数目且小于第一数目时,将校正后的第一数据写入至第二物理编程单元并且将映射第一物理编程单元的逻辑地址重新映射至第二物理编程单元。上述采用第一数据储存模式来存取闪存模块的步骤包括:判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第一数目;倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第一数目时,将校正后的第一数据写入至第三物理编程单元,其中该第二数目小于该第一数目。
在本发明的一范例实施例中,上述的每一多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至下物理编程单元的速度大于将数据写入至上物理编程单元的速度。上述采用第一数据储存模式来存取闪存模块的步骤包括:从主机***接收第二数据并且将第二数据写入至第一物理抹除单元中,其中在第一数据储存写入模式中,第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据。上述采用第二数据储存模式来存取闪存模块的步骤包括:从该主机***接收该第二数据并且将第二数据写入至第二物理抹除单元中,其中在第二数据储存模式中,第二物理抹除单元的下物理编程单元会被使用来写入数据且第二物理抹除单元的上物理编程单元不会被用来写入数据。
在本发明的一范例实施例中,上述的采用第一数据储存模式来存取闪存模块的步骤包括:依据第一频率来执行平均磨损运作并且采用第二数据储存模式来存取闪存模块的步骤包括:依据第二频率来执行平均磨损运作。其中,平均磨损运作包括:从上述物理抹除单元之中选择第三物理抹除单元,其中第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至第三物理抹除单元的物理编程单元。此外,平均磨损运作还包括;从上述物理抹除单元之中选择第四物理抹除单元,其中第四物理抹除单元未被写入数据。再者,平均磨损运作还包括:将储存在第三物理抹除单元中的数据搬移至第四物理抹除单元,并且将原先映射至第三物理抹除单元的逻辑地址重新映射至第四物理抹除单元的物理编程单元,其中第四物理抹除单元的抹除次数大于第三物理抹除单元的抹除次数。
在本发明的一范例实施例中,上述的第一频率大于第二频率。
在本发明的一范例实施例中,上述的第二频率大于第一频率。
在本发明的一范例实施例中,上述采用第一数据储存模式来存取闪存模块的步骤包括:依据第三频率来执行第一预防读取干扰运作,并且上述其中采用第二数据储存模式来存取闪存模块的步骤包括:依据第四频率来执行第二预防读取干扰运作,其中第四频率大于第三频率。上述第一预防读取干扰运作包括:从第三物理编程单元中读取第二数据并且校正此第二数据;判断该第三物理编程单元中所读取的第二数据中的错误位的数目是否超过第三数目;以及倘若从第三物理编程单元中所读取的第二数据中的错误位的数目超过第三数目时,将校正后的第二数据写入至第四物理编程单元并且将映射第三物理编程单元的逻辑地址重新映射至第四物理编程单元。上述第二预防读取干扰运作包括:从第五物理编程单元中读取第三数据并且校正此第三数据;判断从第五物理编程单元中所读取的第三数据中的错误位的数目是否超过第四数目;以及倘若从第五物理编程单元中所读取的第三数据中的错误位的数目超过第四数目时,将校正后的第三数据写入至第六物理编程单元并且将映射第五物理编程单元的逻辑地址重新映射至第六物理编程单元。
本发明范例实施例提出一种存储器控制器,用于控制存储器储存装置,此存储器储存装置包括闪存模块,闪存模块具有多个物理抹除单元,每一物理抹除单元具有多个物理编程单元。此存储器控制器包括主机接口、存储器接口、错误检查与校正电路与存储器管理电路。主机接口用以电性连接至主机***。存储器接口,用以电性连接至闪存模块。存储器管理电路电性连接至主机接口、存储器接口与错误检查与校正电路。存储器管理电路用以通过温度感测器检测存储器储存装置的运作温度,并且判断存储器储存装置的运作温度是否大于预设温度。其中倘若存储器储存装置的运作温度非大于预设温度时,存储器管理电路还用以采用一第一数据储存模式来存取闪存模块,并且倘若存储器储存装置的运作温度大于预设温度时,存储器管理电路还用以采用第二数据储存模式来存取闪存模块,其中第一数据处理模式不同于第二数据处理模式。
在本发明的一范例实施例中,上述的存储器管理电路还用以将第一数据写入至第一物理编程单元。另外,存储器管理电路还用以从第一物理编程单元中读取第一数据并错误检查与校正电路校正所读取的第一数据。此外,存储器管理电路还用以识别发生在从第一物理编程单元中所读取的第一数据中的错误位的数目。在第二数据处理模式中,存储器管理电路判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第二数目且小于第一数目,并且倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第二数目且小于第一数目时,将校正后的第一数据写入至第二物理编程单元并且将映射第一物理编程单元的逻辑地址重新映射至第二物理编程单元。在第一数据储存模式中,存储器管理电路判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第一数目,并且倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第一数目时,将校正后的第一数据写入至第三物理编程单元并且将映射第一物理编程单元的逻辑地址重新映射至第三物理编程单元,其中第二数目小于第一数目。
在本发明的一范例实施例中,上述的每一多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至下物理编程单元的速度大于将数据写入至上物理编程单元的速度。此外,在该第一数据储存模式中,上述存储器管理电路从主机***中接收第二数据并且将第二数据写入至第一物理抹除单元中,其中在第一数据储存模式中第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据。再者,在第二数据储存模式中,存储器管理电路从主机***中接收第二数据并且将第二数据写入至第二物理抹除单元中,其中在第二数据储存模式中第二物理抹除单元的下物理编程单元会被使用来写入数据且第二物理抹除单元的上物理编程单元不会被用来写入数据。
在本发明的一范例实施例中,在该第一数据储存模式中,上述存储器管理电路会依据第一频率来执行平均磨损运作;并且在该第二数据储存模式中,存储器管理电路会依据第二频率来执行平均磨损运作。其中,在此平均磨损运作中,存储器管理电路会从上述物理抹除单元之中选择第三物理抹除单元,其中第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至第三物理抹除单元的物理编程单元。此外,在此平均磨损运作中,存储器管理电路会从所述物理抹除单元之中选择第四物理抹除单元,其中第四物理抹除单元未被写入数据。再者,在此平均磨损运作中,存储器管理电路会将储存在第三物理抹除单元中的数据搬移至第四物理抹除单元并且将映射至第三物理抹除单元的物理编程单元的逻辑地址重新映射至该第四物理抹除单元的物理编程单元。
在本发明的一范例实施例中,在该第一数据储存模式中,存储器管理电路依据第三频率来执行第一预防读取干扰运作;并且在该第二数据储存模式中,存储器管理电路依据第四频率来执行第二预防读取干扰运作,其中第四频率大于第三频率。其中,在第一预防读取干扰运作中,存储器管理电路从所述多个物理抹除单元的所述多个物理编程单元之中的第三物理编程单元中读取第二数据,校正所读取的第二数据并且判断从第三物理编程单元中所读取的第二数据中的错误位的数目是否超过第三数目。倘若从第三物理编程单元中所读取的第二数据中的错误位的数目超过第三数目时,存储器管理电路将校正后的第二数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的第四物理编程单元并且将映射第三物理编程单元的逻辑地址重新映射至第四物理编程单元。在第二预防读取干扰运作中,存储器管理电路从所述多个物理抹除单元的所述多个物理编程单元之中的第五物理编程单元中读取第三数据,校正第三数据,并且判断从第五物理编程单元中所读取的第三数据中的错误位的数目是否超过第四数目。倘若从第五物理编程单元中所读取的第三数据中的错误位的数目超过第四数目时,存储器管理电路将校正后的第三数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的第六物理编程单元并且将映射第五物理编程单元的逻辑地址重新映射至第六物理编程单元。
本发明范例实施例提出一种存储器储存装置,其包括连接器、闪存模块、温度感测器与存储器控制器。连接器用以电性连接至主机***。闪存模块具有多个物理抹除单元,每一物理抹除单元具有多个物理编程单元。存储器控制器电性连接至连接器与闪存模块。温度感测器电性连接至存储器控制器并且用以感测一运作温度。在此,存储器控制器用以判断存储器储存装置的运作温度是否大于预设温度。其中倘若运作温度非大于预设温度时,存储器管理电路还用以采用一第一数据储存模式来存取闪存模块,并且倘若闪存储存装置的运作温度大于预设温度时,存储器管理电路还用以采用第二数据储存模式来存取闪存模块,其中第一数据处理模式不同于第二数据处理模式。
在本发明的一范例实施例中,上述的存储器控制器还用以将第一数据写入至第一物理编程单元。另外,存储器控制器还用以从第一物理编程单元中读取第一数据并错误检查与校正电路校正所读取的第一数据。此外,存储器控制器还用以识别发生在从第一物理编程单元中所读取的第一数据中的错误位的数目。在第二数据处理模式中,存储器控制器判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第二数目且小于第一数目,并且倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第二数目且小于第一数目时,将校正后的第一数据写入至第二物理编程单元并且将映射第一物理编程单元的逻辑地址重新映射至第二物理编程单元。在第一数据储存模式中,存储器控制器判断从第一物理编程单元中读取的第一数据中的错误位的数目是否超过第一数目,并且倘若从第一物理编程单元中读取的第一数据中的错误位的数目超过第一数目时,将校正后的第一数据写入至第三物理编程单元并且将映射第一物理编程单元的逻辑地址重新映射至第三物理编程单元,其中第二数目小于第一数目。
在本发明的一范例实施例中,上述的每一多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至下物理编程单元的速度大于将数据写入至上物理编程单元的速度。在该第一数据储存模式中,上述存储器控制器从主机***中接收第二数据并且将第二数据写入至第一物理抹除单元中,其中在第一数据储存模式中第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据。再者,在第二数据储存模式中,存储器控制器从主机***中接收第二数据并且将第二数据写入至第二物理抹除单元中,其中在第二数据储存模式中第二物理抹除单元的下物理编程单元会被使用来写入数据且第二物理抹除单元的上物理编程单元不会被用来写入数据。
在本发明的一范例实施例中,在该第一数据储存模式中,上述存储器控制器会依据第一频率来执行平均磨损运作;并且在该第二数据储存模式中,存储器控制器会依据第二频率来执行平均磨损运作。其中,在此平均磨损运作中,存储器控制器会从上述物理抹除单元之中选择第三物理抹除单元,其中第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至第三物理抹除单元的物理编程单元。此外,在此平均磨损运作中,存储器控制器会从所述物理抹除单元之中选择第四物理抹除单元,其中第四物理抹除单元未被写入数据。再者,在此平均磨损运作中,存储器控制器会将储存在第三物理抹除单元中的数据搬移至第四物理抹除单元并且将映射至第三物理抹除单元的物理编程单元的逻辑地址重新映射至该第四物理抹除单元的物理编程单元。
在本发明的一范例实施例中,在该第一数据储存模式中,存储器控制器还用以依据第三频率来执行第一预防读取干扰运作;并且在该第二数据储存模式中,存储器控制器还用以依据第四频率来执行第二预防读取干扰运作,其中第四频率大于第三频率。其中,在第一预防读取干扰运作中,存储器控制器从所述多个物理抹除单元的所述多个物理编程单元之中的第三物理编程单元中读取第二数据,校正所读取的第二数据并且判断从第三物理编程单元中所读取的第二数据中的错误位的数目是否超过第三数目。倘若从第三物理编程单元中所读取的第二数据中的错误位的数目超过第三数目时,存储器控制器将校正后的第二数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的第四物理编程单元并且将映射第三物理编程单元的逻辑地址重新映射至第四物理编程单元。在第二预防读取干扰运作中,存储器控制器从所述多个物理抹除单元的所述多个物理编程单元之中的第五物理编程单元中读取第三数据,校正第三数据,并且判断从第五物理编程单元中所读取的第三数据中的错误位的数目是否超过第四数目。倘若从第五物理编程单元中所读取的第三数据中的错误位的数目超过第四数目时,存储器控制器将校正后的第三数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的第六物理编程单元并且将映射第五物理编程单元的逻辑地址重新映射至第六物理编程单元。
基于上述,本发明数据储存方法、存储器控制器与存储器储存装置,其能够根据存储器储存装置的温度使用适当的储存方式来储存数据,以避免数据遗失。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的数据储存方法的流程图。
图1B是根据一范例实施例所绘示的主机***与存储器储存装置。
图2是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图3是根据一范例实施例所绘示的主机***与存储器储存装置的示意图。
图4是绘示图1所示的存储器储存装置的概要方块图。
图5是根据一范例实施例所绘示的存储器控制器的概要方块图。
图6与图7是根据一范例实施例所绘示的管理闪存模块的范例示意图。
图8是根据本发明范例实施例绘示逻辑地址转物理编程单元映射表的范例。
图9~图11是根据本发明范例实施例所绘示执行写入运作而更新逻辑地址-物理地址映射表的一范例。
图12是根据第一范例实施例所绘示的数据储存方法的流程图。
图13~图15是根据本发明范例实施例所绘示以第二模式进行写入运作而更新逻辑地址-物理地址映射表的一范例。
图16是根据第二范例实施例所绘示的数据储存方法的流程图。
图17是根据第三范例实施例所绘示的数据储存方法的流程图。
图18是根据第四范例实施例所绘示的数据储存方法的流程图。
[主要元件标号说明]
S1、S3、S5、S7:数据储存方法的步骤
1000:主机*** 1100:计算机
1102:微处理器 1104:随机存取存储器
1106:输入/输出装置 1108:***总线
1110:数据传输接口 1202:鼠标
1204:键盘 1206:显示器
1252:打印机 1256:随身盘
1214:存储卡 1216:固态硬盘
1310:数字相机 1312:SD卡
1314:MMC卡 1316:存储棒
1318:CF卡 1320:嵌入式储存装置
100:存储器储存装置 102:连接器
104:存储器控制器 106:闪存模块
304(0)~304(R):物理抹除单元 202:存储器管理电路
206:存储器接口 252:缓冲存储器
254:电源管理电路 256:错误检查与校正电路
402:储存区 412:数据区
414:闲置区 404:***区
406:取代区 LSA(0)~LSA(L):扇区
LBA(0)~LBA(H):逻辑地址
PBA(0-1)~PBA(N-K):物理编程单元
800:逻辑地址-物理地址映射表 802:逻辑地址字段
804:物理地址字段
S1201、S1203、S1205、S1207、S1209、S 1211、S1213、S1215、S1217、S1219、S1221:数据储存方法的步骤
S1601、S1603、S1605、S1607:数据储存方法的步骤
S1701、S1703、S1705:数据储存方法的步骤
S1801、S1803、S1805:数据储存方法的步骤
具体实施方式
为了能够确保在存储器储存装置中正确地储存数据,本发明范例实施例所提出的数据储存方法会通过温度感测器检测存储器储存装置的运作温度(S1),并且判断闪存储存装置的运作温度是否大于预设温度(S3)。倘若闪存储存装置的运作温度非大于预设温度时,第一数据储存模式会被用来存取闪存模块(S5);倘若闪存储存装置的运作温度大于预设温度时,第二数据储存模式会被用来存取闪存模块(S7),其中第一数据储存模式是不同于第二数据储存模式并且闪存储存装置的控制器的频率速度于第一数据储存模式及第二数据储存模式时相同。为了能够更明了本发明,以下将以数个范例实施例来进行说明。
[第一范例实施例]
一般而言,存储器储存装置(亦称,存储器储存***)包括闪存模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机***一起使用,以使主机***可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1B是根据第一范例实施例所绘示的主机***与存储器储存装置。
请参照图1B,主机***1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、***总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1252。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机***1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图2所示的随身盘1256、存储卡1214或固态硬盘(Solid State Drive,SSD)1216等的存储器储存装置。
一般而言,主机***1000为可实质地与存储器储存装置100配合以储存数据的任意***。虽然在本范例实施例中,主机***1000是以计算机***来作说明,然而,在本发明另一范例实施例中主机***1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等***。例如,在主机***为数字相机(摄影机)1310时,存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图3所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机***的基板上。
图4是根据第一范例实施例所绘示的存储器储存装置的概要方块图。
请参照图4,存储器储存装置100包括连接器102、存储器控制器104、闪存模块106与温度感测器(thermal sensor)108。
在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electricaland Electronic Engineers,IEEE)1394标准、高速***零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(UniversalFlash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Electronics,IDE)标准或其它适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机***1000的指令在闪存模块106中进行数据的写入、读取与抹除等运作。
闪存模块106是电性连接至存储器控制器104,并且用以储存主机***1000所写入的数据。闪存模块106具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理编程单元,并且属于同一个物理抹除单元的物理编程单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元亦可由64个物理编程单元、256个物理编程单元或其它任意个物理编程单元所组成。
更详细来说,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理编程单元为编程的最小单元。即,物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理存取地址用以储存使用者的数据,而冗余位区用以储存***的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理编程单元的数据位区中会包含4个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其它范例实施例中,数据位区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理抹除单元为物理区块,并且物理编程单元为物理页面或物理扇区,但本发明不以此为限。
在本范例实施例中,闪存模块106为多阶储存单元(Multi Level Cell,MLC)NAND闪存模块,即一个存储单元中可储存至少2个位数据。然而,本发明不限于此,闪存模块106亦可是单阶储存单元(Single Level Cell,SLC)NAND型闪存、多阶储存单元(Trinary Level Cell,TLC)NAND型闪存模块、其它闪存模块或其它具有相同特性的存储器模块。
温度感测器108电性连接至存储器控制器104并且用以感测存储器储存装置100的运作温度。具体来说,存储器储存装置100在运作时,其电子元件会产生热能而导致存储器储存装置100的运作温度上升。在本范例实施例中,温度感测器108会将关于目前的运作温度的信息传送给存储器控制器104。例如,温度感测器108会周期地将关于目前的运作温度的信息传送给存储器控制器104或者根据存储器控制器104的询问消息将关于目前的运作温度的信息传送给存储器控制器104。
图5是根据一范例实施例所绘示的存储器控制器的概要方块图。必须了解的是,图5所示的存储器控制器的结构仅为一范例,本发明不以此为限。
请参照图5,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于闪存模块106的特定区域(例如,存储器模块中专用于存放***数据的***区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于闪存模块106中的控制指令加载至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理闪存模块106的物理抹除单元;存储器写入电路用以对闪存模块106下达写入指令以将数据写入至闪存模块106中;存储器读取电路用以对闪存模块106下达读取指令以从闪存模块106中读取数据;存储器抹除电路用以对闪存模块106下达抹除指令以将数据从闪存模块106中抹除;而数据处理电路用以处理欲写入至闪存模块106的数据以及从闪存模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机***1000所传送的指令与数据。也就是说,主机***1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I接口标准、UHS-II接口标准、MS标准、MMC标准、eMMC接口标准、UFS接口标准、CF标准、IDE标准或其它适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取闪存模块106。也就是说,欲写入至闪存模块106的数据会经由存储器接口206转换为闪存模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254以及错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机***1000的数据与指令或来自于闪存模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。在本范例实施例中,当存储器管理电路202从主机***1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorChecking and Correcting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至闪存模块106中。之后,当存储器管理电路202从闪存模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。具体来说,错误检查与校正电路256会被设计能够校正一数目的错误位(以下称为最大可校正错误位数)。例如,最大可校正错误位数为48。倘若发生在所读取的数据的错误位的数目非大于48个时,错误检查与校正电路256就能够依据错误校正码将错误位校正回正确的值。反之,错误检查与校正电路256就会回报错误校正失败且存储器管理电路202会将指示数据已遗失的消息传送给主机***1000。
图6与图7是根据一范例实施例所绘示的管理闪存模块的范例示意图。
必须了解的是,在此描述闪存模块106的物理抹除单元的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理抹除单元是逻辑上的概念。也就是说,闪存模块的物理抹除单元的实际位置并未更动,而是逻辑上对闪存模块的物理抹除单元进行操作。
请参照图6,存储器控制器104(或存储器管理电路202)会将闪存模块106的物理抹除单元304(0)~304(R)逻辑地分组为储存区402、***区404与取代区406。
逻辑上属于储存区402的物理抹除单元是用以储存主机***1000所写入的数据。也就是说,存储器储存装置100会使用分组为储存区402的物理抹除单元来实际地储存主机***1000所写入的数据。更详细来说,存储器控制器104(或存储器管理电路202)会将储存区402分组为数据区412与闲置区414,其中数据区412的物理抹除单元(亦称为数据物理抹除单元)是已储存数据的物理抹除单元,而闲置区414的物理抹除单元(亦称为闲置物理抹除单元)是用以替换数据区412的物理抹除单元。因此,闲置区414的物理抹除单元为空或可使用的物理抹除单元,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区414中的物理抹除单元已被执行抹除运作,或者当闲置区414中的物理抹除单元被提取用于储存数据之前所提取的物理抹除单元会被执行抹除运作。因此,闲置区414的物理抹除单元为可被使用的物理抹除单元。具体来说,当一个物理抹除单元从闲置区414中被选择来储存有效数据时,此物理抹除单元会被关联至数据区412。并且,存储器控制器104(或存储器管理电路202)会对在数据区412中所有物理编程单元所储存的数据皆为无效数据的物理抹除单元执行抹除操作,并且将抹除后的物理抹除单元关联至闲置区414,由此物理抹除单元可轮替地来储存主机***1000所写入的数据。
逻辑上属于***区404的物理抹除单元是用以记录***数据,其中此***数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理编程单元数等。
逻辑上属于取代区406中的物理抹除单元是替代物理抹除单元。例如,闪存模块106于出厂时会预留4%的物理抹除单元作为更换使用。也就是说,当数据区412、闲置区414与***区404中的物理抹除单元损毁时,预留于取代区406中的物理抹除单元是用以取代损坏的物理抹除单元(即,坏物理抹除单元(bad block))。因此,倘若取代区406中仍存有正常的物理抹除单元且发生物理抹除单元损毁时,存储器控制器104会从取代区406中提取正常的物理抹除单元来更换损毁的物理抹除单元。倘若取代区406中无正常的物理抹除单元且发生物理抹除单元损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,储存区402、***区404与取代区406的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理抹除单元关联至储存区402、***区404与取代区406的分组关系会动态地变动。例如,当储存区402中的物理抹除单元损坏而被取代区406的物理抹除单元取代时,则原本取代区406的物理抹除单元会被关联至储存区402。
请参照图7,如上所述,数据区412与闲置区414的物理抹除单元是以轮替方式来储存主机***1000所写入的数据。在本范例实施例中,存储器控制器104(或存储器管理电路202)会配置逻辑地址LBA(0)~LBA(H)给主机***1000以进行数据的存取。
每个逻辑地址是由数个扇区(sector)所组成。例如,在本范例实施例中,每一逻辑地址是由4个扇区所组成,例如,扇区LSA(0)~LSA(3)是属于逻辑地址LBA(0);扇区LSA(4)~LSA(7)是属于逻辑地址LBA(1);扇区LSA(8)~LSA(11)是属于逻辑地址LBA(2)...等。但本发明不限于此,在本发明另一范例实施例中,逻辑地址亦可是由8个扇区所组成或是由16个扇区所组成。
例如,存储器控制器104(或存储器管理电路202)会维护逻辑地址-物理地址映射表来记录逻辑地址与物理编程单元之间的映射关系。也就是说,当主机***1000欲在扇区中存取数据时,存储器控制器104(或存储器管理电路202)会确认此扇区所属的逻辑地址,并且在此逻辑地址所映射的物理编程单元中来存取数据。
例如,当存储器控制器104(或存储器管理电路202)开始使用物理抹除单元304(0)来储存主机***1000欲写入的数据(即,物理抹除单元304(0)从闲置区414中被提取并关联至数据区412)时,不管主机***1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据依序地写入至物理抹除单元304(0)的物理编程单元;而当存储器控制器104(或存储器管理电路202)开始使用物理抹除单元304(1)来储存主机***1000欲写入的数据(即,物理抹除单元304(1)从闲置区414中被提取并关联至数据区412)时,不管主机***1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据依序地写入至物理抹除单元304(1)的物理编程单元中。也就是说,当写入主机***1000欲写入的数据时,存储器控制器104(或存储器管理电路202)会依序地使用一个物理抹除单元内的物理编程单元来写入数据,并且当此物理抹除单元内的物理编程单元被使用完后才会再选择另一个无储存数据的物理抹除单元(即,从闲置区414中提取一个物理抹除单元),并且在新选择的物理抹除单元的物理编程单元中继续依序地写入数据。在本范例实施例中,在存储器控制器104(或存储器管理电路202)将数据写入至物理编程单元后,存储器控制器104(或存储器管理电路202)会更新逻辑地址-物理地址映射表以正确地记录逻辑地址与物理编程单元的映射关系。
图8是根据本发明范例实施例绘示逻辑地址-物理编程单元映射表的范例。
请参照图8,逻辑地址-物理地址映射表800包括逻辑地址字段802以及物理地址字段804。逻辑地址字段802记录所配置的每个逻辑地址的编号并且物理地址字段804记录每个逻辑地址映射的物理编程单元。在存储器储存装置100为全新且未曾被用来储存数据的状态下,物理抹除单元304(0)~304(N)会被关联至闲置区414,并且在逻辑地址-物理地址映射表800中记录对应每一个逻辑地址所映射的物理程序单元的字段会被标记为空值(例如,NULL)。
图9~图11是根据本发明范例实施例所绘示执行写入运作而更新逻辑地址-物理地址映射表的一范例。
请参照图9,倘若在图8所示的状态下主机***1000欲储存数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会从闲置区414选择一个物理抹除单元(例如,物理抹除单元304(0))并且将主机***1000欲写入的数据写入至物理编程单元PBA(0-1)。在完成数据的写入后,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(1)映射至物理编程单元PBA(0-1)。
请参照图10,倘若在图9的状态下主机***1000欲储存数据至逻辑地址LBA(129)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的数据写入至物理编程单元PBA(0-2)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(129)映射至物理编程单元PBA(0-2)。
请参照图11,倘若在图10的状态下主机***1000欲储存数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的数据写入至物理编程单元PBA(0-3)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(1)映射至物理编程单元PBA(0-3)。
如上所述,在从物理编程单元中读取数据时,存储器控制器104(或错误检查与校正电路256)会根据对应的错误检查与校正码来判断所读取的数据是否存有错误位并且尝试对错误位进行错误校正。特别是,在错误位的数目小于最大可校正错误位数的状态下,除了将错误位进行校正之外,存储器控制器104(或存储器管理电路202)还会识别发在所读取的数据上的错误位的数目并且根据温度感测器108的信号识别目前存储器储存装置100的运作温度,以决定是否搬移数据。
例如,在如图11所示的储存状态下,主机***1000欲读取储存于逻辑地址LBA(1)中的数据时,存储器控制器104(或存储器管理电路202)会从物理编程单元PBA(0-3)读取数据并且识别从第一物理编程单元所读取的数据的错误位与目前存储器储存装置100的运作温度。倘若发生在所读取的数据上的错误位的数目大于第一数目并且目前存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)会在将所读取的数据上的错误位校正后将校正后的数据写入至下一个空的物理编程单元(例如,物理编程单元PBA(0-4))并且将逻辑地址LBA(1)重新映射至物理编程单元PBA(0-4)。倘若发在所读取的数据上的错误位的数目非大于第一数目但大于第二数目并且目前存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)会在将所读取的数据上的错误位校正后将校正后的数据写入至下一个空的物理编程单元(,例如,物理编程单元PBA(0-4))并且将逻辑地址LBA(1)重新映射至物理编程单元PBA(0-4)。在此,第一数目是大于第二数目,例如,在最大可校正错误位数为48的例子中,第一数目为40并且第二数目为20。
具体来说,当发生在所读取的数据上的错误位的数目大于第一数目且非大于最大可校正错误位数时,虽然错误位可被校正,但数据的错误程度太高,因此,数据很可能在数次读取后就会遗失。在本范例实施例中,存储器控制器104(或存储器管理电路202)会将校正后的数据重新储存至另一个物理编程单元,以避免数据遗失。特别是,在存储器储存装置100的运作温度大于预设温度时,闪存模块106的稳定度会下降,因此,在发生在所读取的数据上的错误位的数目非大于第一数目且已大于第二数目时,存储器控制器104(或存储器管理电路202)亦会将校正后的数据重新储存至另一个物理编程单元,以避免数据遗失。在此,将校正后的数据重新储存至另一个物理编程单元并且重新调整逻辑地址与物理地址之间的映射关系的运作称为“预防读取干扰(read disturb)运作”。相对地,倘若发生在所读取的数据上的错误位的数目非大于第二数目时,不管存储器储存装置100的运作温度大于预设温度,存储器控制器104(或存储器管理电路202)不会执行上述预防读取干扰运作。例如,在本范例实施例中,预设温度被设定为70,但本发明不限于此。也就是说,在存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)是比较所读取的数据上的错误位的数目与第一数目来决定是否执行预防读取干扰运作(在第一范例实施例中,此亦称为第一数据储存模式);并且在存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)是比较所读取的数据上的错误位的数目与第二数目来决定是否执行预防读取干扰运作(在第一范例实施例中,此亦称为第二数据储存模式)。其中值得说明的是,在本范例实施例中,第一数据储存模式与第二数据储存模式是可以在实施条件满足时,对经过另一数据储存模式处理过的数据,再以其储存模式进行再处理。
图12是根据第一范例实施例所绘示的数据储存方法的流程图。
请参照图12,当从主机***1000中接收到欲存取第一逻辑地址的读取指令时,在步骤S1201中,存储器控制器104(或存储器管理电路202)会从映射第一逻辑地址的第一物理编程单元中读取数据(以下称为第一数据)。
在步骤S1203中,存储器控制器104(或存储器管理电路202)会判断发生在第一数据中的错误位的数目是否大于最大可校正错误位数。具体来说,存储器控制器104(或错误检查与校正电路256)会根据对应的错误检查与校正码来判断第一数据是否存有错误位并且尝试对错误位进行校正,由此识别第一数据内的错误位的数目。
倘若发生在第一数据中的错误位的数目大于最大可校正错误位数时,在步骤S1205中,存储器控制器104(或存储器管理电路202)会传送错误消息给主机***1000。之后,图12的流程会被终止。
倘若发生在第一数据中的错误位的数目非大于最大可校正错误位数时,在步骤S1207中,存储器控制器104(或存储器管理电路202)会将校正后的第一数据传送给主机***1000。之后,在步骤S1209中,存储器控制器104(或存储器管理电路202)会判断发生在第一数据中的错误位的数目是否大于第一数目。
倘若发生在从第一物理编程单元中读取的第一数据中的错误位的数目大于第一数目时,在步骤S1211中,存储器控制器104(或存储器管理电路202)会将校正后的第一数据写入至第三物理编程单元。然后,在步骤S1213中,将第一逻辑地址重新映射至第三物理编程单元。例如,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址表中记录第一逻辑地址重新映射至第三物理编程单元的信息。
倘若发生在从第一物理编程单元中读取的第一数据中的错误位的数目非大于第一数目时,在步骤S1215中,存储器控制器104(或存储器管理电路202)会判断目前存储器储存装置100的运作温度是否大于预设温度。倘若目前存储器储存装置100的运作温度非大于预设温度时,则图12的流程会被终止。
倘若目前存储器储存装置100的运作温度大于预设温度时,在步骤S1217中,存储器控制器104(或存储器管理电路202)会判断发生在第一数据中的错误位的数目是否大于第二数目。
倘若发生在第一数据中的错误位的数目大于第二数目时,在步骤S1219中,存储器控制器104(或存储器管理电路202)会将校正后的第一数据写入至第二物理编程单元。然后,在步骤S1221中,将第一逻辑地址重新映射至第二物理编程单元。在图12的流程中,第二物理编程单元可以是相同或不同于第三物理编程单元。
倘若发生在第一数据中的错误位的数目非大于第二数目时,则图12的流程会被终止。
[第二范例实施例]
第二范例实施例的存储器储存装置的结构与第一范例实施例的存储器储存装置是类似,其不同之处在于第二范例实施例的存储器控制器(或存储器管理电路)会根据存储器储存装置的运作温度以不同的写入模式来写入数据。以下将使用第一范例实施例的元件标号来说明第二范例实施例的差异之处。
在第二范例实施例中,闪存模块106为MLC NAND型闪存模块,并每个物理抹除单元的物理编程单元依据其存取速度可被区分为下物理编程单元(亦称为快速物理编程单元)与上物理编程单元(亦称为慢速物理编程单元)。例如,物理抹除单元304(0)的物理编程单元PBA(0-1)、PBA(0-3)、PBA(0-5)…PBA(0-(K-1))为下物理编程单元,而物理编程单元PBA(0-2)、PAB(0-4)、PBA(0-6)…PBA(K)为上物理编程单元,其中K为偶整数。然而,必须了解的是,在本发明另一范例实施例中,闪存模块106亦可为TLC NAND型闪存模块或其它多阶存储单元闪存芯片。例如,闪存模块106为TLC NAND型闪存模块,并每个物理抹除单元的物理编程单元依据其存取速度可被区分为下物理编程单元(亦称为快速物理编程单元)、中物理编程单元(亦称为中速物理编程单元)与上物理编程单元(亦称为慢速物理编程单元)。
特别是,当欲将数据写入至物理编程单元时,存储器控制器104(或存储器管理电路202)会判断存储器储存装置100的运作温度。倘若存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)会以第一数据储存模式来将此数据写入至闪存模块106;并且倘若存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)会以第二数据储存模式来将页数据写入至闪存模块106。例如,在本范例实施例中,预设温度可被设定为70,但本发明不限于此。
在第二范例实施例中的在第一数据储存模式中,存储器控制器104(或存储器管理电路202)会使用下物理编程单元与上物理编程单元来储存主机***1000欲写入的数据,而在第二数据储存模式中,存储器控制器104(或存储器管理电路202)会使用下物理编程单元来储存主机***1000欲写入的数据,而不使用上物理编程单元来储存数据。也就是说,在第一数据储存模式中,闪存模块106的下物理编程单元与上物理编程单元都会被选择来储存数据,而在第二数据储存模式中仅下物理编程单元会被选择来储存数据。特别是,下物理编程单元与上物理编程单元之间具有耦合效应,即当上物理编程单元发生异常时,对应的下物理编程单元亦可能产生错误。因此,以第二数据储存模式所写入的数据的可靠度会高于以第一数据储存模式所写入的数据。
值得一提的是,本发明不限于此MLC NAND型闪存模块,在TLC NAND型闪存模块的例子中,在上述第一数据储存模式中,存储器控制器104(或存储器管理电路202)会使用下物理编程单元、中物理编程单元与上物理编程单元来储存主机***1000欲写入的数据,而在上述第二数据储存模式中,存储器控制器104(或存储器管理电路202)会使用下物理编程单元来储存主机***1000欲写入的数据,而不使用中物理编程单元与上物理编程单元来储存数据。
使用下物理编程单元与上物理编程单元来储存数据(即,第一数据储存模式)的机制已描述于第一范例实施例的图9~11中,在此不再重复描述。
图13~图15是根据本发明范例实施例所绘示以第二模式进行写入运作而更新逻辑地址-物理地址映射表的一范例。
请参照图13,倘若在图8所示的状态下主机***1000欲写入页数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会从闲置区414选择一个物理抹除单元(例如,物理抹除单元304(0))并且将主机***1000欲写入的页数据写入至物理编程单元PBA(0-1)。在完成数据的写入后,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(1)映射至物理编程单元PBA(0-1)。
请参照图14,倘若在图13的状态下主机***1000欲写入页数据至逻辑地址LBA(129)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的页数据写入至物理编程单元PBA(0-3)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(129)映射至物理编程单元PBA(0-3)。
请参照图15,倘若在图14的状态下主机***1000欲写入页数据至逻辑地址LBA(1)时,存储器控制器104(或存储器管理电路202)会将主机***1000欲写入的页数据写入至物理编程单元PBA(0-5)中。此时,存储器控制器104(或存储器管理电路202)会在逻辑地址-物理地址映射表800中将逻辑地址LBA(1)映射至物理编程单元PBA(0-5)。
在图13~15的写入运作中,存储器控制器104(或存储器管理电路202)是选择下物理编程单元(即,物理编程单元PBA(0-1)、物理编程单元PBA(0-3)、物理编程单元PBA(0-5))来写入页数据,而不会使用上物理编程单元(即,第二数据储存模式)。
图16是根据第二范例实施例所绘示的数据储存方法的流程图。
请参照图16,在步骤S1601中,存储器控制器104(或存储器管理电路202)接收欲储存的数据(以下称为第二数据)。
在步骤S1603中,存储器控制器104(或存储器管理电路202)会判断目前存储器储存装置100的运作温度是否大于预设温度。具体来说,存储器控制器104(或存储器管理电路202)会根据温度感测器108所传送的信号来识别目前存储器储存装置100的运作温度。
倘若目前存储器储存装置100的运作温度非大于预设温度时,则在步骤S1605中,存储器控制器104(或存储器管理电路202)会使用第一数据储存模式来将第二数据写入至第一物理抹除单元(例如,物理抹除单元304(0)),其中第一物理抹除单元的下物理编程单元与上物理编程单元皆会被用来储存数据。
倘若目前存储器储存装置100的运作温度大于预设温度时,则在步骤S1607中,存储器控制器104(或存储器管理电路202)会使用第二数据储存模式来将第二数据写入至第二物理抹除单元(例如,物理抹除单元304(1))。在第二数据储存模式中,存储器控制器104(或存储器管理电路202)会使用第二物理抹除单元的下物理编程单元来储存数据,但不会使用上物理编程单元来储存数据。
[第三范例实施例]
第三范例实施例的存储器储存装置的结构与第一范例实施例的存储器储存装置是类似,其不同之处在于第三范例实施例的存储器控制器(或存储器管理电路)会根据存储器储存装置的运作温度以不同的频率来执行平均磨损运作。以下将使用第一范例实施例的元件标号来说明第三范例实施例的差异之处。
一般来说,经常在数据区412与闲置区414之间轮替的物理抹除单元称为动态物理区块。另外,在数据区412中往往有一些数据写入后就长时间未曾更动。例如,当使用者储存100首喜爱的MP3歌曲后就不曾再去删除或更新。储存此类数据的物理区块一般称为静态物理抹除单元。静态物理抹除单元中的数据由于很少更动或更新,因此其抹除次数会相对低(即,磨损程度较低)。在本范例实施中,存储器控制器104(或存储器管理电路202)会在数据区412与闲置区414之间执行物理编程单元交换的操作,以使得数据区412中较少轮替的物理抹除单元有机会进行轮替,由此有效地平均物理抹除单元的磨损。在此,将数据区412的物理抹除单元与闲置区414的物理抹除单元进行交换的运作称为平均磨损运作。
例如,在平均磨损运作中,存储器控制器104(或存储器管理电路202)会从属于数据区412的物理抹除单元中选择具有最小抹除次数的物理抹除单元(例如,物理抹除单元304(0));从属于闲置区414的物理抹除单元中选择具有最大抹除次数的物理抹除单元(例如,物理抹除单元304(D+1));将储存在物理抹除单元304(0)中的数据搬移至物理抹除单元304(D+1);并且将原先映射物理抹除单元304(0)的物理编程单元的逻辑地址重新映射至物理抹除单元304(D+1)的物理编程单元。
一般来说,存储器控制器104(或存储器管理电路202)会记录闪存模块106被执行抹除运作的次数。每当执行抹除运作的次数达到预设门坎值时,存储器控制器104(或存储器管理电路202)会执行上述平均磨损运作。例如,每当执行1000次抹除运作时,存储器控制器104(或存储器管理电路202)会执行一次平均磨损运作。
特别是,在第三范例实施例中,存储器控制器104(或存储器管理电路202)会判断存储器储存装置100的运作温度。倘若存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)会以第一频率来执行平均磨损运作(即,每当执行抹除运作的次数达到预设门坎值时执行一次平均磨损运作)。倘若存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)会以第二频率来执行平均磨损运作(即,每当执行抹除运作的次数达到另一个门坎值时执行一次平均磨损运作)。在第三范例实施例中,以第一频率来执行平均磨损运作亦称为第一数据储存模式;并且以第二频率来执行平均磨损运作亦称为第二数据储存模式。在本范例实施例中,第一频率是小于第二频率。例如,第二频率是指每当执行500次抹除运作时,存储器控制器104(或存储器管理电路202)会执行一次平均磨损运作。然而,必须了解的是,本发明不限于此,在本发明另一范例实施例中,第二频率亦可是小于第一频率。
图17是根据第三范例实施例所绘示的数据储存方法的流程图。
请参照图17,在步骤S1701中,存储器控制器104(或存储器管理电路202)会判断目前存储器储存装置100的运作温度是否大于预设温度。具体来说,存储器控制器104(或存储器管理电路202)会根据温度感测器108所传送的信号来识别目前存储器储存装置100的运作温度。
倘若目前存储器储存装置100的运作温度非大于预设温度时,则在步骤S1703中,存储器控制器104(或存储器管理电路202)会根据第一频率来执行平均磨损运作。
倘若目前存储器储存装置100的运作温度大于预设温度时,则在步骤S1705中,存储器控制器104(或存储器管理电路202)会根据第二频率来执行平均磨损运作。
例如,每次执行平均磨损运作时,存储器控制器104(或存储器管理电路202)会从闪存模块106的物理抹除单元之中选择一个已写入数据的物理抹除单元(以下称为第三物理抹除单元)并且从闪存模块106的物理抹除单元之中选择一个未被写入数据的物理抹除单元(以下称为第四物理抹除单元),其中第四物理抹除单元的抹除次数大于第三物理抹除单元的抹除次数。之后,存储器控制器104(或存储器管理电路202)会将储存在第三物理抹除单元中的数据搬移至第四物理抹除单元,并且将原先映射至第三物理抹除单元的逻辑地址重新映射至第四物理抹除单元的物理编程单元。
[第四范例实施例]
第四范例实施例的存储器储存装置的结构与第一范例实施例的存储器储存装置是类似,其不同之处在于第一范例实施例的存储器控制器(或存储器管理电路)是在执行读取指令时,一并执行预防读取干扰运作,而在第四范例中存储器控制器(或存储器管理电路)更会根据存储器储存装置的运作温度以不同周期来预防读取干扰运作。
在本范例实施例中,存储器控制器104(或存储器管理电路202)会在存储器储存装置100每运作一段时间后,执行预防读取干扰运作。特别是,在存储器储存装置100的运作温度大于预设温度时,闪存模块106的稳定度会下降。因此,在本范例实施例中,当存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)会更频繁地执行预防读取干扰运作。
例如,存储器控制器104(或存储器管理电路202)会监控存储器储存装置100的运作温度。倘若存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)会以第三频率来执行预防读取干扰运作。倘若存储器储存装置100的运作温度大于预设温度时,存储器控制器104(或存储器管理电路202)会以第四频率来执行预防读取干扰运作。在本范例实施例中,第四频率是大于第三频率。例如,第三频率是指存储器储存装置100每运作1小时,则执行一次预防读取干扰运作,而第三频率是指存储器储存装置100每运作0.5小时,则执行一次预防读取干扰运作,但本发明不限于此。特别是,在另一范例实施例中,倘若存储器储存装置100的运作温度非大于预设温度时,存储器控制器104(或存储器管理电路202)亦可不周期地执行预防读取干扰运作(即,第三频率被设为0)。在第四范例实施例中,以第三频率来执行预防读取干扰运作亦称为第一数据储存模式;并且以第四频率来执行预防读取干扰运作亦称为第二数据储存模式。
图18是根据第四范例实施例所绘示的数据储存方法的流程图。
请参照图18,在步骤S1801中,存储器控制器104(或存储器管理电路202)会判断目前存储器储存装置100的运作温度是否大于预设温度。具体来说,存储器控制器104(或存储器管理电路202)会根据温度感测器108所传送的信号来识别目前存储器储存装置100的运作温度。
倘若目前存储器储存装置100的运作温度非大于预设温度时,则在步骤S1803中,存储器控制器104(或存储器管理电路202)会根据第三频率来执行第一预防读取干扰运作。
例如,在步骤S1803中,当执行第一预防读取干扰运作时,存储器控制器104(或存储器管理电路202)会从已储存数据的物理编程单元之中的一个物理编程单元(以下称为第三物理编程单元)中读取数据(以下称为第二数据),并且判断第二数据中的错误位的数目是否超过第三数目。倘若从第三物理编程单元中所读取的该数据中的错误位的数目超过第三数目时,存储器控制器104(或存储器管理电路202)会将校正后的第二数据写入至未储存数据的物理编程单元(以下称为第四物理编程单元)并且将原先映射至第三物理编程单元的逻辑地址重新映射至第四物理编程单元。
倘若目前存储器储存装置100的运作温度大于预设温度时,则在步骤S1805中,存储器控制器104(或存储器管理电路202)会根据第四频率来执行第二预防读取干扰运作。
例如,在步骤S1805中,当执行第二预防读取干扰运作时,存储器控制器104(或存储器管理电路202)会从已储存数据的物理编程单元之中的一个物理编程单元(以下称为第五物理编程单元)中读取数据(以下称为第三数据),并且判断第三数据中的错误位的数目是否超过第四数目。倘若从第五物理编程单元中所读取的该数据中的错误位的数目超过第四数目时,存储器控制器104(或存储器管理电路202)会将校正后的第三数据写入至未储存数据的物理编程单元(以下称为第六物理编程单元)并且将原先映射至第五物理编程单元的逻辑地址重新映射至第六物理编程单元。
在此,第三数目是大于第四数目,例如,在最大可校正错误位数为48的例子中,第三数目为40并且第四数目为20。
值得一提的是,尽管上述是以多个范例实施例来描述多种根据存储器储存装置的运作温度而设计的运作。然而,此些运作机制的至少其中两个亦可同时一起实作。
综上所述,本发明范例实施例的数据储存方法、存储器控制器与存储器储存装置能够根据不同的温度使用适当的储存方式来储存数据,用以增加数据储存的稳定性,以避免数据遗失。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (21)
1.一种数据储存方法,用于具有一闪存模块的一存储器储存装置,该闪存模块具有多个物理抹除单元,每一所述多个物理抹除单元具有多个物理编程单元,该数据储存方法包括:
通过一温度感测器检测该存储器储存装置的一运作温度;
判断该闪存储存装置的运作温度是否大于一预设温度;
倘若该闪存储存装置的运作温度非大于该预设温度时,采用一第一数据储存模式来存取该闪存模块;以及
倘若该闪存储存装置的运作温度大于该预设温度时,采用一第二数据储存模式来存取该闪存模块,其中该第一数据储存模式不同于该第二数据储存模式。
2.根据权利要求1所述的数据储存方法,还包括:
将一第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第一物理编程单元;
从该第一物理编程单元中读取该第一数据并校正所读取的该第一数据;以及
识别发生在从该第一物理编程单元中所读取的该第一数据中的错误位的数目,
其中采用该第二数据处理模式来存取该闪存模块的步骤包括:
判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过一第二数目且小于一第一数目;
倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第二数目且小于该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第二物理编程单元并且将映射该第一物理编程单元的一逻辑地址重新映射至该第二物理编程单元,
其中采用该第一数据储存模式来存取该闪存模块的步骤包括:
判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过该第一数目;
倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元并且将映射该第一物理编程单元的逻辑地址重新映射至该第三物理编程单元,
其中该第二数目小于该第一数目。
3.根据权利要求1所述的数据储存方法,其中每一所述多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至所述多个下物理编程单元的速度大于将数据写入至所述多个上物理编程单元的速度,
其中采用该第一数据储存模式来存取该闪存模块的步骤包括:从一主机***接收一第二数据并且将该第二数据写入至所述物理抹除单元之中的一第一物理抹除单元中,其中在该第一数据储存模式中该第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据,
其中采用该第二数据储存模式来存取该闪存模块的步骤包括:从该主机***接收该第二数据并且将该第二数据写入至所述物理抹除单元之中的一第二物理抹除单元中,其中在该第二数据储存模式中所述第二物理抹除单元的下物理编程单元会被使用来写入数据且所述第二物理抹除单元的上物理编程单元不会被用来写入数据。
4.根据权利要求1所述的数据储存方法,
其中采用该第一数据储存模式来存取该闪存模块的步骤包括:依据一第一频率来执行一平均磨损运作,并且采用该第二数据储存模式来存取该闪存模块的步骤包括:依据一第二频率来执行该平均磨损运作,
其中该平均磨损运作包括:
从所述物理抹除单元之中选择一第三物理抹除单元,其中该第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至该第三物理抹除单元的物理编程单元;
从所述物理抹除单元之中选择一第四物理抹除单元,其中该第四物理抹除单元未被写入数据;以及
将储存在该第三物理抹除单元中的数据搬移至该第四物理抹除单元,并且将该些逻辑地址重新映射至该第四物理抹除单元的物理编程单元,其中该第四物理抹除单元的一抹除次数大于该第三物理抹除单元的一抹除次数。
5.根据权利要求4所述的数据储存方法,其中该第一频率大于该第二频率。
6.根据权利要求4所述的数据储存方法,其中该第二频率大于该第一频率。
7.根据权利要求1所述的数据储存方法,
其中采用该第一数据储存模式来存取该闪存模块的步骤包括:依据一第三频率来执行一第一预防读取干扰运作,
其中采用该第二数据储存模式来存取该闪存模块的步骤包括:依据一第四频率来执行一第二预防读取干扰运作,
其中该第四频率大于该第三频率,
其中该第一预防读取干扰运作包括:
从所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元中读取一第二数据并且校正该第二数据;
判断从该第三物理编程单元中所读取的该第二数据中的错误位的数目是否超过一第三数目;以及
倘若从该第三物理编程单元中所读取的该第二数据中的错误位的数目超过该第三数目时,将校正后的该第二数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第四物理编程单元并且将映射该第三物理编程单元的逻辑地址重新映射至该第四物理编程单元,
其中该第二预防读取干扰运作包括:
从所述多个物理抹除单元的所述多个物理编程单元之中的一第五物理编程单元中读取一第三数据并且校正该第三数据;
判断从该第五物理编程单元中所读取的该第三数据中的错误位的数目是否超过一第四数目;以及
倘若从该第五物理编程单元中所读取的该第三数据中的错误位的数目超过该第四数目时,将校正后的该第三数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第六物理编程单元并且将映射该第五物理编程单元的逻辑地址重新映射至该第六物理编程单元。
8.一种存储器控制器,用于控制一存储器储存装置,该存储器储存装置包括一闪存模块,该闪存模块具有多个物理抹除单元,每一物理抹除单元具有多个物理编程单元,该存储器控制器包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至该闪存模块;
一错误检查与校正电路;以及
一存储器管理电路,电性连接至该主机接口、该存储器接口与该错误检查与校正电路,
其中该存储器管理电路用以通过一温度感测器检测该存储器储存装置的一运作温度,并且判断该闪存储存装置的运作温度是否大于一预设温度,
其中倘若该闪存储存装置的运作温度非大于该预设温度时,该存储器管理电路还用以采用一第一数据储存模式来存取该闪存模块,
其中倘若该闪存储存装置的运作温度大于该预设温度时,该存储器管理电路还用以采用一第二数据储存模式来存取该闪存模块,其中该第一数据处理模式不同于该第二数据处理模式。
9.根据权利要求8所述的存储器控制器,其中该存储器管理电路还用以将一第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第一物理编程单元,
其中该存储器管理电路还用以从该第一物理编程单元中读取该第一数据并该错误检查与校正电路校正所读取的该第一数据,
其中该存储器管理电路还用以识别发生在从该第一物理编程单元中所读取的该第一数据中的错误位的数目,
其中在该第二数据处理模式中,该存储器管理电路判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过一第二数目且小于一第一数目,并且倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第二数目且小于该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第二物理编程单元并且将映射该第一物理编程单元的一逻辑地址重新映射至该第二物理编程单元,
在该第一数据储存模式中,该存储器管理电路判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过该第一数目,并且倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元并且将映射该第一物理编程单元的逻辑地址重新映射至该第三物理编程单元,
其中该第二数目小于该第一数目。
10.根据权利要求8所述的存储器控制器,其中每一所述多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至所述多个下物理编程单元的速度大于将数据写入至所述多个上物理编程单元的速度,
其中在该第一数据储存模式中,该存储器管理电路还用以从一主机***中接收一第二数据,并且将该第二数据写入至所述物理抹除单元之中的一第一物理抹除单元中,其中在该第一数据储存模式中该第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据,
其中在该第二数据储存模式中,该存储器管理电路从该主机***接收该第二数据并且将该第二数据写入至所述物理抹除单元之中的一第二物理抹除单元中,其中在该第二数据储存模式中所述第二物理抹除单元的下物理编程单元会被使用来写入数据且所述第二物理抹除单元的上物理编程单元不会被用来写入数据。
11.根据权利要求8所述的存储器控制器,其中在该第一数据储存模式中,该存储器管理电路依据一第一频率来执行一平均磨损运作,
其中在该第二数据储存模式中,该存储器管理电路依据一第二频率来执行该平均磨损运作,
其中在该平均磨损运作中,该存储器管理电路从所述物理抹除单元之中选择一第三物理抹除单元,其中该第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至该第三物理抹除单元的物理编程单元,
其中在该平均磨损运作中,该存储器管理电路从所述物理抹除单元之中选择一第四物理抹除单元,其中该第四物理抹除单元未被写入数据,
其中在该平均磨损运作中,该存储器管理电路将储存在该第三物理抹除单元中的数据搬移至该第四物理抹除单元,其中该第四物理抹除单元的一抹除次数大于该第三物理抹除单元的一抹除次数,
其中在该平均磨损运作中,该存储器管理电路将该些逻辑地址重新映射至该第四物理抹除单元的物理编程单元。
12.根据权利要求11所述的存储器控制器,其中该第一频率大于该第二频率。
13.根据权利要求11所述的存储器控制器,其中该第二频率大于该第一频率。
14.根据权利要求8所述的存储器控制器,其中在该第一数据储存模式中,该存储器管理电路依据一第三频率来执行一预防读取干扰运作,
其中在该第二数据储存模式中,该存储器管理电路依据一第四频率来执行该预防读取干扰运作,其中该第四频率大于该第三频率,
其中在该第一预防读取干扰运作中,该存储器管理电路从所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元中读取一第二数据,校正所读取的该第二数据并且判断从该第三物理编程单元中所读取的该第二数据中的错误位的数目是否超过一第三数目,
其中在该第一预防读取干扰运作中,倘若从该第三物理编程单元中所读取的该第二数据中的错误位的数目超过该第三数目时,该存储器管理电路将校正后的该第二数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第四物理编程单元并且将映射该第三物理编程单元的逻辑地址重新映射至该第四物理编程单元,
其中在该第二预防读取干扰运作中,该存储器管理电路从所述多个物理抹除单元的所述多个物理编程单元之中的一第五物理编程单元中读取一第三数据,校正所读取的该第三数据,并且判断从该第五物理编程单元中所读取的该第三数据中的错误位的数目是否超过一第四数目,
其中在该第二预防读取干扰运作中,倘若从该第五物理编程单元中所读取的该第三数据中的错误位的数目超过该第四数目时,该存储器管理电路将校正后的该第三数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第六物理编程单元并且将映射该第五物理编程单元的逻辑地址重新映射至该第六物理编程单元。
15.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机***;
一闪存模块,具有多个物理抹除单元,且每一物理抹除单元具有多个物理编程单元;
一存储器控制器,电性连接至该连接器与该闪存模块;以及
一温度感测器,电性连接至该存储器控制器,且用以感测一运作温度,
其中该存储器控制器用以判断该运作温度是否大于一预设温度,
其中倘若该运作温度大于该预设温度时,该存储器控制器采用一第一数据储存模式来存取该闪存模块,
其中倘若该闪存储存装置的运作温度大于该预设温度时,该存储器控制器还用以采用一第二数据储存模式来存取该闪存模块,其中该第一数据处理模式不同于该第二数据处理模式。
16.根据权利要求15所述的存储器储存装置,其中该存储器控制器还用以将一第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第一物理编程单元,
其中该存储器控制器还用以从该第一物理编程单元中读取该第一数据并该错误检查与校正电路校正所读取的该第一数据,
其中该存储器控制器还用以识别发生在从该第一物理编程单元中所读取的该第一数据中的错误位的数目,
其中在该第二数据处理模式中,该存储器控制器判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过一第二数目且小于一第一数目,并且倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第二数目且小于该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第二物理编程单元并且将映射该第一物理编程单元的一逻辑地址重新映射至该第二物理编程单元,
其中在该第一数据处理模式中,该存储器控制器判断从该第一物理编程单元中读取的该第一数据中的错误位的数目是否超过该第一数目,并且倘若从该第一物理编程单元中读取的该第一数据中的错误位的数目超过该第一数目时,将校正后的该第一数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元并且将映射该第一物理编程单元的逻辑地址重新映射至该第三物理编程单元,
其中该第二数目小于该第一数目。
17.根据权利要求15所述的存储器储存装置,其中每一所述多个物理抹除单元的物理编程单元包括多个下物理编程单元与多个上物理编程单元并且将数据写入至所述多个下物理编程单元的速度大于将数据写入至所述多个上物理编程单元的速度,
其中在该第一数据储存模式中,该存储器控制器还用以从一主机***中接收一第二数据,并且将该第二数据写入至所述物理抹除单元之中的一第一物理抹除单元中,其中在该第一数据储存模式中该第一物理抹除单元的下物理编程单元与上物理编程单元会被用来写入数据,
其中在该第二数据储存模式中,该存储器控制器从该主机***接收该第二数据并且将该第二数据写入至所述物理抹除单元之中的一第二物理抹除单元中,其中在该第二数据储存模式中所述第二物理抹除单元的下物理编程单元会被使用来写入数据且所述第二物理抹除单元的上物理编程单元不会被用来写入数据。
18.根据权利要求15所述的存储器储存装置,其中在该第一数据储存模式中,该存储器控制器依据一第一频率来执行一平均磨损运作,
其中在该第二数据储存模式中,该存储器控制器依据一第二频率来执行该平均磨损运作,
其中在该平均磨损运作中,该存储器控制器从所述物理抹除单元之中选择一第三物理抹除单元,其中该第三物理抹除单元已被写入数据并且多个逻辑地址分别地映射至该第三物理抹除单元的物理编程单元,
其中在该平均磨损运作中,该存储器控制器从所述物理抹除单元之中选择一第四物理抹除单元,其中该第四物理抹除单元未被写入数据,
其中在该平均磨损运作中,该存储器控制器将储存在该第三物理抹除单元中的数据搬移至该第四物理抹除单元,其中该第四物理抹除单元的一抹除次数大于该第三物理抹除单元的一抹除次数,
其中在该平均磨损运作中,该存储器控制器将该些逻辑地址重新映射至该第四物理抹除单元的物理编程单元。
19.根据权利要求18所述的存储器储存装置,其中该第一频率大于该第二频率。
20.根据权利要求18所述的存储器储存装置,其中该第二频率大于该第一频率。
21.根据权利要求15所述的存储器储存装置,其中在该第一数据储存模式中,该存储器控制器还用以依据一第三频率来执行一预防读取干扰运作,
其中在该第二数据储存模式中,该存储器控制器还用以依据一第四频率来执行该预防读取干扰运作,其中该第四频率大于该第三频率,
其中在该第一预防读取干扰运作中,该存储器控制器从所述多个物理抹除单元的所述多个物理编程单元之中的一第三物理编程单元中读取一第二数据并且判断从该第三物理编程单元中所读取的该第二数据中的错误位的数目是否超过一第三数目,
其中在该第一预防读取干扰运作中,倘若从该第三物理编程单元中所读取的该第二数据中的错误位的数目超过该第三数目时,该存储器控制器将校正后的该第二数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第四物理编程单元并且将映射该第三物理编程单元的逻辑地址重新映射至该第四物理编程单元,
其中在该第二预防读取干扰运作中,该存储器控制器从所述多个物理抹除单元的所述多个物理编程单元之中的一第五物理编程单元中读取一第三数据,校正所读取的该第三数据,并且判断从该第五物理编程单元中所读取的该第三数据中的错误位的数目是否超过一第四数目,
其中在该第二预防读取干扰运作中,倘若从该第五物理编程单元中所读取的该第三数据中的错误位的数目超过该第四数目时,该存储器控制器将校正后的该第三数据写入至所述多个物理抹除单元的所述多个物理编程单元之中的一第六物理编程单元并且将映射该第五物理编程单元的逻辑地址重新映射至该第六物理编程单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210368020.5A CN103699491B (zh) | 2012-09-28 | 2012-09-28 | 数据储存方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210368020.5A CN103699491B (zh) | 2012-09-28 | 2012-09-28 | 数据储存方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699491A true CN103699491A (zh) | 2014-04-02 |
CN103699491B CN103699491B (zh) | 2017-05-10 |
Family
ID=50361027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210368020.5A Active CN103699491B (zh) | 2012-09-28 | 2012-09-28 | 数据储存方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699491B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107945820A (zh) * | 2017-11-03 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种固态硬盘温度控制方法及温度控制模块 |
CN109388518A (zh) * | 2017-08-11 | 2019-02-26 | 华邦电子股份有限公司 | 数据写入方法 |
CN109753441A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 数据存储设备 |
CN109992525A (zh) * | 2019-04-01 | 2019-07-09 | 合肥沛睿微电子股份有限公司 | 快闪存储器控制器 |
CN111712804A (zh) * | 2018-01-22 | 2020-09-25 | 美光科技公司 | 使用数据块的可变逻辑到物理关联的增强错误校正码能力 |
CN113643746A (zh) * | 2021-07-02 | 2021-11-12 | 深圳市宏旺微电子有限公司 | 闪存数据的分析方法、装置、终端设备及存储介质 |
CN113656216A (zh) * | 2021-07-21 | 2021-11-16 | 深圳市宏旺微电子有限公司 | 一种闪存稳定性运行的方法及装置 |
CN113672461A (zh) * | 2021-08-19 | 2021-11-19 | 中汽创智科技有限公司 | 一种存储器的工作模式控制方法、装置、终端及存储介质 |
CN113760194A (zh) * | 2021-09-09 | 2021-12-07 | 合肥兆芯电子有限公司 | 存储器温度控制方法及存储器温度控制*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140030A1 (en) * | 2005-12-16 | 2007-06-21 | Intel Corporation | Apparatus and method for thermal management of a memory device |
US20070168625A1 (en) * | 2006-01-18 | 2007-07-19 | Cornwell Michael J | Interleaving policies for flash memory |
CN101093715A (zh) * | 2006-06-21 | 2007-12-26 | 英特尔公司 | 带切换控制的热传感器 |
US20100274949A1 (en) * | 2009-04-23 | 2010-10-28 | Phison Electronics Corp. | Data access method for flash memory and storage system and controller using the same |
-
2012
- 2012-09-28 CN CN201210368020.5A patent/CN103699491B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140030A1 (en) * | 2005-12-16 | 2007-06-21 | Intel Corporation | Apparatus and method for thermal management of a memory device |
US20070168625A1 (en) * | 2006-01-18 | 2007-07-19 | Cornwell Michael J | Interleaving policies for flash memory |
CN101093715A (zh) * | 2006-06-21 | 2007-12-26 | 英特尔公司 | 带切换控制的热传感器 |
US20100274949A1 (en) * | 2009-04-23 | 2010-10-28 | Phison Electronics Corp. | Data access method for flash memory and storage system and controller using the same |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388518B (zh) * | 2017-08-11 | 2022-05-31 | 华邦电子股份有限公司 | 数据写入方法 |
CN109388518A (zh) * | 2017-08-11 | 2019-02-26 | 华邦电子股份有限公司 | 数据写入方法 |
CN109753441A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 数据存储设备 |
CN109753441B (zh) * | 2017-11-02 | 2024-06-04 | 三星电子株式会社 | 数据存储设备 |
CN107945820B (zh) * | 2017-11-03 | 2019-08-13 | 记忆科技(深圳)有限公司 | 一种固态硬盘温度控制方法及温度控制模块 |
CN107945820A (zh) * | 2017-11-03 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种固态硬盘温度控制方法及温度控制模块 |
CN111712804A (zh) * | 2018-01-22 | 2020-09-25 | 美光科技公司 | 使用数据块的可变逻辑到物理关联的增强错误校正码能力 |
CN111712804B (zh) * | 2018-01-22 | 2024-05-24 | 美光科技公司 | 使用数据块的可变逻辑到物理关联的增强错误校正码能力 |
CN109992525A (zh) * | 2019-04-01 | 2019-07-09 | 合肥沛睿微电子股份有限公司 | 快闪存储器控制器 |
CN113643746A (zh) * | 2021-07-02 | 2021-11-12 | 深圳市宏旺微电子有限公司 | 闪存数据的分析方法、装置、终端设备及存储介质 |
CN113643746B (zh) * | 2021-07-02 | 2023-09-26 | 深圳市宏旺微电子有限公司 | 闪存数据的分析方法、装置、终端设备及存储介质 |
CN113656216A (zh) * | 2021-07-21 | 2021-11-16 | 深圳市宏旺微电子有限公司 | 一种闪存稳定性运行的方法及装置 |
CN113672461A (zh) * | 2021-08-19 | 2021-11-19 | 中汽创智科技有限公司 | 一种存储器的工作模式控制方法、装置、终端及存储介质 |
CN113760194A (zh) * | 2021-09-09 | 2021-12-07 | 合肥兆芯电子有限公司 | 存储器温度控制方法及存储器温度控制*** |
CN113760194B (zh) * | 2021-09-09 | 2024-03-12 | 合肥兆芯电子有限公司 | 存储器温度控制方法及存储器温度控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN103699491B (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI483111B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN103699491A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103530062A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN105005450A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN104866429A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN101000569A (zh) | 一种对多重扇区进行错误修正编码的方法 | |
CN103377129A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544115A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN105320464A (zh) | 防止读取干扰的方法、存储器控制电路单元与存储装置 | |
CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN103593296A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN103678162B (zh) | ***数据储存方法、存储器控制器与存储器储存装置 | |
CN105022695A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102968385B (zh) | 数据写入方法、存储器控制器与储存装置 | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |