一种对闪存进行重读操作的方法及装置制造方法

文档序号:6542855阅读:135来源:国知局
一种对闪存进行重读操作的方法及装置制造方法
【专利摘要】本发明公开了一种对闪存进行重读操作的方法及装置,该方法包括:S10、在针对闪存的一个存储页进行读取操作时,对存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;S20、在第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在该第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机;S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20。采用本发明可提高闪存的读取效率。
【专利说明】一种对闪存进行重读操作的方法及装置
【技术领域】
[0001]本发明涉及到计算机领域,特别涉及到一种对闪存进行重读操作的方法及装置。【背景技术】
[0002]闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。由于闪存在没有电流供应的情况下也能够长久地保存数据,使得闪存成为各类便携型数字设备使用的存储介质。
[0003]闪存通常情况下包括多个存储页,每个存储页包括多个扇区。在对闪存进行读取操作时,对每个存储页的扇区进行一个一个读取。在遇到读取错误时,需要对读取错误的扇区进行重新读取。在现有方案中,在读取闪存遇到读取错误进行重读的方案为:只要在读取闪存的过程中一遇到读取某个扇区出现错误,就从正常读取流程(采用默认读取参数)转换到重读流程(采用重读参数,可有多组重读参数)对读取错误的扇区进行重读,在对该读取错误的扇区重读后读取正常时,将从重读流程切换回正常读取流程。当在闪存的一个存储页中出现2个或以上的扇区出现读取错误时,就需要不停的在正常读取流程和重读流程中切换,导致读取效率低。
[0004]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0005]本发明的主要目的为提供一种对闪存进行重读操作的方法,旨在提高闪存的读取效率。
[0006]为实现上述目的,本发明提供一种对闪存进行重读操作的方法,该方法包括:
[0007]S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
[0008]S20、在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在所述第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
[0009]S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
[0010]优选地,在所述步骤SlO之后,该方法还包括:
[0011]在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
[0012]优选地,在所述步骤SlO之前,该方法还包括:
[0013]S40、预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
[0014]优选地,所述记录读取错误的扇区的读取错误状态的步骤包括:
[0015]通过记录表记录读取错误的扇区的读取错误状态。
[0016]优选地,所述记录表还用于记录读取正确的扇区的读取正确状态。
[0017]本发明进一步提供一种对闪存进行重读操作的装置,该装置包括:
[0018]读取操作模块,用于在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
[0019]循环控制模块,用于在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
[0020]所述读取操作模块,还用于在所述第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
[0021]所述循环控制模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
[0022]所述读取操作模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数对该存储页进行新的读取操作,并将在上一次读取操作中该存储页的读取错误状态扇区读取的数据传送给主机,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
[0023]优选地,所述读取操作模块还用于在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
[0024]优选地,所述装置还包括设置模块,用于预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
[0025]优选地,所述循环控制模块包括记录单元,用于通过记录表记录读取错误的扇区的读取错误状态。
[0026]优选地,所述记录表还用于记录读取正确的扇区的读取正确状态。
[0027]采用本发明,在针对闪存的一个存储页进行读取操作时,首先对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;在第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机;在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复读取,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕;可提高闪存的读取效率。
【专利附图】

【附图说明】
[0028]图1为本发明的对闪存进行重读操作的方法的第一实施例流程示意图;[0029]图2为本发明的对闪存进行重读操作的方法的第二实施例流程示意图;
[0030]图3为本发明的对闪存进行重读操作的装置的第一实施例结构示意图;
[0031]图4为本发明的对闪存进行重读操作的装置的第二实施例结构示意图。
[0032]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0033]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0034]参照图1,图1为本发明的对闪存进行重读操作的方法的第一实施例流程示意图,该方法包括:
[0035]S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存。
[0036]闪存通常包括多个存储页。在该步骤SlO中,在对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,如当该存储页有8个扇区时,则依次对该8个扇区都按第一组预设读取参数进行第一次读取操作,如当该存储页有16个扇区时,则依次对该16个扇区都按第一组预设读取参数进行第一次读取操作,等等。在该步骤SlO中,将读取的数据传送给主机进行保存,如将从该存储页的8个扇区读取的数据传送给主机,该主机将这8个扇区的数据依次进行保存,将从第一扇区读取的数据保存在第一存 储单元,将从第二扇区读取的数据保存在第二存储单元,将从第三扇区读取的数据保存在第三存储单元,……将从第八扇区读取的数据保存在第八存储单元。
[0037]该第一组预设读取参数为默认的读取参数,即在对存储页进行第一次读取时,都采用该第一组预设读取参数对存储页进行读取操作。该第一组预设读取参数可以有一个或多个参数,在一个实施例中,该第一组预设读取参数包括:阈值电压Vtl、感知电压Vsl。
[0038]S20、在该第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在该第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据。
[0039]在第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,具体的,可通过记录表记录读取错误的扇区的读取错误状态。该记录表中包括读取错误的扇区的标识号及该读取错误的扇区的读取错误状态,通常可用O表示读取错误状态,该记录表如表一所示。
[0040]表一
[0041]
【权利要求】
1.一种对闪存进行重读操作的方法,其特征在于,该方法包括: S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存; S20、在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在所述第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据; S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
2.如权利要求1所述的方法,其特征在于,在所述步骤SlO之后,该方法还包括: 在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
3.如权利要求1所述的方法,其特征在于,在所述步骤SlO之前,该方法还包括: S40、预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
4.如权利要求1所述的方法,其特征在于,所述记录读取错误的扇区的读取错误状态的步骤包括: 通过记录表记录读取错误的扇区的读取错误状态。
5.如权利要求4所述的方法,其特征在于,所述记录表还用于记录读取正确的扇区的读取正确状态。
6.一种对闪存进行重读操作的装置,其特征在于,该装置包括: 读取操作模块,用于在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;循环控制模块,用于在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态; 所述读取操作模块,还用于在所述第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;所述循环控制模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;所述读取操作模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数对该存储页进行新的读取操作,并将在上一次读取操作中该存储页的读取错误状态扇区读取的数据传送给主机,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
7.如权利要求6所述的装置,其特征在于,所述读取操作模块还用于在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
8.如权利要求6所述的装置,其特征在于,所述装置还包括设置模块,用于预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
9.如权利要求6所述的装置,其特征在于,所述循环控制模块包括记录单元,用于通过记录表记录读取错误的扇区的读取错误状态。
10.如权利要求9所述的装置,其特征在于,所述记录表还用于记录读取正确的扇区的读取正确状态。
【文档编号】G06F11/10GK103914358SQ201410132315
【公开日】2014年7月9日 申请日期:2014年4月3日 优先权日:2014年4月3日
【发明者】许智鑫, 吴大畏, 陈寄福 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1