CN105513637B - 一种编程监控的方法 - Google Patents
一种编程监控的方法 Download PDFInfo
- Publication number
- CN105513637B CN105513637B CN201410505287.3A CN201410505287A CN105513637B CN 105513637 B CN105513637 B CN 105513637B CN 201410505287 A CN201410505287 A CN 201410505287A CN 105513637 B CN105513637 B CN 105513637B
- Authority
- CN
- China
- Prior art keywords
- programming
- storage unit
- programmed
- parallelism
- program
- 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
Abstract
本发明公开了一种编程监控的方法,该编程监控方法包括:获取闪存阵列中第一存储单元的编程性能参数;当所述第一存储单元的编程性能参数超过预设阈值时,对目标存储单元的编程配置参数进行调节,所述目标存储单元包括所述第一存储单元和/或所述第一存储单元所在的闪存区块中的其余存储单元,所述闪存阵列包括至少一个闪存区块;根据调节后的编程配置参数,对所述目标存储单元进行编程控制。本发明通过调节存储单元的编程配置参数,使存储芯片保持高性能的编程能力,具有在存储芯片编程效率衰退时及时调整、缩短编程时间、提高编程效率的优势,以及可多次调整编程配置参数,达到延长存储芯片使用寿命、优化编程性能的有益效果。
Description
技术领域
本发明涉及存储器的编程技术,尤其涉及一种编程监控的方法。
背景技术
目前,快闪存储器已经逐渐应用于各种电子、数码、智能产品中,诸如便携式多媒体播放器、手机或笔记本计算机,因此,快闪存储器的存储芯片会经过无数次的擦除和编程,而随着使用时间的增加,快闪存储器中的晶体管逐渐老化,导致存储芯片的编程性能逐渐降低,甚至每次编程指令中编程次数会达到最大计数值(Max Counter),编程时间大大增加,最终导致存储芯片不能再被正确的编程。
参考图1,为现有技术提供的快闪存储器的结构图,该快闪存储器包括,编程控制器10、电压调节器11和闪存阵列12。
编程控制器10根据地址信号从闪存阵列12中选取该地址信号对应的存储单元,并直接对该存储单元的当前编程配置参数进行设定,可设定当前编程配置参数中的编程并行度、编程电压和/或编程加压时间,编程控制器10通过设定后的编程配置参数对闪存阵列12进行编程操作,以及将设定后的编程电压发送到电压调节器11。电压调节器11接收编程控制器10发送的设定后的编程电压,并根据设定后的编程电压进行电压调节,调节完成后,反馈完成信息至编程控制器10,此时电压调节器11施加在存储单元的编程电压为设定后的编程电压。闪存阵列12由编程控制器10进行编程控制。
由此可见,现有技术中的编程控制器10只能根据设定的编程配置参数对闪存阵列进行编程,无法解决随着快闪存储器中的晶体管逐渐老化,导致存储芯片的编程性能逐渐降低的问题。
发明内容
本发明提供一种编程监控的方法,通过调节存储单元的编程配置参数为新的编程配置参数,使存储芯片在下一次编程效率衰退之前,使用新的编程配置参数进行编程操作,能够使存储芯片始终保持高性能的编程能力,具有在存储芯片编程效率衰退时及时调整、缩短编程时间、提高编程效率的优势,以及可多次调整编程配置参数,达到延长存储芯片使用寿命、优化编程性能的有益效果。
本发明提供了一种编程监控的方法,包括:
获取闪存阵列中第一存储单元的编程性能参数;
当所述第一存储单元的编程性能参数超过预设阈值时,对目标存储单元的编程配置参数进行调节,所述目标存储单元包括所述第一存储单元和/或所述第一存储单元所在的闪存区块中的其余存储单元,所述闪存阵列包括至少一个闪存区块;
根据调节后的编程配置参数,对所述目标存储单元进行编程控制。
进一步地,所述编程性能参数包括编程时间和/或编程次数。
进一步地,所述编程配置参数包括编程并行度、编程电压和编程加压时间中的任一或其组合。
进一步地,所述对目标存储单元的编程配置参数进行调节,具体包括:
对所述目标存储单元的编程并行度进行调节;
其中,当所述目标存储单元的编程并行度小于最大编程并行度时,增加所述目标存储单元的编程并行度。
进一步地,所述对目标存储单元的编程配置参数进行调节,具体包括:
对所述目标存储单元的编程电压进行调节;
其中,当所述目标存储单元的编程电压小于最大编程电压时,提高所述目标存储单元的编程电压。
进一步地,所述对目标存储单元的编程配置参数进行调节,具体包括:
对所述目标存储单元的编程加压时间进行调节;
其中,当所述目标存储单元的编程加压时间小于最长编程加压时间时,延长所述目标存储单元的编程加压时间。
进一步地,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程并行度等于所述最大编程并行度时,调节所述目标存储单元的编程电压或编程加压时间。
进一步地,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程电压等于所述最大编程电压时,调节所述目标存储单元的编程并行度或编程加压时间。
进一步地,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程加压时间等于所述最长编程加压时间时,调节所述目标存储单元的编程电压或编程并行度。
本发明提供的一种编程监控的方法,通过获取第一存储单元的编程性能参数,当该编程性能参数超过预设阈值时,对第一存储单元和第一存储单元所在的闪存区块进行编程配置参数调节,使存储单元所在的闪存区块在下一次编程效率衰退之前的编程中均使用调节后的编程配置参数,从而缩短了编程时间、提高了编程效率、优化了存储芯片的编程性能,使存储芯片持续保持高性能的编程能力,以及延长存储芯片的使用寿命,当存储芯片的编程效率再次降低到预设阈值时,再对存储芯片的编程配置参数进行调节,可再次优化存储芯片。本发明的有益效果在于,通过调节存储单元的编程配置参数,使存储芯片始终保持高性能的编程能力,具有在存储芯片编程效率衰退时及时调整、缩短编程时间、提高编程效率的优势,以及可多次调整编程配置参数,达到延长存储芯片使用寿命、优化编程性能的有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的快闪存储器的结构图;
图2是本发明实施例提供的一种编程监控的方法的示意图;
图3是本发明实施例提供的一种编程监控的方法的综合结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的一种编程监控的方法的示意图,本实施例可适用于快闪存储器芯片编程效率衰退时,缩短编程时间、提高编程效率、延长芯片使用寿命并使存储芯片始终保持高性能的编程能力的情况,该方法具体包括如下步骤:
步骤110、获取闪存阵列中第一存储单元的编程性能参数。
优选地,所述编程性能参数包括编程时间和/或编程次数。
如上所述,编程时间和编程次数用于表征存储芯片的编程效率,在此,通过计数值对存储芯片的编程时间和编程次数进行统计,随着存储芯片编程效率衰退,计数值越来越大,比如,当计数值为5时,说明该存储单元在编程过程中,需要5次才能将“1”编程为“0”,编程次数为5,编程时间为1次编程成功的5倍。获取编程性能参数,目的在于,对存储单元的编程效率进行监控,当其编程效率变慢时,通过监控可及时调整,从而提高编程效率。
步骤120、当所述第一存储单元的编程性能参数超过预设阈值时,对目标存储单元的编程配置参数进行调节,所述目标存储单元包括所述第一存储单元和/或所述第一存储单元所在的闪存区块中的其余存储单元,所述闪存阵列包括至少一个闪存区块。
如上所述,预设阈值为用户设定的存储单元的编程效率需要进行调节的阈值,目的在于使编程效率逐渐衰退的存储芯片的编程效率经过调节能够持续保持高性能,不同存储芯片用户根据产品情况或用户情况自行设定预设阈值。当所述第一存储单元的编程性能参数超过预设阈值,说明存储单元的编程效率达到用户设定的需要进行调节的预设阈值,即用户认为此时存储芯片编程效率衰退并需要进行编程调节,从而保证存储单元的编程效率持续保持高性能。
如上所述,闪存阵列被分为多个闪存区块,每一个闪存区块包含的存储单元的个数可能不同,分配方式由用户自行设定。当第一存储单元的编程性能参数超过预设阈值,说明该第一存储单元的编程效率变慢,需要调节,此时,第一存储单元所在的闪存区块也必须进行调节,以使同一闪存区块的所有存储单元的编程配置参数相同,当对闪存区块中的存储单元编程时,其编程效率整体提高。因此,目标存储单元就是指第一存储单元所在的闪存区块中的一个或多个存储单元。
如上所述,对目标存储单元的编程配置参数进行调节具体是指对目标存储单元的当前编程配置进行调节,就是能够在存储单元的当前编程配置的基础上进行编程配置调节,以使该存储单元保持高性能的编程能力,从而优化芯片的编程性能、延长芯片使用寿命。
优选地,所述编程配置参数包括编程并行度、编程电压和编程加压时间中的任一或其组合。
如上所述,所述编程并行度具体是指,对存储单元进行编程时的字节数量,可分为单字节编程、双字节编程、四字节编程、八字节编程、…、n字节编程,其中,n为整数且大于等于8,n字节编程为存储单元编程并行度的最大编程并行度,单字节编程是指一次使用1字节的写入/擦除方式进行编程,双字节编程是指一次使用2字节的写入/擦除方式进行编程,四字节编程是指一次使用4字节的写入/擦除方式进行编程,…,n字节编程是指一次使用n字节的写入/擦除方式进行编程,因此存储单元的编程并行度也可以理解为对该存储单元进行编程时一次并行的字节数量,明显地,n字节编程效率优于4字节编程效率,4字节编程效率优于2字节编程效率,2字节编程效率优于1字节编程效率。所述编程电压具体是指,对存储单元进行编程时,施加在该存储单元两端的使数据能够写入/擦除的电压。所述编程加压时间具体是指,对存储单元进行编程时,存储单元编程1次所需的时间,比如,初始编程时,存储单元编程1次,就可以将“1”编程为“0”,所需的时间为10μs,随着存储芯片编程效率衰退,计数值为5,存储单元将“1”编程为“0”所需的次数为5次,编程加压时间不变,仍旧为10μs,因此,编程加压时间可以理解为存储单元进行一次编程的单位时间,并非是将“1”成功编程为“0”所需的时间。综上所述,存储单元的编程配置参数就是该存储单元当前进行编程时的字节数量、编程电压和编程加压时间。
如上所述,编程配置参数包括编程并行度、编程电压和编程加压时间中的任一或其组合,因此对目标存储单元的编程配置参数进行调节并不是同时执行对编程并行度、编程电压和编程加压时间的调节,而是仅选择其中一项或多项内容进行调节,以达到优化存储单元的当前编程能力、缩短存储芯片编程时间、提高存储芯片编程效率以及延长存储芯片使用寿命的目的。随后,在存储芯片再次编程效率衰退时,再通过调节编程配置参数过程调节编程配置中的内容,使再次优化存储芯片。
存储芯片编程效率衰退后,调节编程配置参数对缩短编程时间、提高编程效率的作用,具体表现为:(1)若存储单元的编程并行度为单字节,那么编程效率降低后,编程指令的每一个字节可能需要重复2次以上才能写入或擦除,使编程时间较长、编程次数增多,此时若将编程并行度调节为双字节,那么可能仅需要一次编程即可直接将数据写入或擦除,缩短了编程时间、提高了编程效率;(2)若存储单元的编程电压为5V,那么编程效率降低后,编程指令在5V的编程电压时,可能需要重复多次才能将数据写入或擦除,编程时间随存储芯片使用次数增加而越来越长,若调节为5.5V的编程电压,那么可能会实现1次直接成功写入或擦除数据,相应的缩短了编程时间;(3)若存储单元的编程加压时间为10μs,那么编程指令时,可能需要15us的加压时间才能编程成功,这就需要2次写入/擦除才能实现编程,那么编程次数为2次,总的加压时间为20us,编程效率缓慢,因此10μs已经不是最优的编程加压时间了,若调节编程加压时间为15μs,那么1次写入/擦除即可实现编程,总的加压时间为15us。由此可知,对编程效率衰退的存储单元的编程并行度、编程电压和编程加压时间中的任一项进行调节,均可以实现编程时间的缩短以及编程效率的提高,优化了存储芯片性能,使存储芯片保持高性能和延长存储芯片使用寿命。
为了使存储芯片长久的保持高性能的编程状态,在此优选的,对所述目标存储单元的单一编程配置参数进行调节,例如,仅对所述目标存储单元的编程并行度进行调节,以提高编程效率,或者对所述目标存储单元的编程电压进行调节,或者对所述目标存储单元的编程加压时间进行调节。由此,对单一编程配置参数进行调节,不仅提高了编程效率,使存储芯片长久保持高性能的编程能力,还能够多次调整编程配置参数、延长存储芯片使用寿命。
如上所述,对编程并行度进行调节、对编程电压进行调节和对编程加压时间进行调节,也可以将其称之为三条编程路径,这三条编程路径是平行关系,且相互独立,没有优先级之分。当所述第一存储单元的编程性能参数超过预设阈值之后,编程监控会执行其中一条编程路径,当该第一次编程调节完成之后,存储芯片依据新的编程配置进行编程,那么编程性能相对优化、编程时间缩短、编程效率提高,而当存储芯片编程效率再次衰退之后,就可以再次进行编程调节,以实现存储芯片优化,因此能够多次调整存储芯片的编程能力、延长存储芯片使用寿命和提高编程效率。
如上所述,已知步骤120中编程配置参数调节是调节编程配置参数中的其中一项内容,由此可知,根据不同的编程路径,调节的编程配置参数的目标也有所不同。那么随之形成的新的编程配置参数也有所不同。然而,存储单元的编程配置参数的每一项内容都是具有上限值,因此,不可能实现对某一项配置参数进行无限次调节,当选定其中一项内容进行调节编程配置时,若其已经为最大值,不能再进行重新配置,此时,就需要停止该编程路径,而另选剩余两条编程路径中的一个进行执行。当存储单元的编程配置的每一项内容均已经达到其上限值,那么说明该存储单元已经不能进行优化性能和延长使用寿命。具体讨论见下文,在此不做赘述。
步骤130、根据调节后的编程配置参数,对所述目标存储单元进行编程控制。
如上所述,当编程配置参数调节完成后形成存储单元新的编程配置,那么编程监控将对目标存储单元进行编程控制,在此,具体是指,将新的编程配置参数输出,使存储芯片在下一次编程中直接使用新的编程配置参数,使编程时间缩短、编程效率提高,存储芯片持续保持高性能,当编程效率再次超过预设阈值时,再次进行编程配置参数的调节。
上述为本发明中编程监控方法的步骤,由于编程配置参数包括三个内容,因此调节编程配置参数时仅需选择其中一项执行,进而形成三种相互独立的执行编程路径,当存储芯片经过第一次编程效率衰退后,编程时间过长,此时可以选择调节编程配置参数中的任意一项内容形成新的编程配置参数,缩短编程时间、优化存储芯片编程性能,再经过对存储芯片的多次使用之后,当存储芯片第二次编程效率衰退时,可以再次执行该方法并调节编程配置参数中的任意一项内容以缩短编程时间、优化存储芯片性能,因此,该方法能够缩短编程时间、提高编程效率、优化存储芯片编程性能并延长存储芯片使用寿命。以下将通过调节不同编程配置参数的情况对本发明的数据监控方法进行详述。
首先,优选的实施方式是,对所述目标存储单元的编程并行度进行调节,优选地,所述编程监控的方法具体包括如下步骤:
S11、对所述目标存储单元的编程并行度进行调节。
如上所述,编程并行度包括单字节编程、双字节编程、四字节编程、八字节编程、…、n字节编程,其中,n为整数且大于等于8,n字节编程为存储单元编程并行度的最大编程并行度,并且,n字节编程的编程效率优于四字节编程的编程效率,四字节编程的编程效率优于双字节编程的编程效率、双字节编程的编程效率优于单字节编程的编程效率,此时的编程并行度为存储单元当前时刻的编程配置参数。
如上所述,对编程并行度进行调节时,当编程并行度不是最大编程并行度时,则该编程路径可以继续执行,因此可以对编程并行度进行调节,以形成新的编程并行度。新的编程并行度是必须优于当前的编程并行度的,因此单字节的编程并行度可以调节为双字节或m字节,其中,2≤m≤n,双字节的编程并行度可以调节为m字节,2≤m≤n。调节后的编程并行度根据当前编程并行度的实际字节进行优化调节,以缩短编程时间和提高编程效率。具体描述在下文。
S12、判断编程平行度是否为最大编程并行度,若是,则返回其他编程路径,若否,则调节编程并行度。
在此,优选地,所述编程监控的方法,还包括:当所述目标存储单元的编程并行度等于所述最大编程并行度时,调节所述目标存储单元的编程电压或编程加压时间。
如上所述,最大编程并行度为n字节编程,若此时存储单元的编程并行度为n字节编程,由于n字节编程优于单字节编程、双字节编程和四字节编程等,因此n字节编程的最大编程并行度无法再进行编程调节和优化,而为了达到缩短编程时间、提高编程效率、优化存储芯片的编程性能和延长使用寿命的目的,在此可以转换为调节所述目标存储单元的编程电压或编程加压时间。
优选地,当所述目标存储单元的编程并行度小于最大编程并行度时,增加所述目标存储单元的编程并行度。
如上所述,已知编程并行度分为单字节编程、双字节编程、四字节编程、…、n字节编程。根据一次编程时的字节数量可知,n字节编程是优于四字节编程的,四字节编程是优于双字节编程的,而双字节编程优于单字节编程,将编程并行度调节为优于当前编程并行度的值,能够缩短编程时间、提高编程效率、优化存储芯片性能和延长使用寿命。若已知存储单元的编程并行度为单字节编程,且一次编程写入时,双字节编程优于单字节编程,那么调节编程并行度,即是将存储单元的当前编程并行度调节为优于当前编程并行度的字节编程,此时,调节后的编程并行度可以为双字节编程,也可以为m字节编程,2≤m≤n,由此形成的新编程配置为调节后的编程配置。
如上所述,存储芯片的编程并行度可以为单字节编程、双字节编程、四字节编程、…、n字节编程,且四字节编程优于双字节编程,因此当目标存储单元的编程并行度为双字节编程时,为了通过改变编程并行度,达到提高编程效率、缩短编程时间的目的,那么双字节编程并行度可以调节提高为四字节编程或m字节编程,从而使编程效率提高、编程时间缩短。
如上所述,当编程并行度不是所述最大编程并行度时,对编程并行度进行调节形成了优于当前编程并行度的调节后编程并行度,而此时编程配置参数的编程电压和编程加压时间均未进行调节,因此,调节后的编程配置参数由调节后的编程并行度、当前编程电压和当前编程加压时间。
如上所述,已知执行编程并行度的调节后,该形成的调节后的编程配置参数即是第一存储单元所在的闪存区块的新的编程配置参数,相应的,在第一存储单元的编程配置参数调节完成后,根据调节后的编程配置参数,对第一存储单元所在的闪存区块的其他存储单元的编程配置参数均进行调节。
S13、输出调节后的编程配置参数,并进行编程控制。
S14、完成。
上述调节编程并行度的优选方式,通过调节编程并行度使形成的调节后编程并行度优于当前编程并行度,那么采用调节后的编程并行度作为存储单元的新编程配置参数,可以使存储单元的编程时间缩短、编程效率提高,对于一个程序,写入/擦除时由一次单字节编程转换为一次双字节或m字节编程、或者编程时由一次双字节编程转换为一次m字节编程,能够使编程效率衰退的存储单元在调节之后,编程时间缩短、编程效率提高了2倍以上,保持了高性能的编程能力。
其次,优选的实施方式是,对所述目标存储单元的编程电压进行调节,优选地,所述编程监控的方法具体包括如下步骤:
S21、对所述目标存储单元的编程电压进行调节。
如上所述,存储单元的编程电压具有多个档位,对编程电压进行调节,即是提高当前编程电压的电压档位,使施加在存储单元两端的电压增加,从而提高编程效率,此时的编程电压为存储单元当前时刻的编程配置参数。
如上所述,当对编程电压进行调节时,若用户设定编程电压的档位有n档,最大编程电压为mV,那么只有当编程电压小于mV时,该编程电压的调节路径才能够继续执行,并形成调节后的编程电压。调节后的编程电压必须是优于当前编程电压的,因此低档位编程电压可以通过提高档位为高档位编程电压,调节后的编程电压,能够提高存储芯片的编程效率,缩短编程时间。具体描述见下文。
S22、判断编程电压是否为最大编程电压,若是,则返回其他编程路径,若否,则调节编程电压。
如上所述,调节编程电压时,需要判断编程电压是否为最大编程电压,其结果有两种,当前的编程电压不是最大编程电压时,能够通过调节形成新的编程电压,而当前的编程电压是最大编程电压时,那么该调节过程必须停止,此时该条编程路径已经无法实现对存储芯片性能的优化和提高,因此此时,编程监控方法需要转换为执行其他两条编程路径中的一种,以实现芯片性能优化和提高。
在此,优选地,当所述目标存储单元的编程电压等于所述最大编程电压时,调节所述目标存储单元的编程并行度或编程加压时间。
如上所述,已知存储单元在写入/擦除数据时施加的电压为编程电压,该编程电压往往高于存储单元的工作电压。然而,编程电压并非可以无限次调节,使编程电压持续升高,其原因在于,编程电压是施加在存储单元的栅极-漏极或栅极-源极之间的电压,若编程电压过高,可能导致存储单元失效,因此存储单元的编程电压具有最大编程电压值,即为所述的最大编程电压。当当前编程电压为最大编程电压时,该编程电压不能被调节,则数据监控方法需执行另外两条编程路径中的其中一条,以实现缩短编程时间、提高编程效率、优化存储芯片性能和延长存储芯片使用寿命。
优选地,当所述目标存储单元的编程电压小于最大编程电压时,提高所述目标存储单元的编程电压。
如上所述,已知当前的编程电压不是最大编程电压,那么调节当前的编程电压即是增加施加在存储单元上的编程电压,使能够改变存储单元的当前编程效率,该增加后的编程电压即为调节后的编程电压,因此形成了存储单元的新编程配置。
如上所述,已知调节后的编程电压是通过调节当前的编程电压之后获取的大于当前的编程电压的编程电压,因此调节后的编程电压肯定大于当前的编程电压,同时存储单元的编程电压是不能大于最大编程电压的,否则可能导致器件失效,因此调节后的编程电压还小于或等于所述最大编程电压。
调节编程电压后,形成了调节后的编程电压,而当前的编程并行度和编程加压时间不变,因此调节存储单元的编程配置参数后形成的新编程配置参数包括当前的编程并行度、调节后的编程电压和当前的编程加压时间。
S23、输出调节后的编程配置参数,并进行编程控制。
S24、完成。
上述调节编程电压的优选方式,通过调节编程电压使形成的调节后编程电压高于当前的编程电压,那么采用调节后的编程电压作为存储单元的新编程配置参数,可以使存储单元的编程时间缩短和编程效率提高,写入/擦除时编程电压提高,可能使存储单元经过一次写入/擦除即可快速的从“1”编程为“0”或从“0”编程为“1”,而不会经过多次写入/擦除,从而使编程效率衰退的存储单元在调节之后,编程时间缩短和编程效率有所提高,保持了高性能的编程能力。当对第一存储单元的编程电压进行调节后,其下一次编程时使用的编程配置参数为调节后的编程配置参数,那么第一存储单元所在的闪存区块的其余存储单元均需要根据该调节后的编程配置参数进行编程调节,以使同一闪存区块的存储单元具有相同的编程效率,从而整体提高存储芯片的编程效率,延长使用寿命。
最后,优选的实施方式是,对所述目标存储单元的编程加压时间进行调节,优选地,所述编程监控的方法具体包括如下步骤:
S31、对所述目标存储单元的编程加压时间进行调节。
如上所述,已知编程加压时间是指在存储单元写入/擦除数据时一次所需的时间,随着存储芯片编程效率衰退,数据需要多次重复写入/擦除才能完成编程,因此会累积多个编程加压时间,使得编程效率降低,此时编程加压时间已经不是最优化的编程加压时间,可通过延长编程加压时间,降低数据写入/擦除次数,提高编程效率。
S32、判断编程加压时间是否为最长编程加压时间,若是,则返回其他编程路径,若否,则调节编程加压时间。
在此判断当前的编程加压时间是否为最长编程加压时间的原因在于,延长增加数据写入/擦除时的编程加压时间,可以提高编程效率,但编程加压时间并非可以无限次调节并增加的,其具有一个最长编程加压时间,当超过该最长编程加压时间,芯片不能再被调节以提高编程效率。
优选地,当所述目标存储单元的编程加压时间等于所述最长编程加压时间时,调节所述目标存储单元的编程电压或编程并行度。
如上所述,判断存储单元的当前编程加压时间是否为最长编程加压时间后,当所述当前编程加压时间是所述最长编程加压时间时,说明存储单元的编程加压时间不能再调节以优化存储芯片的编程效率,因此不能再对存储单元的编程加压时间进行调节,此时,编程监控电路停止执行调节编程加压时间,而是选择存储单元的编程配置参数中的其他内容进行调节,以达到缩短编程时间、优化存储芯片性能、提高编程效率、延长存储芯片使用寿命的目的。
优选地,当所述目标存储单元的编程加压时间小于最长编程加压时间时,延长所述目标存储单元的编程加压时间。
如上所述,已知当前的编程加压时间不是最长编程加压时间,那么当前的编程加压时间具有可调节的空间,用以提高存储单元的编程效率。调节后形成的新的编程加压时间将大于当前编程加压时间,包含该调节后的编程加压时间的新的编程配置为调节后的编程配置参数。调节后的编程加压时间为存储单元的新的编程配置参数中的内容,其作用在于提高芯片的编程效率,因此调节后的编程加压时间是大于当前的编程加压时间,以减少编程次数,由此可知,调节之后形成的编程加压时间大于当前的编程加压时间,同时又由于存储单元的编程加压时间具有上限值,为最长编程加压时间,因此在对当前编程加压时间进行调节后,形成的调节后的编程加压时间还小于或等于最长编程加压时间。
调节编程加压时间之后,形成调节后的编程加压时间,同时当前的编程并行度和当前的编程电压不变,因此调节后的编程配置参数由当前的编程并行度、当前的编程电压和调节后的编程加压时间组成。
S33、输出调节后的编程配置参数,并进行编程控制。
S34、完成。
上述调节编程加压时间的优选方式,通过调节编程加压时间使形成的调节后的编程加压时间大于当前的编程加压时间,那么采用调节后的编程加压时间作为存储单元的新编程配置参数,可以使存储单元的编程次数降低,写入/擦除时编程加压时间的提高,可能使存储单元经过较少次数的写入/擦除即可实现编程,从而使总体的写入/擦除次数减少,使得编程效率衰退的存储单元经过调节之后,编程效率有所提高,保持了高性能、延迟了芯片使用寿命、优化了芯片性能。当对第一存储单元的编程加压时间进行调节后,其下一次编程时使用的编程配置参数为调节后的编程配置参数,那么第一存储单元所在的闪存区块的其余存储单元均需要根据该调节后的编程配置参数进行编程调节,以使同一闪存区块的存储单元具有相同的编程效率,从而提高存储芯片的编程效率,延长使用寿命。
参考图3,为本发明实施例提供的一种编程监控的方法的综合结构示意图,其具体过程为:
S110、获取第一存储单元的编程配置参数;
S120、选择一种编程配置参数进行调节,即选择编程路径,路径1:选择执行步骤S130,若产生返回,则选择执行步骤S140或步骤S150;路径2:选择执行步骤S140,若产生返回,则选择执行步骤S130或步骤S150;路径3:选择执行步骤S150,若产生返回,则选择执行步骤S140或步骤S130;
S130、当选择编程配置参数为编程并行度时,判断编程并行度是否为最大编程并行度,若是,则返回步骤S120,若否,则执行步骤S131;
S131、调节所述第一存储单元所在的闪存区块的编程并行度,以形成调节后的编程并行度,并由此组成调节后的编程配置参数;
S132、输出调节后的编程配置参数,并控制编程,并执行步骤S160;
S140、当选择编程配置参数为编程电压时,判断编程电压是否为最大编程电压,若是,则返回步骤S120,若否,则执行步骤S141;
S141、调节所述第一存储单元所在的闪存区块的编程电压,以形成调节后的编程电压,并由此组成调节后的编程配置参数;
S142、输出调节后的编程配置参数,并控制编程,并执行步骤S160;
S150、当选择编程配置参数为编程加压时间时,判断编程加压时间是否为最长编程加压时间,若是,则返回步骤S120,若否,则执行步骤S151;
S151、调节所述第一存储单元所在的闪存区块的编程加压时间,以形成调节后的编程加压时间,并由此组成调节后的编程配置参数;
S152、输出调节后的编程配置参数,并控制编程,并执行步骤S160;
S160、在下一次编程中,使用调节后的编程配置参数;
S170、编程配置参数调节完成。
本发明实施例提供的一种编程监控的方法,通过获取第一存储单元的编程性能参数,当该编程性能参数超过预设阈值时,对第一存储单元和第一存储单元所在的闪存区块进行编程配置参数调节,使存储单元所在的闪存区块在下一次编程效率衰退之前的编程中均使用调节后的编程配置参数,从而缩短了编程时间、提高了编程效率、优化了存储芯片的编程性能,使存储芯片持续保持高性能的编程能力,以及延长存储芯片的使用寿命,当存储芯片的编程效率再次降低到预设阈值时,再对存储芯片的编程配置参数进行调节,可再次优化存储芯片。本发明的有益效果在于,通过调节存储单元的编程配置参数,使存储芯片始终保持高性能的编程能力,具有在存储芯片编程效率衰退时及时调整、缩短编程时间、提高编程效率的优势,以及可多次调整编程配置参数,达到延长存储芯片使用寿命、优化编程性能的有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (4)
1.一种编程监控的方法,其特征在于,包括:
获取闪存阵列中第一存储单元的编程性能参数;其中,所述编程性能参数包括编程时间和/或编程次数;
当所述第一存储单元的编程性能参数超过预设阈值时,对目标存储单元的编程配置参数进行调节,所述目标存储单元包括所述第一存储单元和/或所述第一存储单元所在的闪存区块中的其余存储单元,所述闪存阵列包括至少一个闪存区块;
根据调节后的编程配置参数,对所述目标存储单元进行编程控制;
所述对目标存储单元的编程配置参数进行调节具体包括以下至少一种:
当所述目标存储单元的编程并行度小于最大编程并行度时,增加所述目标存储单元的编程并行度;
当所述目标存储单元的编程加压时间小于最长编程加压时间时,延长所述目标存储单元的编程加压时间。
2.根据权利要求1所述的方法,其特征在于,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程并行度等于所述最大编程并行度时,调节所述目标存储单元的编程电压或编程加压时间。
3.根据权利要求1所述的方法,其特征在于,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程电压等于最大编程电压时,调节所述目标存储单元的编程并行度或编程加压时间。
4.根据权利要求1所述的方法,其特征在于,所述对目标存储单元的编程配置参数进行调节,还包括:
当所述目标存储单元的编程加压时间等于所述最长编程加压时间时,调节所述目标存储单元的编程电压或编程并行度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505287.3A CN105513637B (zh) | 2014-09-26 | 2014-09-26 | 一种编程监控的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505287.3A CN105513637B (zh) | 2014-09-26 | 2014-09-26 | 一种编程监控的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105513637A CN105513637A (zh) | 2016-04-20 |
CN105513637B true CN105513637B (zh) | 2019-11-12 |
Family
ID=55721558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410505287.3A Active CN105513637B (zh) | 2014-09-26 | 2014-09-26 | 一种编程监控的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105513637B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111863085B (zh) * | 2019-04-29 | 2022-07-26 | 北京兆易创新科技股份有限公司 | 一种控制编程性能的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149121B2 (en) * | 2005-01-26 | 2006-12-12 | Macronix International Co., Ltd. | Method and apparatus for changing operating conditions of nonvolatile memory |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
KR20140020634A (ko) * | 2012-08-10 | 2014-02-19 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
CN102937935A (zh) * | 2012-09-04 | 2013-02-20 | 邹粤林 | 一种固态存储系统及控制器、提高闪存芯片寿命的方法 |
JP2014053060A (ja) * | 2012-09-07 | 2014-03-20 | Toshiba Corp | 半導体記憶装置及びその制御方法 |
-
2014
- 2014-09-26 CN CN201410505287.3A patent/CN105513637B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105513637A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8588008B2 (en) | Interleaving charge pumps for programmable memories | |
CN101410906B (zh) | 闪烁存储器系统及控制方法 | |
WO2016020760A4 (en) | Adaptive flash tuning | |
CN110473581B (zh) | 固态储存装置及其相关控制方法 | |
CN105023609A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107817954B (zh) | 一种NAND Flash存储可靠性评估方法 | |
KR20150114795A (ko) | 반도체 메모리 장치의 테스트 방법, 테스트 장치, 및 반도체 메모리 장치의 테스트 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 | |
CN103310839A (zh) | 缩短擦除操作的方法与装置 | |
KR20120070012A (ko) | 비휘발성 메모리장치 및 이의 동작방법 | |
CN106155587A (zh) | 信息处理方法及存储设备 | |
TW200721176A (en) | A pulse width converged method to control voltage threshold (Vt) distribution of a memory cell | |
CN105513637B (zh) | 一种编程监控的方法 | |
CN105513636B (zh) | 一种编程监控的装置 | |
CN102682852A (zh) | 半导体存储装置 | |
CN106486161A (zh) | 一种nandflash编程的防干扰方法 | |
CN103744783A (zh) | 重复数据删除性能测试方法和装置 | |
CN104050925A (zh) | 一种led显示屏显示方法、装置及led显示屏 | |
CN103794251B (zh) | 一种快闪存储器的擦除方法和装置 | |
US20200143899A1 (en) | Programming method for memory device | |
CN115295058B (zh) | nor flash的全片擦除方法、装置、设备及介质 | |
Tabrizi et al. | Improving NAND flash read performance through learning | |
CN111312318B (zh) | 一种非易失存储器控制方法以及装置 | |
CN106847337B (zh) | 一种存储单元的编程方法和装置 | |
CN109308273B (zh) | 闪存控制器、闪存控制器功能的调节方法及设备 | |
CN110556145A (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 | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CP03 | Change of name, title or address |