编程方法、存储器存储装置及存储器控制电路单元的制作方法

文档序号:9752243阅读:380来源:国知局
编程方法、存储器存储装置及存储器控制电路单元的制作方法
【技术领域】
[0001]本发明是有关于一种存储器管理方法,且特别是有关于一种编程方法、存储器存储装置及存储器控制电路单元。
【背景技术】
[0002]数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内设于上述所举例的各种便携式多媒体装置中。
[0003]一般来说,可复写式非易失性存储器模块中的多条字符线会被编程(programming)来存储数据。然而,若没有将编程字符线的方式加以管理,则可能会在所存储的数据中产生过多的错误比特。

【发明内容】

[0004]本发明提供一种编程方法、存储器存储装置及存储器控制电路单元,可减少因编程相邻的字符线所产生的错误。
[0005]本发明的一实施例提供一种编程方法,其用于可复写式非易失性存储器模块,可复写式非易失性存储器模块包括多个物理删除单元,所述编程方法包括:接收至少一第一写入指令;以及根据所述第一写入指令从所述物理删除单元中选择第一物理删除单元并且发送第一跳跃写入指令序列,其中第一跳跃写入指令序列指示执行第一跳跃编程程序,其中第一跳跃编程程序包括:根据对应于所述第一写入指令的第一数据来编程第一物理删除单元的多条字符线中的第一字符线;以及在第一字符线被编程之后,跳过第一物理删除单元的所述字符线中与第一字符线相邻的至少一第二字符线而根据第一数据来编程第一物理删除单元的所述字符线中不与第一字符线相邻的第三字符线。
[0006]在本发明的一实施例中,所述编程方法还包括:判断第一数据的数据大小是否超过第一物理删除单元的可用大小,其中第一物理删除单元的可用大小小于或等于第一物理删除单元的总存储空间的大小的1/P,且P是大于I的整数;以及若第一数据的数据大小超过第一物理删除单元的可用大小,从所述物理删除单元中选择第二物理删除单元,其中第一跳跃编程程序还包括:根据第一数据来编程第二物理删除单元的所述字符线中的一第四字符线;以及在第四字符线被编程之后,跳过第二物理删除单元的所述字符线中与第四字符线相邻的至少一第五字符线而根据第一数据来编程第二物理删除单元的所述字符线中不与第四字符线相邻的第六字符线。
[0007]在本发明的一实施例中,所述编程方法还包括:在接收到所述第一写入指令之后,接收至少一第二写入指令;根据所述第二写入指令从所述物理删除单元中选择第三物理删除单元并且发送第二跳跃写入指令序列,其中第二跳跃写入指令序列指示执行第二跳跃编程程序,其中第二跳跃编程程序包括:跳过第三物理删除单元的所述字符线中的第一字符线而根据对应于所述第二写入指令的第二数据来编程第三物理删除单元的所述字符线中的第二字符线;以及在第二字符线被编程之后,跳过第三物理删除单元的所述字符线中的第三字符线而根据第二数据来编程第三物理删除单元的所述字符线中不与被编程的第二字符线相邻的第七字符线。
[0008]在本发明的一实施例中,所述编程方法还包括:判断可复写式非易失性存储器模块的目前状态是否符合至少一第一条件,其中第一跳跃写入指令序列是在判定可复写式非易失性存储器模块的目前状态符合所述第一条件之后发送;以及若可复写式非易失性存储器模块的目前状态不符合第一条件,发送正常写入指令序列,其中正常写入指令序列指示执行正常编程程序,其中正常编程程序包括:根据第一数据来编程第一字符线;以及在第一字符线被编程之后,根据第一数据来编程所述第二字符线。
[0009]在本发明的一实施例中,所述判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的步骤包括:判断第一物理删除单元的使用程度是否达到预设程度。
[0010]在本发明的一实施例中,所述判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的步骤包括:判断可复写式非易失性存储器模块是否已经经过高温工序的处理。
[0011 ] 在本发明的一实施例中,所述判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的步骤包括:判断可复写式非易失性存储器模块的第一存储区的总可用大小是否小于第一数据的数据大小,其中第一存储区的总可用空间的大小小于或等于第一存储区的总存储空间的大小的l/p,其中P为大于I的整数。
[0012]在本发明的一实施例中,所述编程方法还包括:在接收到所述第一写入指令之后,接收至少一第二写入指令;判断第一跳跃编程程序是使用第一跳跃规则或第二跳跃规则;若第一跳跃编程程序是使用第一跳跃规则,指示在对应于所述第二写入指令的第二跳跃编程程序中使用第二跳跃规则;以及若第一跳跃编程程序是使用第二跳跃规则,则指示在第二跳跃编程程序中使用第一跳跃规则。
[0013]在本发明的一实施例中,所述编程方法还包括:将存储于第一物理删除单元中的第一数据复制到所述物理删除单元中的一第四物理删除单元。
[0014]本发明的一实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以耦接至主机系统。可复写式非易失性存储器模块包括多个物理删除单元。存储器控制电路单元耦接至连接接口单元与可复写式非易失性存储器模块,其中存储器控制电路单元用以接收至少一第一写入指令。其中存储器控制电路单元还用以根据所述第一写入指令从所述物理删除单元中选择第一物理删除单元并且发送第一跳跃写入指令序列,其中第一跳跃写入指令序列指示执行第一跳跃编程程序,其中第一跳跃编程程序包括:根据对应于所述第一写入指令的第一数据来编程第一物理删除单元的多条字符线中的第一字符线;以及在第一字符线被编程之后,跳过第一物理删除单元的所述字符线中与第一字符线相邻的至少一第二字符线而根据第一数据来编程第一物理删除单元的所述字符线中不与第一字符线相邻的第三字符线。
[0015]在本发明的一实施例中,所述存储器控制电路单元还用以判断第一数据的数据大小是否超过第一物理删除单元的可用大小,其中第一物理删除单元的可用大小小于或等于第一物理删除单元的总存储空间的大小的1/P,且P是大于I的整数,其中若第一数据的数据大小超过第一物理删除单元的可用大小,存储器控制电路单元还用以从所述物理删除单元中选择一第二物理删除单元,其中第一跳跃编程程序还包括:根据第一数据来编程第二物理删除单元的所述字符线中的第四字符线;以及在第四字符线被编程之后,跳过第二物理删除单元的所述字符线中与第四字符线相邻的至少一第五字符线而根据第一数据来编程第二物理删除单元的所述字符线中不与第四字符线相邻的第六字符线。
[0016]在本发明的一实施例中,所述存储器控制电路单元还用以在接收到所述第一写入指令之后,接收至少一第二写入指令,其中存储器控制电路单元还用以根据所述第二写入指令从所述物理删除单元中选择第三物理删除单元并且发送第二跳跃写入指令序列,其中第二跳跃写入指令序列指示执行第二跳跃编程程序,其中第二跳跃编程程序包括:跳过第三物理删除单元的所述字符线中的第一字符线而根据对应于所述第二写入指令的第二数据来编程第三物理删除单元的所述字符线中的第二字符线;以及在第二字符线被编程之后,跳过第三物理删除单元的所述字符线中的第三字符线而根据第二数据来编程第三物理删除单元的所述字符线中不与被编程的第二字符线相邻的第七字符线。
[0017]在本发明的一实施例中,所述存储器控制电路单元还用以判断可复写式非易失性存储器模块的目前状态是否符合至少一第一条件,其中第一跳跃写入指令序列是在判定可复写式非易失性存储器模块的目前状态符合所述第一条件之后发送,其中若可复写式非易失性存储器模块的目前状态不符合第一条件,存储器控制电路单元还用以发送正常写入指令序列,其中正常写入指令序列指示执行正常编程程序,其中正常编程程序包括:根据第一数据来编程第一字符线;以及在第一字符线被编程之后,根据第一数据来编程所述第二字符线。
[0018]在本发明的一实施例中,所述存储器控制电路单元判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断第一物理删除单元的使用程度是否达到预设程度。
[0019]在本发明的一实施例中,所述存储器控制电路单元判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断可复写式非易失性存储器模块是否已经经过高温工序的处理。
[0020]在本发明的一实施例中,所述存储器控制电路单元判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断可复写式非易失性存储器模块的第一存储区的总可用大小是否小于第一数据的数据大小,其中第一存储区的总可用空间的大小小于或等于第一存储区的总存储空间的大小的1/P,其中P为大于I的整数。
[0021]在本发明的一实施例中,所述存储器控制电路单元还用以在接收到所述第一写入指令之后,接收至少一第二写入指令,其中存储器控制电路单元还用以判断第一跳跃编程程序是使用第一跳跃规则或第二跳跃规则,其中若第一跳跃编程程序是使用第一跳跃规贝U,则存储器控制电路单元还用以指示在对应于所述第二写入指令的第二跳跃编程程序中使用第二跳跃规则,其中若第一跳跃编程程序是使用第二跳跃规则,则存储器控制电路单元还用以指示在第二跳跃编程程序中使用第一跳跃规则。
[0022]在本发明的一实施例中,所述存储器控制电路单元还用以将存储于第一物理删除单元中的第一数据复制到所述物理删除单元中的第四物理删除单元。
[0023]本发明的一实施例提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包括多个物理删除单元,所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口用以耦接至主机系统。存储器接口用以耦接至可复写式非易失性存储器模块。存储器管理电路耦接至主机接口与存储器接口,其中存储器管理电路用以接收至少一第一写入指令。其中存储器管理电路还用以根据所述第一写入指令从所述物理删除单元中选择一第一物理删除单元并且发送一第一跳跃写入指令序列,其中第一跳跃写入指令序列指示执行一第一跳跃编程程序,其中第一跳跃编程程序包括:根据对应于所述第一写入指令的第一数据来编程第一物理删除单元的多条字符线中的第一字符线;以及在第一字符线被编程之后,跳过第一物理删除单元的所述字符线中与第一字符线相邻的至少一第二字符线而根据第一数据来编程第一物理删除单元的所述字符线中不与第一字符线相邻的第三字符线。
[0024]在本发明的一实施例中,所述第一物理删除单元包括M+1条字符线,第一字符线是M+1条字符线中的第N条字符线,所述第二字符线是M+1条字符线中的第N+1条字符线,并且第三字符线是M+1条字符线中的第N+2条字符线,其中M与N是正整数。
[0025]在本发明的一实施例中,所述存储器管理电路还用以判断第一数据的数据大小是否超过第一物理删除单元的可用大小,其中第一物理删除单元的可用大小小于或等于第一物理删除单元的总存储空间的大小的1/P,且P是大于I的整数,其中若第一数据的数据大小超过第一物理删除单元的可用大小,存储器管理电路还用以从所述物理删除单元中选择第二物理删除单元,其中第一跳跃编程程序还包括:根据第一数据来编程第二物理删除单元的所述字符线中的第四字符线;以及在第四字符线被编程之后,跳过第二物理删除单元的所述字符线中与第四字符线相邻的至少一第五字符线而根据第一数据来编程第二物理删除单元的所述字符线中不与第四字符线相邻的第六字符线。
[0026]在本发明的一实施例中,所述存储器管理电路还用以在接收到所述第一写入指令之后,接收至少一第二写入指令,其中存储器管理电路还用以根据所述第二写入指令从所述物理删除单元中选择第三物理删除单元并且发送第二跳跃写入指令序列,其中第二跳跃写入指令序列指示执行第二跳跃编程程序,其中第二跳跃编程程序包括:跳过第三物理删除单元的所述字符线中的第一字符线而根据对应于所述第二写入指令的第二数据来编程第三物理删除单元的所述字符线中的第二字符线;以及在第二字符线被编程之后,跳过第三物理删除单元的所述字符线中的第三字符线而根据第二数据来编程第三物理删除单元的所述字符线中不与被编程的第二字符线相邻的第七字符线。
[0027]在本发明的一实施例中,所述存储器管理电路还用以判断可复写式非易失性存储器模块的目前状态是否符合至少一第一条件,其中第一跳跃写入指令序列是在判定可复写式非易失性存储器模块的目前状态符合所述第一条件之后发送,其中若可复写式非易失性存储器模块的目前状态不符合第一条件,存储器管理电路还用以发送正常写入指令序列,其中正常写入指令序列指示执行正常编程程序,其中正常编程程序包括:根据第一数据来编程第一字符线;以及在第一字符线被编程之后,根据第一数据来编程所述第二字符线。
[0028]在本发明的一实施例中,所述存储器管理电路判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断第一物理删除单元的使用程度是否达到预设程度。
[0029]在本发明的一实施例中,所述存储器管理电路判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断可复写式非易失性存储器模块是否已经经过高温工序的处理。
[0030]在本发明的一实施例中,所述存储器管理电路判断可复写式非易失性存储器模块的目前状态是否符合所述第一条件的操作包括:判断可复写式非易失性存储器模块的第一存储区的总可用大小是否小于第一数据的数据大小,其中第一存储区的总可用空间的大小小于或等于第一存储区的总存储空间的大小的1/P,其中P为大于I的整数。
[0031 ] 在本发明的一实施例中,所述存储器管理电路还用以在接收到所述第一写入指令之后,接收至少一第二写入指令,其中存储器管理电路还用以判断第一跳跃编程程序是使用第一跳跃规则或第二跳跃规则,其中若第一跳跃编程程序是使用第一跳跃规则,则存储器管理电路还用以指示在对应于所述第二写入指令的第二跳跃编程程序中使用第二跳跃规则,其中若第一跳跃编程程序是使用第二跳跃规则,则存储器管理电路还用以指示在第二跳跃编程程序中使用第一跳跃规则。
[0032]在本发明的一实施例中,所述可复写式非易失性存储器模块包括第一存储区与第二存储区,第一跳跃编程程序或第二跳跃编程程序仅使用于第一存储区。
[0033]在本发明的一实施例中,所述存储器管理电路还用以将存储于第一物理删除单元中的第一数据复制到所述物理删除单元中的第四物理删除单元。
[0034]在本发明的一实施例中,所述第一物理删除单元属于第一存储区,第四物理删除单元属于第二存储区,第一存储区使用第二编程模式,并且第二存储区使用第一编程模式。
[0035]在本发明的一实施例中,所述可复写式非易失性存储器模块包括第一存储区与第二存储区,第一跳跃编程程序或第二跳跃编程程序仅使用于第二存储区。
[0036]本发明的一实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以耦接至主机系统。可复写式非易失性存储器模块包括多个物理删除单元。存储器控制电路单元耦接至连接接口单元与可复写式非易失性存储器模块,其中存储器控制电路单元使用所述物理删除单元中的第一物理删除单元的多条字符线中的第一字符线来存储第一数据,其中在使用第一字符线之后,存储器控制电路单元接续使用第一物理删除单元的所述字符线中的第三字符线来存储第一数据,其中第一字符线与第三字符线不相邻。
[0037]在本发明的一实施例中,所述第一字符线与第三字符线之间包括被跳过的与第一字符线相邻的至少一第二字符线。
[0038]基于上述,跳跃写入指令序列是用以指示执行跳跃编程程序。在跳跃编程程序中,相
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1