CN104091617B - 一种闪存存储设备检测的方法及装置 - Google Patents
一种闪存存储设备检测的方法及装置 Download PDFInfo
- Publication number
- CN104091617B CN104091617B CN201410269952.3A CN201410269952A CN104091617B CN 104091617 B CN104091617 B CN 104091617B CN 201410269952 A CN201410269952 A CN 201410269952A CN 104091617 B CN104091617 B CN 104091617B
- Authority
- CN
- China
- Prior art keywords
- block
- flash memory
- data
- write
- detection data
- 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
本发明适用于存储设备技术领域,提供了一种闪存存储设备检测的方法及装置,所述方法包括:在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;否则判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记。通过本发明,可有效避免闪存存储设备使用“坏块”存储数据,导致数据出错或丢失的问题。
Description
技术领域
本发明属于存储设备技术领域,尤其涉及一种闪存存储设备检测的方法及装置。
背景技术
闪存存储设备内部包含多个存储块(block),每个存储块包含多个页(page),每个页又包含多个字节(byte)。
由于工艺限制,闪存存储设备在量产时并不能保证每一个存储块为“好块”。因此现有技术通常在闪存存储设备量产时对存储块进行检测,检测出“好块”和“坏块”后,以此对存储块进行分类使用。然而,由于闪存存储设备的不稳定特性,在使用的过程中,也容易出现新的坏块,即量产时检测的“好块”,在使用时不一定是“好块”,从而导致闪存存储设备中存储的内容出现错误或者丢失,使得系统在数据读取时出错,影响整个系统的稳定性。
发明内容
本发明实施例的目的在于提供一种闪存存储设备检测的方法及装置,以避免闪存存储设备使用“坏块”存储数据,导致数据出错或丢失的问题。
本发明实施例是这样实现的,一种闪存存储设备检测的方法,所述方法包括:
在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;
以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记。
本发明实施例的另一目的在于提供一种闪存存储设备检测的装置,所述装置包括:
写入单元,用于在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;
检测单元,用于以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例在闪存存储设备量产之后,进行使用的过程中,利用闪存存储设备空闲的时间对闪存存储设备中的存储块进行检测,并对检测出的坏块和好块进行标记,从而可有效避免闪存存储设备在后续使用中使用“坏块”存储数据,导致数据出错或丢失的问题,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的闪存存储设备检测方法的实现流程图;
图2是本发明实施例二提供的闪存存储设备检测装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的闪存存储设备检测方法的实现流程,该方法过程详述如下:
在步骤S101中,在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作。
在本实施例中,所述空闲状态是指所述闪存存储设备没有任务或者命令需要执行时的状态。所述检测数据与所述闪存存储设备在量产时写入的检测数据不同。本实施例所述检测数据是在所述闪存存储设备量产完之后,用户使用的过程中,通过一些类似用户正常操作写入闪存存储设备的数据对闪存存储设备进行重新检测。
需要说明的是,当本实施例对所述闪存存储设备进行一次以上写入检测数据的操作时,每一次写入的检测数据都互不相同。
在实际操作中,为避免多次写入检测数据并且多次擦除所述检测数据对闪存存储设备使用寿命的影响,优选的是,本实施例通过主机系统对所述闪存存储设备进行一次或两次写入检测数据的操作。其中,所述主机系统为可存储数据的任意系统,例如电脑系统、数码相机、摄影机、通信装置、音讯播放器、视讯播发器等系统。
在步骤S102中,以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记。
较佳的,本实施例所述预先设定的阈值L=(量产阈值*3/4),其中量产阈值设定为ECC阈值的一半大小(ECC阈值表示ECC码能检测并纠正的最大字节(bit)数)。
需要说明的是,当对所述闪存存储设备进行多次写入检测数据的操作时,在每一次写入检测数据后对检测出的好块和坏块进行再次标记;
需要说明的是,对检测出的好块和坏块进行标记时记录的标记信息包含标记的次数信息以及好坏块信息,如第一次写入检测数据检测出的好块标记为“第一次检测过的好块”,坏块标记为“第一次检测过的坏块”。另外,本实施例创造性的引入“再次标记”的目的一方面是可以将每一次的标记信息都保存下来,方便用户可查看到每一次检测标记过的信息,如某一存储块第一次检测为好块,将“第一次检测过的好块”的标记信息保存下来,当该存储块第二次检测又检测为好块时,又将“第二次检测过的好块”的标记信息保存下来,此时可以获取到每一次检测标记过的信息;另一方面,“再次标记”还可以是每一次只保存最后一次检测标记的信息,如某一存储块第一次检测为好块,将“第一次检测过的好块”的标记信息保存下来,当该存储块第二次检测又检测为好块时,将之前的“第一次检测过的好块”更新标记为“第二次检测过的好块”,此时只可以获取到更新的标记信息。
其中,对所述闪存存储设备进行多次写入检测数据时,每次写入的检测数据不同,每次的标记信息也不相同。例如,第一次写入检测数据检测出的好块标记为“第一次检测过的好块”,坏块标记为“第一次检测过的坏块”;对“第一次检测过的好块”第二次写入不同的检测数据检测出的好块再次标记为“第二次检测过的好块”,坏块再次标记为“第二次检测过的坏块”;对“第二次检测过的好块”第三次写入不同的检测数据检测出的好块再次标记为“第三次检测过的好块”,坏块再次标记为“第三次检测过的坏块”…以此类推。
作为本发明的另一较佳示例,本实施例进一步包括:
当对所述闪存存储设备进行多次写入检测数据的操作时,若在当前次检测过程中检测到好块,则将不同的检测数据写入该好块以进行再次检测;或者在当前次检测完后,将不同的检测数据写入所述当前次检测出的所有好块中以进行再次检测。
在本实施例中,可采用两种方式对所述闪存存储设备中的存储块进行再检测,方式一为一检测到“好块”,则立即将不同的检测数据写入该“好块”以进行再次检测,直到达到预先设定的检测次数或者该存储块的检测结果为“坏块”。方式二为在所述闪存存储设备中的全部存储块都检测完后,再将不同的检测数据写入前一次检测出的所有“好块”中以进行再次检测。所述前一次检测为与当前次检测在时间上最接近的一次检测。
以所述闪存存储设备有1024个空块“B0-B1023”为例,假设从B0块开始检测,检测后确定B0块为好块,则立即写入不同的数据对B0块进行第二次检测;也可以在检测完B1023块后,再写入不同的数据对B0块进行第二次检测。由于某些存储块写入某些数据时可以确认为好块,在写入另一些数据时又会确认为坏块,因此本实施例通过写入不同的检测数据对所述闪存存储设备的存储块进行多次不同的检测,可以最大程度的检测出所述闪存存储设备中的坏块,提高闪存存储设备中存储块的良率。
需要说明的是,当对所述闪存存储设备进行多次写入检测数据的操作时,每次只需对前一次检测出的“好块”进行再检测。为了便于理解,以写入两次不同检测数据为例子,假设第一次检测数据写入了所述闪存存储设备中的空块B10,B11,B12,B13(B10表示编号为10的空块,其余类推),经过ECC校验后,检测出B10、B12为“好块”,B11、B13为“坏块”,则第二次不同检测数据只需写入所述检测标记出的“好块”,即B10,B12中。
另外,还需要说明的是,上述步骤S101和S102是在所述闪存存储设备处于空闲状态时进行的。但是在实际应用中,所述闪存存储设备的工作状态会经常在“空闲”和“忙碌”之间变化,即当所述闪存存储设备在执行步骤S101和S102过程中的任何时刻,其工作状态都有可能转为“忙碌”状态,即有任务或者命令需要去执行,在这种情况下,本实施例所述闪存存储设备会中断正在执行的步骤S101和S102,优先执行所述任务或者命令,待所述任务或者命令执行完后,再返回中断现场,继续执行步骤S101和S102。
进一步的,本实施例所述对所述闪存存储设备写入检测数据包括:
对所述闪存存储设备中的空块写入检测数据,其中所述空块为未被写入过任何数据的存储块或者写入的数据已被删除且未被标记为坏块的存储块,所述空块的数量为一个或者多个。
本发明实施例通过在闪存存储设备正常的工作过程中,利用其空闲时间对所述闪存存储设备中的空块或者所述闪存存储设备量产时检测出的“好块”进行再次检测,并再次标记出“好块”、“坏块”信息,使得所述闪存存储设备在后续的使用中可以跳过“坏块”直接使用“好块”,从而可以有效避免现有闪存存储设备在使用过程中使用“坏块”存储数据,导致数据出错或丢失的问题。
作为本发明的另一较佳示例,本实施例还提供了根据上述检测出的“好块”,对所述“好块”进行以SLC和MLC结合的方式写入数据的步骤,其中所述闪存存储设备至少包含一多层单元闪存,具体如下:
步骤1:在接收到写指令时,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页。
具体的是,判断所述闪存存储设备中空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量是否大于预先设定的临界值,若是,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页。
其中,所述空的多层单元闪存存储块为未写入数据的多层单元闪存存储块,所述空的单层单元闪存存储块为未写入数据的单层单元闪存存储块,所述临界值为一比例值。需要说明的是,本实施例中所述临界值为一比例值,“比例”值与“个数”值是存在不同的,“个数”值是一个静态的值,而“比例”值是一个动态的值,例如如果设置的是“个数”值,“个数”值为6,而某闪存存储设备存储空间较小,其存储块只有5个,则无法满足数据写入的条件。而如果设置的是“比例”,例如“比例”为20%,如果存储块只有5个,那么只要空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量大于1个时,即可以写入数据。
步骤2:当所述闪存存储设备处于空闲状态或者所述空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量达到预先设定的临界值时,获取空的多层单元闪存存储块,将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中。
其中,所述将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中具体包括:
获取空的多层单元闪存存储块和/或空的单层单元闪存存储块,将以SLC方式写入有数据的多层单元闪存存储块上的数据以MLC方式搬移到所述获取的空的多层单元闪存存储块上的所有闪存页和/或空的单层单元闪存存储块上的所有闪存页,并擦除所述以SLC方式写入有数据且数据进行了以MLC方式转移存储的多层单元闪存存储块。
需要说明的是,对于SLC型闪存存储设备和MLC闪存存储设备,SLC型闪存存储设备中所有的页都具有写入速度快以及稳定可靠的特性,而MLC型闪存存储设备中只有部分页(即最低有效位页)具有写入速度快以及稳定可靠的特性。通常,将数据只写入上述“具有写入速度快且稳定可靠的特性的页”的写入方式定义为SLC方式写入,将数据写入MLC型闪存的所有页定义为MLC方式写入。
本发明实施例为了进一步提高闪存存储设备的使用效率,将上述检测出的“好块”与更加稳定可靠的数据写入方式进行结合对数据进行写入操作,如以SLC和MLC方式结合的写入方式,充分利用了SLC与MLC结合的优势,使得闪存存储设备中存储块资源使用更加快速、稳定。
实施例二:
图2示出了本发明实施例二提供的闪存存储设备检测装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该闪存存储设备检测装置可以应用于闪存存储设备中,可以是运行于闪存存储设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到闪存存储设备中或者运行于闪存存储设备的应用系统中。
该闪存存储设备检测装置包括第一写入单元21以及第一检测单元22。其中,各单元的具体功能如下:
第一写入单元21,用于在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;
第一检测单元22,用于以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记。
进一步的,所述装置还包括:
再次标记单元23,用于当对所述闪存存储设备进行多次写入检测数据的操作时,在每一次写入检测数据后对检测出的好块和坏块进行再次标记;
需要说明的是,对检测出的好块和坏块进行标记时记录的标记信息包含标记的次数信息以及好坏块信息,如第一次写入检测数据检测出的好块标记为“第一次检测过的好块”,坏块标记为“第一次检测过的坏块”。另外,本实施例创造性的引入“再次标记”的目的一方面是可以将每一次的标记信息都保存下来,方便用户可查看到每一次检测标记过的信息,如某一存储块第一次检测为好块,将“第一次检测过的好块”的标记信息保存下来,当该存储块第二次检测又检测为好块时,又将“第二次检测过的好块”的标记信息保存下来,此时可以获取到每一次检测标记过的信息;另一方面,“再次标记”还可以是每一次只保存最后一次检测标记的信息,如某一存储块第一次检测为好块,将“第一次检测过的好块”的标记信息保存下来,当该存储块第二次检测又检测为好块时,将之前的“第一次检测过的好块”更新标记为“第二次检测过的好块”,此时只可以获取到更新的标记信息。
其中,对所述闪存存储设备进行多次写入检测数据,每次写入的检测数据不同,每次的标记信息也不相同。例如,第一次写入检测数据检测出的好块标记为“第一次检测过的好块”,坏块标记为“第一次检测过的坏块”;对“第一次检测过的好块”第二次写入不同的检测数据检测出的好块再次标记为“第二次检测过的好块”,坏块再次标记为“第二次检测过的坏块”;对“第二次检测过的好块”第三次写入不同的检测数据检测出的好块再次标记为“第三次检测过的好块”,坏块再次标记为“第三次检测过的坏块”…以此类推。
进一步的,所述装置还包括:
第二检测单元24,用于当对所述闪存存储设备进行多次写入检测数据的操作时,若在当前次检测过程中检测到好块,则将不同的检测数据写入该好块以进行再次检测;或者在当前次检测完后,将不同的检测数据写入所述当前次检测出的所有好块中以进行再次检测。
进一步的,所述第一写入单元21具体用于:
对所述闪存存储设备中的空块写入检测数据,所述空块为未被写入过任何数据的存储块或者写入的数据已被删除且未被标记为坏块的存储块,所述空块的数量为一个或者多个。
进一步的,所述闪存存储设备至少包含一多层单元闪存,所述装置还包括:
第二写入单元25,用于在接收到写指令时,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页。
进一步的,所述第二写入单元25具体用于:
判断所述闪存存储设备中空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量是否大于预先设定的临界值,若是,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页;
其中,所述空的多层单元闪存存储块为未写入数据的多层单元闪存存储块,所述空的单层单元闪存存储块为未写入数据的单层单元闪存存储块,所述临界值为一比例值。
进一步的,所述装置还包括:
数据搬移单元26,用于当所述闪存存储设备处于空闲状态或者所述空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量达到预先设定的临界值时,获取空的多层单元闪存存储块,将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中。
进一步的,所述数据搬移单元26具体用于:
获取空的多层单元闪存存储块和/或空的单层单元闪存存储块,将以SLC方式写入有数据的多层单元闪存存储块上的数据以MLC方式搬移到所述获取的空的多层单元闪存存储块上的所有闪存页和/或空的单层单元闪存存储块上的所有闪存页,并擦除所述以SLC方式写入有数据且数据进行了以MLC方式转移存储的多层单元闪存存储块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明实施例在闪存存储设备量产之后,进行使用的过程中,利用闪存存储设备空闲的时间(即处于空闲状态时)对闪存存储设备中的存储块进行检测,并对检测出的坏块和好块进行标记,从而可有效避免闪存存储设备在后续使用中使用“坏块”存储数据,导致数据出错或丢失的问题。而且,为了进一步提高闪存的使用效率,将检测出的“好块”与更加稳定可靠的数据写入方式进行结合对数据进行写入操作,如以SLC和MLC方式结合的写入方式,充分利用了SLC与MLC结合的优势,使得闪存块资源使用更加快速、稳定,具有较强的易用性和实用性。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (8)
1.一种闪存存储设备检测的方法,其特征在于,所述方法包括:
在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;
以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;
当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记;
所述闪存存储设备至少包含一多层单元闪存,所述方法还包括:
在接收到写指令时,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页;
所述将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页包括:
判断所述闪存存储设备中空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量是否大于预先设定的临界值,若是,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页;
其中,所述空的多层单元闪存存储块为未写入数据的多层单元闪存存储块,所述空的单层单元闪存存储块为未写入数据的单层单元闪存存储块,所述临界值为一比例值;
所述方法还包括:
当所述闪存存储设备处于空闲状态或者所述空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量达到预先设定的临界值时,获取空的多层单元闪存存储块,将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中;
所述将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中包括:
获取空的多层单元闪存存储块和/或空的单层单元闪存存储块,将以SLC方式写入有数据的多层单元闪存存储块上的数据以MLC方式搬移到所述获取的空的多层单元闪存存储块上的所有闪存页和/或空的单层单元闪存存储块上的所有闪存页,并擦除所述以SLC方式写入有数据且数据进行了以MLC方式转移存储的多层单元闪存存储块。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当对所述闪存存储设备进行多次写入检测数据的操作时,在每一次写入检测数据后对检测出的好块和坏块进行再次标记;
其中,每次写入的检测数据不同,每次的标记信息也不相同。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当对所述闪存存储设备进行多次写入检测数据的操作时,若在当前次检测过程中检测到好块,则将不同的检测数据写入该好块以进行再次检测;或者在当前次检测完后,将不同的检测数据写入所述当前次检测出的所有好块中以进行再次检测。
4.如权利要求1至3任一项所述的方法,其特征在于,所述对所述闪存存储设备写入检测数据包括:
对所述闪存存储设备中的空块写入检测数据,所述空块为未被写入过任何数据的存储块或者写入的数据已被删除且未被标记为坏块的存储块,所述空块的数量为一个或者多个。
5.一种闪存存储设备检测的装置,其特征在于,所述装置包括:
第一写入单元,用于在所述闪存存储设备上电后,且所述闪存存储设备处于空闲状态时,对所述闪存存储设备进行至少一次写入检测数据的操作;
第一检测单元,用于以存储块为单位读取写入所述闪存存储设备的检测数据,并对从每一个存储块中读取的所述检测数据进行ECC校验,当校验结果为当前存储块中读取的所述检测数据的最大错误字节数大于或等于预先设定的阈值时,判定所述当前存储块为坏块,并对所述当前存储块进行标记;
当校验结果为当前存储块中读取的所述检测数据的最大错误字节数小于预先设定的所述阈值时,判定所述当前存储块为好块,擦除写入该存储块的检测数据,并对该存储块进行标记;
所述闪存存储设备至少包含一多层单元闪存,所述装置还包括:
第二写入单元,用于在接收到写指令时,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页;
所述第二写入单元具体用于:
判断所述闪存存储设备中空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量是否大于预先设定的临界值,若是,将所述写指令中包含的待写入数据以SLC方式写入到所述好块中的多层单元闪存存储块的最低有效位页和/或单层单元闪存存储块的闪存页;
其中,所述空的多层单元闪存存储块为未写入数据的多层单元闪存存储块,所述空的单层单元闪存存储块为未写入数据的单层单元闪存存储块,所述临界值为一比例值;
所述装置还包括:
数据搬移单元,用于当所述闪存存储设备处于空闲状态或者所述空的多层单元闪存存储块的数量和/或空的单层单元闪存存储块的数量达到预先设定的临界值时,获取空的多层单元闪存存储块,将以SLC方式写入的所述待写入数据以MLC方式搬移到所述获取的空的多层单元闪存存储块中;
所述数据搬移单元具体用于:
获取空的多层单元闪存存储块和/或空的单层单元闪存存储块,将以SLC方式写入有数据的多层单元闪存存储块上的数据以MLC方式搬移到所述获取的空的多层单元闪存存储块上的所有闪存页和/或空的单层单元闪存存储块上的所有闪存页,并擦除所述以SLC方式写入有数据且数据进行了以MLC方式转移存储的多层单元闪存存储块。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
再次标记单元,用于当对所述闪存存储设备进行多次写入检测数据的操作时,在每一次写入检测数据后对检测出的好块和坏块进行再次标记;
其中,每次写入的检测数据不同,每次的标记信息也不相同。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二检测单元,用于当对所述闪存存储设备进行多次写入检测数据的操作时,若在当前次检测过程中检测到好块,则将不同的检测数据写入该好块以进行再次检测;或者在当前次检测完后,将不同的检测数据写入所述当前次检测出的所有好块中以进行再次检测。
8.如权利要求5至7任一项所述的装置,其特征在于,所述第一写入单元具体用于:
对所述闪存存储设备中的空块写入检测数据,所述空块为未被写入过任何数据的存储块或者写入的数据已被删除且未被标记为坏块的存储块,所述空块的数量为一个或者多个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410269952.3A CN104091617B (zh) | 2014-06-17 | 2014-06-17 | 一种闪存存储设备检测的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410269952.3A CN104091617B (zh) | 2014-06-17 | 2014-06-17 | 一种闪存存储设备检测的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104091617A CN104091617A (zh) | 2014-10-08 |
CN104091617B true CN104091617B (zh) | 2017-05-03 |
Family
ID=51639327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410269952.3A Active CN104091617B (zh) | 2014-06-17 | 2014-06-17 | 一种闪存存储设备检测的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104091617B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11889480B2 (en) | 2019-04-30 | 2024-01-30 | Bank Of America Corporation | Resource distribution hub generation on a mobile device |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI566249B (zh) * | 2014-11-21 | 2017-01-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料寫入方法與其控制裝置 |
KR20160072706A (ko) * | 2014-12-15 | 2016-06-23 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
CN104794019B (zh) * | 2015-04-17 | 2017-12-05 | 深圳市江波龙电子有限公司 | 一种嵌入式存储器的数据保护方法及装置 |
CN105302499B (zh) * | 2015-11-25 | 2018-08-28 | 上海新储集成电路有限公司 | 延长混合存储器中数据保持时间的方法 |
CN105575441A (zh) * | 2015-12-11 | 2016-05-11 | 格科微电子(上海)有限公司 | 动态随机存储器的缺陷修复方法及电路 |
TWI581093B (zh) * | 2016-06-24 | 2017-05-01 | 慧榮科技股份有限公司 | 資料儲存媒體之損壞資料行的篩選方法 |
CN106158047A (zh) * | 2016-07-06 | 2016-11-23 | 深圳佰维存储科技股份有限公司 | 一种nand flash测试方法 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
CN106776095B (zh) * | 2016-12-22 | 2020-01-03 | 湖南国科微电子股份有限公司 | Ssd固态硬盘数据可靠性智能检测方法及检测装置 |
CN110325970A (zh) * | 2017-03-02 | 2019-10-11 | 昕诺飞控股有限公司 | 监控和调节连接的设备系统中的存储器使用 |
CN107357534A (zh) * | 2017-07-18 | 2017-11-17 | 深圳市德名利电子有限公司 | 一种闪存块模式的动态切换方法及系统 |
CN107391300B (zh) * | 2017-07-26 | 2020-07-14 | 湖南国科微电子股份有限公司 | 一种提高闪存数据存储可靠性的方法及系统 |
KR102410306B1 (ko) * | 2018-01-29 | 2022-06-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN108231134B (zh) * | 2018-02-08 | 2021-06-25 | 芯颖科技有限公司 | Ram良率补救方法及装置 |
CN110265083B (zh) * | 2018-03-12 | 2021-07-27 | 旺宏电子股份有限公司 | 存储器装置的数据探测方法 |
CN108572924B (zh) * | 2018-04-20 | 2021-10-08 | 华中科技大学 | 一种3d mlc闪存设备的请求处理方法 |
CN109032524A (zh) * | 2018-07-26 | 2018-12-18 | 浪潮电子信息产业股份有限公司 | 一种坏块标记的方法以及相关装置 |
CN109491925A (zh) * | 2018-09-20 | 2019-03-19 | 中山市江波龙电子有限公司 | 存储设备及其数据写入方法、存储装置 |
CN109491592B (zh) * | 2018-09-20 | 2022-11-15 | 中山市江波龙电子有限公司 | 存储设备及其数据写入方法、存储装置 |
CN109346121B (zh) * | 2018-10-29 | 2020-11-27 | 深圳市江波龙电子股份有限公司 | 一种存储芯片的测试方法以及测试装置 |
CN109830257A (zh) * | 2019-01-24 | 2019-05-31 | 山东华芯半导体有限公司 | 一种NAND Flash弱块筛选的方法 |
CN109992443B (zh) * | 2019-03-06 | 2023-03-10 | 珠海妙存科技有限公司 | 一种nand闪存数据检查方法 |
CN111930302A (zh) * | 2020-06-30 | 2020-11-13 | 深圳佰维存储科技股份有限公司 | 数据读取方法、装置、计算机可读存储介质及电子设备 |
CN112083891B (zh) * | 2020-09-22 | 2022-12-06 | 深圳芯邦科技股份有限公司 | 一种存储器中数据块的检测方法及相关设备 |
CN113223583A (zh) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | NAND Flash坏块内数据重读的方法、电子设备及存储介质 |
CN113918091B (zh) * | 2021-09-13 | 2022-06-07 | 北京得瑞领新科技有限公司 | Nand闪存中物理块的控制方法、装置及ssd设备 |
CN115470052B (zh) * | 2022-07-04 | 2023-11-10 | 上海江波龙数字技术有限公司 | 存储芯片的坏块检测方法、检测装置及存储介质 |
CN115495024B (zh) * | 2022-11-16 | 2023-03-10 | 石家庄科林电气股份有限公司 | 基于NandFlash的录波文件存储方法、装置、终端及存储介质 |
CN117789808A (zh) * | 2024-02-26 | 2024-03-29 | 合肥康芯威存储技术有限公司 | 一种存储器及其坏块纠错方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826368A (zh) * | 2009-04-08 | 2010-09-08 | 深圳市朗科科技股份有限公司 | 数据扫描方法和扫描装置 |
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN103366831A (zh) * | 2013-07-25 | 2013-10-23 | 上海宏力半导体制造有限公司 | 存储器的检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012082792A2 (en) * | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
-
2014
- 2014-06-17 CN CN201410269952.3A patent/CN104091617B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826368A (zh) * | 2009-04-08 | 2010-09-08 | 深圳市朗科科技股份有限公司 | 数据扫描方法和扫描装置 |
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN103366831A (zh) * | 2013-07-25 | 2013-10-23 | 上海宏力半导体制造有限公司 | 存储器的检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11889480B2 (en) | 2019-04-30 | 2024-01-30 | Bank Of America Corporation | Resource distribution hub generation on a mobile device |
Also Published As
Publication number | Publication date |
---|---|
CN104091617A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104091617B (zh) | 一种闪存存储设备检测的方法及装置 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
US20150186225A1 (en) | Data storage device and flash memory control method | |
CN102929748B (zh) | 数据备份方法及装置 | |
CN108089951A (zh) | 存储系统中的加速数据恢复 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN103392164A (zh) | 存储系统和存储控制方法 | |
CN105868122A (zh) | 快闪存储设备的数据处理方法及装置 | |
CN104461391A (zh) | 一种存储设备元数据管理处理方法及系统 | |
CN106062723A (zh) | 禁用与存储器设备相关联的命令 | |
JP2006099763A5 (zh) | ||
CN103064760B (zh) | 备份方法和备份装置 | |
CN103677674B (zh) | 一种数据处理方法及装置 | |
CN108415853A (zh) | 一种垃圾回收的方法、装置及存储设备 | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
CN108874309B (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN104978148A (zh) | 数据写入方法及装置、数据读取方法及装置 | |
CN103914397B (zh) | 闪存存储设备及其管理方法 | |
CN103049389A (zh) | Nand闪存控制器及其写入控制方法 | |
CN109582216A (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN103389926A (zh) | 一种用于对虚拟磁盘进行备份的方法和装置 | |
KR101996641B1 (ko) | 메모리 오버레이 장치 및 방법 | |
CN102025758B (zh) | 分布式系统中数据副本的恢复方法、装置和系统 | |
CN109144754A (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 | ||
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. |