闪存管理方法、闪存存储设备及计算机可读存储介质技术

技术编号:20044577 阅读:31 留言:0更新日期:2019-01-09 04:03
本发明专利技术适用于数据处理技术领域,提供了一种闪存管理方法、闪存存储设备及计算机可读存储介质,其中,一种闪存管理方法,通过在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;判断数据的错误率是否小于预设的第一阈值;若否,将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,调用错误检测和纠正工具对读取的数据进行纠错,并循环执行纠错和判断数据的错误率大小;若是,数据读取结束;提高了闪存数据存储的稳定性。

【技术实现步骤摘要】
闪存管理方法、闪存存储设备及计算机可读存储介质
本专利技术属于闪存数据管理
,尤其涉及一种闪存管理方法、闪存存储设备及计算机可读存储介质。
技术介绍
闪存(Flash)是一种非挥发性的半导体存储芯片,具有体积小、功耗低、无磁头等运动器件、不易受物理破坏的优点,是现有便携式存储设备的理想存储介质。以闪存为存储介质的设备包括有U盘、SD卡(SecureDigitalMemoryCard,安全数码卡)、SSD(SolidStateDisk,固态硬盘)、MP3、eMMC(嵌入式多媒体卡)等闪存存储设备。闪存通常具有如下的物理结构:每片封装片分为一颗或多个晶粒(Dice);每颗晶粒分为多个块(Block);每个块分为多个页面(Page)。对闪存的数据操作有三种类型:擦除、写入和读取,其中写入操作也称为编程操作,且写入操作只能在空的单元或者已擦除成空的单元内进行。受闪存的物理特性影响,擦除时必须以块为单位,写入时必须以页为单位。读取操作则具有比较大的随意性,多数闪存可以以字节为单位读取。闪存存储设备包括主控芯片和闪存,操作闪存的主控芯片一般都会有纠错功能,在闪存内数据出错的情况下,可以把错误的数据纠正回来。如ECC(ErrorCodeCorrect,差错纠正)纠错功能,但是ECC纠错能力是有限的,当闪存内数据出错的比特数目超出了ECC的最大纠错能力时,从闪存内读取的数据就是错误的了,就会导致数据损坏或者数据丢失。现有技术中,闪存存储设备在长时间存储,高温或者其他条件下,会漏电使得电子不足,导致闪存存储设备中存储的数据的错误率升高,从而超出纠错工具可以纠错的范围,造成闪存存储设备中数据丢失,导致数据存储不稳定的问题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种闪存管理方法、闪存存储设备及计算机可读存储介质,以提高对数据进行存储的稳定性。本专利技术实施例的第一方面提供了一种闪存管理方法,包括:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4;步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。本专利技术实施例的第二方面提供了一种闪存存储设备,包括闪存、控制器以及存储在所述闪存和/或所述控制器的内存中并可在所述控制器上运行的计算机程序,所述控制器执行所述计算机程序时实现以下步骤:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4;步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。本专利技术实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被控制器执行时实现以下步骤:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4;步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。实施本专利技术实施例提供的一种闪存管理方法、闪存及计算机可读存储介质具有以下有益效果:本专利技术实施例,通过在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;判断数据的错误率是否小于预设的第一阈值;若否,将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,调用错误检测和纠正工具对读取的数据进行纠错,并循环执行纠错和判断数据的错误率大小;若是,数据读取结束;提高了闪存数据存储的稳定性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例提供的一种闪存管理方法的实现流程图;图2是本专利技术另一实施例提供的一种闪存管理方法的实现流程图;图3是本专利技术再一实施例提供的一种闪存管理方法的实现流程图;图4是本专利技术又一实施例提供的一种闪存管理方法的实现流程图;图5是本专利技术一实施例提供的一种闪存装置的结构框图;图6是本专利技术另一实施例提供的一种闪存装置的结构框图;图7是本专利技术再一实施例提供的一种闪存存储设备的示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例,通过在读取闪存中的数据时,调用ECC对读取的数据进行纠错,并将纠错后的数据存储至RAM中,获取数据纠错过程中的错误率,当错误率大于预设阈值时,纠错后的数据复写至存储单元中得到错误率小于或等于预设阈值的目标数据,解决了闪存对数据进行存储时,存在稳定性较低的问题。在本专利技术实施例中,流程的执行主体为闪存存储设备,闪存存储设备中包括控制器和用于存储数据的闪存。图1示出了本专利技术一实施例提供的闪存管理方法的实现流程图,详述如下:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错。步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4。步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。在步骤A3中,将纠错后的数据写入所述目标存储位置,不需要预先擦除所述目标存储位置上的数据,而是将纠错后的数据直接写入所述目标存储位置。本专利技术实施例,通过在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;判断数据的错误率是否小于预设的第一阈值;若否,将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,调用错误检测和纠正工具对读取的数据进行纠错,并循环执行纠错和判断数据的错误率大小;若是,数据读取结束;提高了闪存数据存储的稳定性。图2示出了本专利技术另一实施例提供的闪存管理方法的实现流程图,详述如下:作为本实施例一种可能实现的方式,闪存管理方法,还包括:步骤B1:在写入数据至闪存中目标存储位置上时,待数据写入完成后,读取闪存中目标存储位置上的数据。步骤C1:在写入数据至闪存中目标存储位置上时,待数据写入完成后,记录写入数据的时间,当写入数据的时间间隔达到预设的第二阈值时,读取闪存中目标存储位置上的数据。在本实施例中,第二阈值通过闪存的类型、闪存的使用环境分析所述闪存中数据的出错概率之后设定。结合图1或图2,作为本实施例一种可能实现的方式,闪存管理方法,还本文档来自技高网
...

【技术保护点】
1.一种闪存管理方法,其特征在于,包括:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4;步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。

【技术特征摘要】
1.一种闪存管理方法,其特征在于,包括:步骤A1:在读取闪存中目标存储位置上的数据时,调用错误检测和纠正工具对读取的数据进行纠错;步骤A2:判断所述数据的错误率是否小于预设的第一阈值;若否,执行步骤A3;若是,执行步骤A4;步骤A3:将纠错后的数据写入所述目标存储位置,写入完成后,读取闪存中目标存储位置上的数据,回到步骤A1,并循环执行步骤A1、步骤A2;步骤A4:数据读取结束。2.根据权利要求1所述的闪存管理方法,其特征在于,还包括:步骤B1:在写入数据至闪存中目标存储位置上时,待数据写入完成后,读取闪存中目标存储位置上的数据。3.根据权利要求1所述的闪存管理方法,其特征在于,还包括:步骤C1:在写入数据至闪存中目标存储位置上时,待数据写入完成后,记录写入数据的时间,当写入数据的时间间隔达到预设的第二阈值时,读取闪存中目标存储位置上的数据。4.根据权利要求3所述的闪存管理方法,其特征在于,所述第二阈值通过闪存的类型、闪存的使用环境分析所述闪存中数据的出错概率之后设定。5.根据权利要求1-4任一项所述的闪存管理方法,其特征在于,还包括:对将纠错后的数据写入所述目标存储位置的写入次数进行记数,在步骤A2之后,且在步骤A3之前,执行步骤D1;步骤D1:判断所述写入次数是否达到预设的第三阈值;若是,执行步骤D2;若否,执行步骤A3;步骤D2:申请闪存中新的存储位置,将纠错后的数据写入所述新的存储位置。6.一种闪存存储设备,其...

【专利技术属性】
技术研发人员:梁小庆李志雄邓恩华
申请(专利权)人:深圳市江波龙电子股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1