CN104252883B - 闪存管理方法和系统 - Google Patents
闪存管理方法和系统 Download PDFInfo
- Publication number
- CN104252883B CN104252883B CN201310261138.2A CN201310261138A CN104252883B CN 104252883 B CN104252883 B CN 104252883B CN 201310261138 A CN201310261138 A CN 201310261138A CN 104252883 B CN104252883 B CN 104252883B
- Authority
- CN
- China
- Prior art keywords
- page
- invalid
- programmed
- block
- sample block
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供了一种闪存管理方法,所述方法包括:获取样本块;判断所述样本块的无效页操作方式;如果所述样本块的无效页操作方式为填充,则对所述样本块进行一次性全部编程完,检测出所述样本块中的无效页;如果所述样本块的无效页操作方式为跳过,则对所述样本块按顺序编程,每次只编程一个页,并检测出所述样本块中的无效页。采用该闪存管理方法,能够最大程度利用闪存存储空间,回收闪存不良品。此外,还提供了一种闪存管理系统。
Description
技术领域
本发明涉及闪存技术,特别是涉及一种闪存管理方法和系统。
背景技术
现有技术中,通常将含有一个或多个无效位/页/块的闪存芯片作为闪存不良品来舍弃,不利用,这样因为闪存芯片局部空间的无效而使得整个闪存芯片无效而不被利用的现象,无疑造成了闪存存储空间和闪存资源的浪费。
发明内容
基于此,有必要针对传统技术中闪存存储空间浪费的问题,提供一种能够能够最大程度利用闪存存储空间,回收闪存不良品的闪存管理方法和系统。
一种闪存管理方法,所述方法包括:
获取样本块;
判断所述样本块的无效页操作方式;
如果所述样本块的无效页操作方式为填充,则对所述样本块进行一次性全部编程完,检测出所述样本块中的无效页;
如果所述样本块的无效页操作方式为跳过,则对所述样本块按顺序编程,每次只编程一个页,并检测出所述样本块中的无效页。
一种闪存管理系统,所述系统包括:
样本块获取模块,用于获取样本块;
无效页操作方式判断模块,用于判断所述样本块的无效页操作方式;
第一无效页检测模块,用于如果所述样本块的无效页操作方式为填充,则对所述样本块进行一次性全部编程完,并检测出所述样本块中的无效页;
第二无效页检测模块,用于如果所述样本块的无效页操作方式为跳过,则对所述样本块按顺序编程,每次只编程一个页,检测出所述样本块中的无效页。
上述闪存管理方法和系统,考虑到了闪存不良品芯片中可能包含的无效页的两种情况,对于样本块的无效页操作方式为填充,则对样本块进行一次性全部编程完,再检测出其中的无效页,对于样本块的无效页操方式为跳过,则对样本块按顺序编程,每次只编程一个页,再检测出其中的无效页。由于无效操作方式为填充的样本块包含能对其他页产生良性干扰的的页,对样本块进行一次性全部编程完能够使闪存利用更多的空间资源,而无效操作方式为跳过的样本块包含自身无效或对其他页产生恶性干扰的页,对样本块通过一边编程一边判断无效页的检测方式能够更加准确的检测出无效页。因此,上述闪存管理方法和系统能够尽可能最大限度的利用闪存存储空间,回收闪存不良品芯片。
附图说明
图1为一个实施例中闪存管理方法的流程示意图;
图2为一个实施例中闪存管理系统的结构框图;
图3为图2中样本获取模块的结构框图;
图4为图2中无效页操作方式判断模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种闪存管理方法和系统,其中闪存芯片的存储空间是以层、块、页、字节以及位来组织的,其中,闪存芯片包含多个层,每个层包含多个块,每个块包含多个页,每个页包含多个字节,每个字节包含多个位。例如,对闪存芯片中的块进行编号为B0,B1,B2…,对块中页的编号为B0{P0,P1,P2…},B1{P0,P1,P2…},B2{P0,P1,P2…},其中,B0{P0,P1,P2…}表示块B0中包含有编号为P0,P1,P2等更多的页。
由于闪存芯片中无效页有两种情况:一是自身无效,即由于闪存芯片在生产制造的过程中导致的无效,对这类无效页在编程使用闪存芯片的过程中直接跳过不使用。二是对其他页产生干扰,即通过对比该页编程前后,除该页之外的其他已编程的页的无效页数量有变化,并且,如果其他已经编程的页的无效页数据量增大,则表明该页对其他页产生恶性干扰,对于这样会造成恶性干扰的页,在编程闪存芯片时直接跳过不使用。如果其他已经编程的页的无效页数据量减小,则表明该页对其他页产生良性干扰,对于这样能产生良性干扰的页,在编程闪存芯片时需要进行填充,即对该页编程,使其能产生良性干扰,能更多的利用闪存空间资源。因此,闪存芯片中的无效页操作方式包括两种:跳过和填充。
针对闪存芯片中的这两种无效页操作方式,本发明提供了一种尽可能最大限度的利用闪存空间,能节省闪存存储空间的闪存管理方法和系统。
如图1所示,在一个实施例中,提供了一种闪存管理方法,包括:
步骤102,获取样本块。
具体的,可在闪存芯片的各层中检测并抽取出符合预设条件的若干个块作为样本块。
在一个实施例中,步骤102具体包括:在闪存芯片的同一层中随机抽取第一数量的块;对抽取的第一数量的块进行一次性编程,对块中的页进行页的有效无效判断;当块中的页满足以下条件:当所述块包含的全部页有效时,所述块不用做样本块;当块包含的全部页无效时,擦除该块,再随机抽取块中的第二数量的页进行编程,并且读取第二数量的页的数据,若第二数量的页至少有一个页是有效的;则将该快作为样本块。
本实施例中,可在闪存芯片的同一层中随机抽取N个块进行一次性编程,即同时向这N个块写入数据,再读取块中的数据,对块中所有页进行页的有效无效判断。当块中所有页有效时,则该块不能作为样本块。当块中包含的全部页无效时,擦除该块,再随机抽取块中的M个页进行编程,并且读取这M个页的数据,若这M个页至少有一个页是有效的,则该块属于受到某些页的干扰而置坏了所有页的情况,这样的块可以作为样本块使用。如果这M个页都无效,则认为该块中的页属于未受到干扰而自身无效的情况,故也不能作为样本块。其中,在判断块中包含的全部页是否无效时,需要考虑到是否存在某些自身有效的页因受到其他页的干扰而无效的情况,也就是说,自身有效的页因受到其他页的干扰而无效,则认为该页也是无效的。
在一个实施例中,对块中所有页进行页的有效无效判断,其中,页的有效无效判断包括:当对页进行编程时,对写入的数据内容进行ECC编码(Error Correcting Code,错误检查和纠正码),再在读取页的数据内容时进行ECC解码,在解码过程中对页中错误字节数进行统计,当对页完成ECC解码时,获取页的最大错误字节数,当最大错误字节数大于第一阈值时,将页标记为无效页。
具体的,通过闪存芯片主控的寄存计数器对页中的错误字节数进行计数统计,当对页完成ECC解码时,可以从寄存计数器获取到该页的最大错误字节数,当最大错误字节数大于第一阈值时,将字节所在的页标记为无效页。
在一个优选的实施例中,第一阈值为量产阈值;其中,量产阈值为ECC阈值的一半大小。本实施例中,可预先将量产阈值设定为ECC阈值的一半大小,ECC阈值标识ECC码能检测并纠正的最大字节(bit)数。
步骤104,判断样本块的无效页操作方式。
具体的,需判断样本块的无效页操作方式是为填充还是跳过,根据不同的无效页操作方式来确定不同的无效页检测方式。如,当判断样本块的无效页操作方式为跳过,则可猜测样本块中存在自身无效的页或者对其他页产生恶性干扰的页,此时需通过一边编程一边检测的无效页检测方式才能更加准确的找到无效页;当判断样本块的无效页操作方式为填充,则可猜测样本块中存在对其他页产生良性干扰的页,即能使其他本身无效的页变为有效的页,此时将样本块中的页一次性全部编程完,才能使闪存利用更多的空间资源。
在一个实施例中,步骤104包括:对样本块按顺序编程,每次只编程一个页,对比编程前后已编程页中无效页的数量;如果无效页的数量无变化且当前块编程完,则将当前块的无效页操作方式标记为跳过;如果无效页的数量增大,则将当前块的无效页操作方式标记为跳过;如果无效页的数量减小,则将当前块的无效页操作方式标记为填充;对各个样本块的无效页操作方式进行统计,取较大比例的无效页操作方式作为所有样本块的无效页操作方式。
本实施例中,对样本块按照页的编号进行顺序编程,每次只编程一个页,对比编程前后已编程页中无效页的数量,其中已编程页不包括当前编程页。例如,对一个样本块,按照P0,P1,P2…的顺序编程,当编程P6时,编程前,读取P0-P5的无效页数量,编程后,再读取P0-P5的无效页数量,通过对比编程前后的该无效页数量,若没有变化且当前块未编程完,则继续编程下一个页,在编程下一个页的过程中,继续对比编程该页前后已编程页中无效页的数量,直到已编程页中无效页的数量有变化或者无效页无变化且当前块编程完。
进一步的,如果已编程页中无效页的数量无变化且当前块编程完,则将当前块的无效页操作方式标记为跳过;如果该无效页的数量有变化且无效页数量增大时,则将当前块的无效页操作方式标记为跳过,反之,如果无效页的数量有变化且无效页数量减小时,将当前块的无效页操作方式标记为填充。对各样本块的无效页标记完成后,对各个样本块的无效页操作方式进行统计,取较大比例的无效页操作方式作为所有样本块的最终无效页操作方式。例如,一共有10个样本块,如果有6个样本块的无效页操作方式被标记为跳过,另外4个样本块的无效页操作方式被标记为填充,则该10个样本块的最终无效页操作方式为跳过。若3个样本块的无效页操作方式被标记为跳过,另外7个样本块的无效页操作方式被标记为填充,则该10个样本块的最终无效页操作方式为填充。
步骤106,如果样本块的无效页操作方式为填充,则对样本块进行一次性全部编程完,检测出样本块中的无效页。
在一个实施例中,步骤106具体包括:对样本块进行一次性全部编程完;建立用于记录页在所有块中出错的累计数值的动态累计出错页表;当动态累计出错页表中记录的页对应的累计数值大于等于第二阈值,则将该页标记为无效页。
本实施例中,对样本块进行一次性全部编程完,即向样本块中所有的页一次性写入数据。建立动态累计出错页表,用一个数组表示,例如用M{P0,P1,P2…}表示编号分别为P0、P2、P3或更多的页在所有块中出错的累计数值,该数组的数值初始化为0。当样本块中对应编号的页的数据读取错误时,则对应该编号的数组中的数值加1,如当块B0{P0,P1,P2…}的页P0的数据读取错误时,则对应的M{P0}加1,表示编号为P0的页当前累计出错1次,同时,其他样本块的P0页出错,则M{P0}继续加1,以此类推。这样读完所有样本块的数据内容后,将得到一个关于出错页累计数值的数值,如M{P0,P1,P2…}={1,2,3…},表示按顺序读取N个块的数据内容之后,编号为P0的页总共累计出错1次,编号为P1的页总共累计出错2次,编号为P3的页总共累计出错3次,….。
进一步的,当动态累计出错页表中记录的页对应的累计数值大于等于第二阈值,则将所有样本块中的该页都标记为无效页。例如,设定第二阈值为P,将上述得到的值M{P0,P1,P2,…}与P比较,如果页对应的累计数值大于等于P,则认为所有样本块中的页P0都是无效的,将样本块中的该页标记为无效页,即在以后的编程中会跳过该页,如果页对应的累计数值小于P,则认为所有样本块中的该页都是有效的,将样本块中的该页标记为有效页,在以后的编程中正常使用该页。
在一个优选的实施例中,第二阈值为样本块的块数的三分之一。
步骤108,如果样本块的无效页操作方式为跳过,则对样本块按顺序编程,每次只编程一个页,并检测出样本块中的无效页。
在一个实施例中,步骤108具体包括:对各个样本块同时按顺序编程,每次只编程一个页;在编程当前页前,统计已编程页在所有样本块中无效的数量,在编程完当前页后,再统计不包含当前页的已编程页在所有样本块中无效的数量,对比编程前后已编程页在所有样本块中无效的数量,如果无效的数量增大,则当前页标记为无效页,直至所有样本块中的页都编程完。
本实施例中,对各个样本块按照页的编号同时进行顺序编程,也就是对各个样本块同时编程同一个页,每次只编程一个页,对每个页编程前,统计已编程页在所有样本块中的无效页的总数,编程该当前页之后,再统计不包含当前页的已编程页在所有样本块中无效页的总数。比如,对于各个样本块中编号为P6的页进行编程之前,先统计已编程的编号为P0~P5的页在所有样本块中的无效页的总数(记为H),编程P6后,再统计编号为P0~P5的页在所有样本块中的无效页的总数(记为K),通过对比编程前后的该无效页的总数,可以获知当前编程页对其他页是否产生干扰。
如果已编程页在所有样本块中无效的数量增大,则反映了当前页的编程干扰到了其他已编程页,对当前页标记为无效页,即在今后的编程中直接跳过该页。如上例中,判断H值是否大于K值,如果是,则反映了对当前页的编程可以使得之前已编程页出错的数量减小,为了尽可能最大限度的利用闪存空间,就对当前页采取填充的方式;如果否,则反映了对当前页的编程干扰到了其他已编程页,使得其他已编程页出错的数量增大,进而将当前页标记为无效页,在今后的编程中直接跳过该页。
在一个实施例中,步骤108还包括:跳过标记为无效页的页,对样本块再次编程一遍;编程完后,读取编程的页,获取自身无效的疑问,将自身无效的页标记为无效页。
本实施例中,再将会使其他页出错的页找出后(这些页标记为了无效页),则跳过这些页,再将样本块编程一遍。例如,P4、P10为无效页,则不编程P4和P10。编程完后,读取编程的页,获取自身无效的页(也就是自身坏的页),将自身无效的页也标记为无效页。本实施例中,自身无效的页和对其他页产生干扰的页,作为最终的无效页,将在以后的编程中跳过这些页。
如图2所示,在一个实施例中,还提供了一种闪存管理系统,包括:
样本块获取模块220,用于获取样本块。
无效页操作方式判断模块240,用于判断样本块的无效页操作方式。
第一无效页检测模块260,用于如果样本块的无效页操作方式为填充,则对样本块进行一次性全部编程完,检测出样本块中的无效页。
第二无效页检测模块280,用于如果样本块的无效页操作方式为跳过,则对样本块按顺序编程,每次只编程一个页,检测出样本块中的无效页。
在一个实施例中,如图3所示,样本块获取模块220包括:
抽取模块220a,用于在闪存芯片的同一层中随机抽取第一数量的块。
有效无效判断模块220b,用于对抽取的第一数量的块进行一次性编程,对该块中的页进行页的有效无效判断。
样本块确定模块220c,用于当块中的页满足以下条件:当块包含的全部页有效时,该块不用做样本块;当该块包含的全部页无效时,擦除该块,再随机抽取块中的第二数量的页进行编程,并且读取第二数量的页的数据,若第二数量的页至少有一个页是有效的;则将该块作为样本块。
在一个实施例中,有效无效判断模块220b用于当对页进行编程时,对写入的数据内容进行ECC编码,再在读取页的数据内容时进行ECC解码,在解码过程中对该页中错误字节数进行统计,当对页完成ECC解码时,获取该页的最大错误字节数,当最大错误字节数大于第一阈值时,将该页标记为无效页。
进一步的,在一个实施例中,第一阈值为量产阈值;其中,所述量产阈值为ECC阈值的一半大小。
在一个实施例中,如图4所示,无效页操作方式判断模块240包括:
无效页数量对比模块240a,用于对样本块按顺序编程,每次只编程一个页,对比编程前后已编程页中无效页的数量。
无效页操作方式标记模块240b,用于如果无效页的数量无变化且当前块编程完,则将当前块的无效页操作方式标记为跳过,如果无效页的数量增大,则将当前块的无效页操作方式标记为跳过,如果无效页的数量减小,则将当前块的无效页操作方式标记为填充。
无效页操作方式确定模块240c,用于对各个样本块的无效页操作方式进行统计,取较大比例的无效页操作方式作为所有样本块的无效页操作方式。
在一个实施例中,第一无效页检测模块260用于对样本块进行一次性全部编程完;建立用于记录页在所有块中出错的累计数值的动态累计出错页表;当动态累计出错页表中记录的页对应的累计数值大于等于第二阈值,则将该页标记为无效页。
进一步的,在一个实施例中,第二阈值为样本块的块数的三分之一。
在一个实施例中,第二无效页检测模块280用于对各个样本块同时按顺序编程,每次只编程一个页;在编程当前页前,统计已编程页在所有样本块中无效的数量,在编程完当前页后,再统计不包含当前页的已编程页在所有样本块中无效的数量,对比编程前后所述已编程页在所有样本块中无效的数量,如果所述无效的数量增大,则将当前页标记为无效页,直至所有样本块中的页都编程完。
进一步的,在一个实施例中,第二无效页检测模块280还用于跳过标记为无效页的页,对样本块再次编程一遍;编程完后,读取编程的页,获取自身无效的页,将自身无效的页标记为无效页。
上述闪存管理方法和系统,考虑到了闪存不良品芯片中可能包含的无效页的两种情况,对于样本块的无效页操作方式为填充,则对样本块进行一次性全部编程完,再检测出其中的无效页,对于样本块的无效页操方式为跳过,则对样本块按顺序编程,每次只编程一个页,再检测出其中的无效页。由于无效操作方式为填充的样本块包含能对其他页产生良性干扰的的页,对样本块进行一次性全部编程完能够使闪存利用更多的空间资源,而无效操作方式为跳过的样本块包含自身无效或对其他页产生恶性干扰的页,对样本块通过一边编程一边判断无效页的检测方式能够更加准确的检测出无效页。因此,上述闪存管理方法和系统能够尽可能最大限度的利用闪存存储空间,回收利用闪存不良品,使得闪存不良品资源可以高效回收利用,提高了闪存量产良率,节约了生产成本。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种闪存管理方法,所述方法包括:
获取样本块;
判断所述样本块的无效页操作方式;
如果所述样本块的无效页操作方式为填充,则对所述样本块进行一次性全部编程完,检测出所述样本块中的无效页;
如果所述样本块的无效页操作方式为跳过,则对所述样本块按顺序编程,每次只编程一个页,并检测出所述样本块中的无效页。
2.根据权利要求1所述的闪存管理方法,其特征在于,所述获取样本块,包括:
在闪存芯片的同一层中随机抽取第一数量的块;
对所述抽取的第一数量的块进行一次性编程,对所述块中的页进行页的有效无效判断;
当块中的页满足以下条件:当所述块包含的全部页有效时,所述块不用做样本块;当所述块包含的全部页无效时,擦除所述块,再随机抽取块中的第二数量的页进行编程,并且读取所述第二数量的页的数据,若所述第二数量的页至少有一个页是有效的;则将所述块作为样本块。
3.根据权利要求2所述的闪存管理方法,其特征在于,所述页的有效无效判断,包括:
当对所述页进行编程时,对写入的数据内容进行ECC编码,再在读取页的数据内容时进行ECC解码,在解码过程中对所述页中错误字节数进行统计,当对页完成ECC解码时,获取所述页的最大错误字节数,当所述最大错误字节数大于第一阈值时,将所述页标记为无效页。
4.根据权利要求3所述的闪存管理方法,其特征在于,所述第一阈值为量产阈值;其中,所述量产阈值为ECC阈值的一半大小。
5.根据权利要求1所述的闪存管理方法,其特征在于,所述判断样本块中无效页的操作方式,包括:
对所述样本块按顺序编程,每次只编程一个页,对比编程前后已编程页中无效页的数量;
如果所述无效页的数量无变化且当前块编程完,则将当前块的无效页操作方式标记为跳过,如果所述无效页的数量增大,则将当前块的无效页操作方式标记为跳过,如果所述无效页的数量减小,则将当前块的无效页操作方式标记为填充;
对各个样本块的无效页操作方式进行统计,取较大比例的无效页操作方式作为所有样本块的无效页操作方式。
6.根据权利要求1或5所述的闪存管理方法,其特征在于,所述对样本块进行一次性全部编程完,检测出所述样本块中的无效页,包括:
对所述样本块进行一次性全部编程完;
建立用于记录页在所有块中出错的累计数值的动态累计出错页表;
当所述动态累计出错页表中记录的页对应的所述累计数值大于等于第二阈值,则将所述页标记为无效页。
7.根据权利要求6所述的闪存管理方法,其特征在于,所述第二阈值为所述样本块的块数的三分之一。
8.根据权利要求1或5所述的闪存管理方法,其特征在于,所述对样本块按顺序编程,每次只编程一个页,检测出所述样本块中的无效页,包括:
对各个样本块同时按顺序编程,每次只编程一个页;
在编程当前页前,统计已编程页在所有样本块中无效的数量,在编程完当前页后,再统计不包含当前页的已编程页在所有样本块中无效的数量,对比编程前后所述已编程页在所有样本块中无效的数量,如果所述无效的数量增大,则将当前页标记为无效页,直至所有样本块中的页都编程完。
9.根据权利要求8所述的闪存管理方法,其特征在于,所述对样本块按顺序编程,每次只编程一个页,检测出所述样本块中的无效页,还包括:
跳过所述标记为无效页的页,对所述样本块再次编程一遍;
编程完后,读取编程的页,获取自身无效的页,将所述自身无效的页标记为无效页。
10.一种闪存管理系统,其特征在于,所述系统包括:
样本块获取模块,用于获取样本块;
无效页操作方式判断模块,用于判断所述样本块的无效页操作方式;
第一无效页检测模块,用于如果所述样本块的无效页操作方式为填充,则对所述样本块进行一次性全部编程完,检测出所述样本块中的无效页;
第二无效页检测模块,用于如果所述样本块的无效页操作方式为跳过,则对所述样本块按顺序编程,每次只编程一个页,并检测出所述样本块中的无效页。
11.根据权利要求10所述的闪存管理系统,其特征在于,所述样本块获取模块包括:
抽取模块,用于在闪存芯片的同一层中随机抽取第一数量的块;
有效无效判断模块,用于对所述抽取的第一数量的块进行一次性编程,对所述块中的页进行页的有效无效判断;
样本块确定模块,用于当块中的页满足以下条件:当所述块包含的全部页有效时,所述块不用做样本块;当所述块包含的全部页无效时,擦除所述块,再随机抽取块中的第二数量的页进行编程,并且读取所述第二数量的页的数据,若所述第二数量的页至少有一个页是有效的;则将所述块作为样本块。
12.根据权利要求11所述的闪存管理系统,其特征在于,所述有效无效判断模块用于当对所述页进行编程时,对写入的数据内容进行ECC编码,再在读取页的数据内容时进行ECC解码,在解码过程中对所述页中错误字节数进行统计,当对页完成ECC解码时,获取所述页的最大错误字节数,当所述最大错误字节数大于第一阈值时,将所述页标记为无效页。
13.根据权利要求12所述的闪存管理系统,其特征在于,所述第一阈值为量产阈值;其中,所述量产阈值为ECC阈值的一半大小。
14.根据权利要求10所述的闪存管理系统,其特征在于,所述无效页操作方式判断模块包括:
无效页数量对比模块,用于对所述样本块按顺序编程,每次只编程一个页,对比编程前后已编程页中无效页的数量;
无效页操作方式标记模块,用于如果所述无效页的数量无变化且当前块编程完,则将当前块的无效页操作方式标记为跳过,如果所述无效页的数量增大,则将当前块的无效页操作方式标记为跳过,如果所述无效页的数量减小,则将当前块的无效页操作方式标记为填充;
无效页操作方式确定模块,用于对各个样本块的无效页操作方式进行统计,取较大比例的无效页操作方式作为所有样本块的无效页操作方式。
15.根据权利要求10或14所述的闪存管理系统,其特征在于,所述第一无效页检测模块用于对所述样本块进行一次性全部编程完;建立用于记录页在所有块中出错的累计数值的动态累计出错页表;当所述动态累计出错页表中记录的页对应的所述累计数值大于等于第二阈值,则将所述页标记为无效页。
16.根据权利要求15所述的闪存管理系统,其特征在于,所述第二阈值为所述样本块的块数的三分之一。
17.根据权利要求10或14所述的闪存管理系统,其特征在于,所述第二无效页检测模块用于对各个样本块同时按顺序编程,每次只编程一个页;在编程当前页前,统计已编程页在所有样本块中无效的数量,在编程完当前页后,再统计不包含当前页的已编程页在所有样本块中无效的数量,对比编程前后所述已编程页在所有样本块中无效的数量,如果所述无效的数量增大,则将当前页标记为无效页,直至所有样本块中的页都编程完。
18.根据权利要求17所述的闪存管理系统,其特征在于,所述第二无效页检测模块还用于跳过所述标记为无效页的页,对所述样本块再次编程一遍;编程完后,读取编程的页,获取自身无效的页,将所述自身无效的页标记为无效页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310261138.2A CN104252883B (zh) | 2013-06-26 | 2013-06-26 | 闪存管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310261138.2A CN104252883B (zh) | 2013-06-26 | 2013-06-26 | 闪存管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252883A CN104252883A (zh) | 2014-12-31 |
CN104252883B true CN104252883B (zh) | 2017-06-13 |
Family
ID=52187715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310261138.2A Active CN104252883B (zh) | 2013-06-26 | 2013-06-26 | 闪存管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104252883B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108242252B (zh) * | 2016-12-27 | 2023-10-10 | 兆易创新科技集团股份有限公司 | 一种nand闪存芯片的测试样本 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1465012A (zh) * | 2001-06-28 | 2003-12-31 | 松下电器产业株式会社 | 非易失性存储器的控制方法 |
CN101567220A (zh) * | 2008-04-22 | 2009-10-28 | 群联电子股份有限公司 | 闪存的损坏区块辨识方法、储存系统及其控制器 |
CN101944065A (zh) * | 2010-08-24 | 2011-01-12 | 苏州国芯科技有限公司 | 一种基于扇区的闪存坏块屏蔽方法 |
CN102004698A (zh) * | 2010-11-23 | 2011-04-06 | 深圳市江波龙电子有限公司 | 一种闪存管理方法及系统 |
EP2400397A1 (en) * | 2009-10-23 | 2011-12-28 | Shenzhen Netcom Electronics Co., Ltd. | Control method and system for reading and writing data in nonvolatile memory |
CN102708927A (zh) * | 2012-05-09 | 2012-10-03 | 上海宏力半导体制造有限公司 | 提高存储器可靠性的方法以及闪存操作方法 |
CN102880432A (zh) * | 2012-09-29 | 2013-01-16 | 邹粤林 | 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器 |
-
2013
- 2013-06-26 CN CN201310261138.2A patent/CN104252883B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1465012A (zh) * | 2001-06-28 | 2003-12-31 | 松下电器产业株式会社 | 非易失性存储器的控制方法 |
CN101567220A (zh) * | 2008-04-22 | 2009-10-28 | 群联电子股份有限公司 | 闪存的损坏区块辨识方法、储存系统及其控制器 |
EP2400397A1 (en) * | 2009-10-23 | 2011-12-28 | Shenzhen Netcom Electronics Co., Ltd. | Control method and system for reading and writing data in nonvolatile memory |
CN101944065A (zh) * | 2010-08-24 | 2011-01-12 | 苏州国芯科技有限公司 | 一种基于扇区的闪存坏块屏蔽方法 |
CN102004698A (zh) * | 2010-11-23 | 2011-04-06 | 深圳市江波龙电子有限公司 | 一种闪存管理方法及系统 |
CN102708927A (zh) * | 2012-05-09 | 2012-10-03 | 上海宏力半导体制造有限公司 | 提高存储器可靠性的方法以及闪存操作方法 |
CN102880432A (zh) * | 2012-09-29 | 2013-01-16 | 邹粤林 | 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN104252883A (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919454B (zh) | 基于lte协议栈的内存池问题定位方法及其系统 | |
CN103019873B (zh) | 一种存储器故障单元的替换方法及装置、数据存储系统 | |
CN1097227C (zh) | 用于快速eeprom存贮器阵列的错误管理处理 | |
CN101996689B (zh) | 存储器错误处理方法 | |
US8041883B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
CN101763305B (zh) | 一种嵌入式系统内存泄露的检测方法 | |
CN102236600B (zh) | 获得代码覆盖率的方法及装置 | |
CN102725738A (zh) | 使用位值的存储的计数来校正数据错误的系统和方法 | |
CN102222025A (zh) | 一种消除内存故障的方法及装置 | |
CN101901169B (zh) | 扫描装置及方法 | |
CN102971714A (zh) | 用于监控数据存储器的方法 | |
CN101477481A (zh) | 一种自动纠错系统及方法 | |
CN105808371A (zh) | 数据备份与恢复方法、控制芯片及存储装置 | |
CN102789407B (zh) | 内存块有效性检测方法 | |
CN105389195A (zh) | 一种基于代码替换和正则表达式的静态分析工具改进方法 | |
CN104252883B (zh) | 闪存管理方法和系统 | |
CN101345833A (zh) | 具有唯一标识的电视机芯片及写入唯一标识的方法 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
CN107480045A (zh) | 一种电能表软件的检错纠错与轨迹跟踪方法 | |
CN103279402B (zh) | 基于多层单元固态硬盘的数据恢复方法及固态硬盘 | |
CN105788647A (zh) | 一种非易失存储器的纠错方法和装置 | |
CN106354624B (zh) | 一种自动化测试方法和装置 | |
CN204833244U (zh) | 嵌入式微处理器高速缓存4位数据翻转错误的纠正装置 | |
CN111459713A (zh) | 一种内存检测方法和装置 | |
CN107943415B (zh) | 基于fat文件系统的查找空闲簇的方法和系统 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518057 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen jiangbolong electronic Limited by Share Ltd Address before: 518057 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen jiangbolong Electronic Co., Ltd. |