CN103914358A - 一种对闪存进行重读操作的方法及装置 - Google Patents
一种对闪存进行重读操作的方法及装置 Download PDFInfo
- Publication number
- CN103914358A CN103914358A CN201410132315.1A CN201410132315A CN103914358A CN 103914358 A CN103914358 A CN 103914358A CN 201410132315 A CN201410132315 A CN 201410132315A CN 103914358 A CN103914358 A CN 103914358A
- Authority
- CN
- China
- Prior art keywords
- read
- sector
- memory page
- read operation
- time
- 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.)
- Pending
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种对闪存进行重读操作的方法及装置,该方法包括:S10、在针对闪存的一个存储页进行读取操作时,对存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;S20、在第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在该第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机;S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20。采用本发明可提高闪存的读取效率。
Description
技术领域
本发明涉及到计算机领域,特别涉及到一种对闪存进行重读操作的方法及装置。
背景技术
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。由于闪存在没有电流供应的情况下也能够长久地保存数据,使得闪存成为各类便携型数字设备使用的存储介质。
闪存通常情况下包括多个存储页,每个存储页包括多个扇区。在对闪存进行读取操作时,对每个存储页的扇区进行一个一个读取。在遇到读取错误时,需要对读取错误的扇区进行重新读取。在现有方案中,在读取闪存遇到读取错误进行重读的方案为:只要在读取闪存的过程中一遇到读取某个扇区出现错误,就从正常读取流程(采用默认读取参数)转换到重读流程(采用重读参数,可有多组重读参数)对读取错误的扇区进行重读,在对该读取错误的扇区重读后读取正常时,将从重读流程切换回正常读取流程。当在闪存的一个存储页中出现2个或以上的扇区出现读取错误时,就需要不停的在正常读取流程和重读流程中切换,导致读取效率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的为提供一种对闪存进行重读操作的方法,旨在提高闪存的读取效率。
为实现上述目的,本发明提供一种对闪存进行重读操作的方法,该方法包括:
S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
S20、在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在所述第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
优选地,在所述步骤S10之后,该方法还包括:
在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
优选地,在所述步骤S10之前,该方法还包括:
S40、预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
优选地,所述记录读取错误的扇区的读取错误状态的步骤包括:
通过记录表记录读取错误的扇区的读取错误状态。
优选地,所述记录表还用于记录读取正确的扇区的读取正确状态。
本发明进一步提供一种对闪存进行重读操作的装置,该装置包括:
读取操作模块,用于在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
循环控制模块,用于在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
所述读取操作模块,还用于在所述第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
所述循环控制模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
所述读取操作模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数对该存储页进行新的读取操作,并将在上一次读取操作中该存储页的读取错误状态扇区读取的数据传送给主机,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
优选地,所述读取操作模块还用于在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
优选地,所述装置还包括设置模块,用于预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
优选地,所述循环控制模块包括记录单元,用于通过记录表记录读取错误的扇区的读取错误状态。
优选地,所述记录表还用于记录读取正确的扇区的读取正确状态。
采用本发明,在针对闪存的一个存储页进行读取操作时,首先对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;在第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机;在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复读取,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕;可提高闪存的读取效率。
附图说明
图1为本发明的对闪存进行重读操作的方法的第一实施例流程示意图;
图2为本发明的对闪存进行重读操作的方法的第二实施例流程示意图;
图3为本发明的对闪存进行重读操作的装置的第一实施例结构示意图;
图4为本发明的对闪存进行重读操作的装置的第二实施例结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明的对闪存进行重读操作的方法的第一实施例流程示意图,该方法包括:
S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存。
闪存通常包括多个存储页。在该步骤S10中,在对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,如当该存储页有8个扇区时,则依次对该8个扇区都按第一组预设读取参数进行第一次读取操作,如当该存储页有16个扇区时,则依次对该16个扇区都按第一组预设读取参数进行第一次读取操作,等等。在该步骤S10中,将读取的数据传送给主机进行保存,如将从该存储页的8个扇区读取的数据传送给主机,该主机将这8个扇区的数据依次进行保存,将从第一扇区读取的数据保存在第一存储单元,将从第二扇区读取的数据保存在第二存储单元,将从第三扇区读取的数据保存在第三存储单元,……将从第八扇区读取的数据保存在第八存储单元。
该第一组预设读取参数为默认的读取参数,即在对存储页进行第一次读取时,都采用该第一组预设读取参数对存储页进行读取操作。该第一组预设读取参数可以有一个或多个参数,在一个实施例中,该第一组预设读取参数包括:阈值电压Vt1、感知电压Vs1。
S20、在该第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在该第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据。
在第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,具体的,可通过记录表记录读取错误的扇区的读取错误状态。该记录表中包括读取错误的扇区的标识号及该读取错误的扇区的读取错误状态,通常可用0表示读取错误状态,该记录表如表一所示。
表一
扇区标识号 | 读取状态 |
Sector_0 | 0 |
Sector_4 | 0 |
Sector_5 | 0 |
从该表一可以看出,在进行第一次读取操作过程中,对扇区标识号为Sector_0、Sector_4和Sector_5的扇区的读取状态为0,即对扇区标识号为Sector_0、Sector_4和Sector_5的扇区读取错误。
在进行第一次读取操作时,可根据现有技术中的读取校验技术判断对各个扇区是否读取错误,如可通过BCH码、RS码、LDPC码对各扇区的读取数据进行校验,得出读取结果(读取结果如读取正确或读取错误)。
在第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作。如在第一次读取操作完毕时,该存储页的读取错误状态扇区如表一所示,读取错误的扇区包括Sector_0、Sector_4和Sector_5,即在第一次读取操作时该存储页有扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将在第一次读取操作中该存储页的读取错误状态扇区Sector_0、Sector_4和Sector_5读取的数据传送给主机,以使得主机更新对应扇区的数据(如主机将第二次读取操作在第一扇区Sector_0读取的数据保存在第一存储单元,覆盖该第一存储单元原来保存的数据;主机将第二次读取操作在第五扇区Sector_4读取的数据保存在第五存储单元,覆盖该第五存储单元原来保存的数据;主机将第二次读取操作在第六扇区Sector_5读取的数据保存在第六存储单元,覆盖该第六存储单元原来保存的数据)。该第二组预设读取参数可以有一个或多个参数,在一个实施例中,该第二组预设读取参数包括:阈值电压Vt2、感知电压Vs2。在进行第二次读取操作时,对该第一次读取操作中读取正确的扇区仅仅进行读取操作,并不会将读取的数据发送给主机,因在第一次读取操作中读取正确且已将读取正确的数据发送给主机,不需要再将重新读取的数据发送给主机对相应扇区的数据进行更新。
在进行第二次读取操作时,可根据现有技术中的读取校验技术判断对各个扇区是否读取错误,如可通过BCH码、RS码、LDPC码对各扇区的读取数据进行校验,得出读取结果(读取结果如读取正确或读取错误)。
S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
在针对该存储页的第二次读取操作后,若仍然有该存储页的扇区读取错误,则按照第三组预设读取参数(该第三组预设读取参数可以有一个或多个参数,在一个实施例中,该第三组预设读取参数包括:阈值电压Vt3、感知电压Vs3)对该存储页的所有扇区进行第三次读取操作,并记录读取错误的扇区的读取错误状态,该第三次读取操作与步骤S20的第二次读取操作相同。
在针对该存储页的第三次读取操作后,若仍然有该存储页的扇区读取错误,则按照第四组预设读取参数(该第四组预设读取参数可以有一个或多个参数,在一个实施例中,该第四组预设读取参数包括:阈值电压Vt4、感知电压Vs4)对该存储页的所有扇区进行第四次读取操作,并记录读取错误的扇区的读取错误状态,该第四次读取操作与步骤S20的第二次读取操作相同。
在针对该存储页的第四次读取操作后,若仍然有该存储页的扇区读取错误,则按照不同的预设读取参数(不同于前面的第一组预设读取参数、第二组预设读取参数、第三组预设读取参数、第四组预设读取参数),重复执行步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。如在进行第五次读取操作后,所有扇区都已读取正确,则结束对该存储页的读取操作;或者在进行多次读取操作后,已使用所有预设读取参数(如总共有10组预设读取参数)进行对应的读取操作,则不管该存储页的扇区是否仍然有读取错误,都结束对该存储页的读取操作。在每一次读取操作过程中,都根据读取结果更新记录表,在该记录表中记录读取错误的扇区的读取错误状态。
进一步的,在步骤S10之后,该方法还包括:
在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
如在第一次读取操作时,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作;如在第二读取操作时,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作,等等。
进一步的,该记录表还用于记录读取正确的扇区的读取正确状态。
在该记录表中还包括读取正确的扇区的标识号及该读取正确的扇区的读取正确状态,通常可用1表示读取正确状态,该记录表如表二所示。通过该记录表可直观的看出对存储页的读取状态。
表二
扇区标识号 | 读取状态 |
Sector_0 | 0 |
Sector_1 | 1 |
Sector_2 | 1 |
Sector_3 | 1 |
Sector_4 | 0 |
Sector_5 | 0 |
Sector_6 | 1 |
Sector_7 | 1 |
从该表二可以看出,对扇区标识号为Sector_0、Sector_4和Sector_5的扇区的读取状态为0,即对扇区标识号为Sector_0、Sector_4和Sector_5的扇区读取错误;对扇区标识号为Sector_1、Sector_2、Sector_3、Sector_6和Sector_7的扇区的读取状态为1,即对扇区标识号为Sector_1、Sector_2、Sector_3、Sector_6和Sector_7的扇区读取正确。
参照图2,图2为本发明的对闪存进行重读操作的方法的第二实施例流程示意图。
基于上述对闪存进行重读操作的方法的第一实施例,在该步骤S10之前,该方法还包括:
S40、预先设置预设读取参数,该预设读取参数包括第一组预设读取参数、第二组预设读取参数。
可根据实际需要预先设置预设读取参数,可设置多组预设读取参数(各组预设读取参数可包括一个或多个参数),如该预设读取参数包括第一组预设读取参数、第二组预设读取参数,该预设读取参数还包括第三组预设读取参数、第四组预设读取参数、第五组预设读取参数等等。在一实施例中,可设置二十组预设读取参数,即允许对一存储页最多进行二十次读取操作。在一实施例中,该第一组预设读取参数包括:阈值电压Vt1、感知电压Vs1;该第二预设读取参数包括:阈值电压Vt2、感知电压Vs2;该第三预设读取参数包括:阈值电压Vt3、感知电压Vs3;该第四预设读取参数包括:阈值电压Vt4、感知电压Vs4;该第五预设读取参数包括:阈值电压Vt5、感知电压Vs5。
参照图3,图3为本发明的对闪存进行重读操作的装置的第一实施例结构示意图,该装置包括读取操作模块10、与该读取操作模块10连接的循环控制模块20,其中:
该读取操作模块10,用于在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
该循环控制模块20,用于在该第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
该读取操作模块10,还用于在该第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
该循环控制模块20,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
该读取操作模块10,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数对该存储页进行新的读取操作,并将在上一次读取操作中该存储页的读取错误状态扇区读取的数据传送给主机,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
闪存通常包括多个存储页。该读取操作模块10在对闪存的一个存储页进行读取操作时,首先对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,如当该存储页有8个扇区时,则依次对该8个扇区都按第一组预设读取参数进行第一次读取操作,如当该存储页有16个扇区时,则依次对该16个扇区都按第一组预设读取参数进行第一次读取操作,等等。该读取操作模块10将第一次读取操作读取的数据传送给主机进行保存,如将从该存储页的8个扇区读取的数据传送给主机,该主机将这8个扇区的数据依次进行保存,将从第一扇区读取的数据保存在第一存储单元,将从第二扇区读取的数据保存在第二存储单元,将从第三扇区读取的数据保存在第三存储单元,……将从第八扇区读取的数据保存在第八存储单元。
该第一组预设读取参数为默认的读取参数,即在对存储页进行第一次读取时,都采用该第一组预设读取参数对存储页进行读取操作。该第一组预设读取参数可以有一个或多个参数,在一个实施例中,该第一组预设读取参数包括:阈值电压Vt1、感知电压Vs1。
该循环控制模块20用于在第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,具体的,该循环控制模块20包括记录单元,该记录单元可通过记录表记录读取错误的扇区的读取错误状态。该记录表中包括读取错误的扇区的标识号及该读取错误的扇区的读取错误状态,通常可用0表示读取错误状态,该记录表如上述表一所示。
在进行第一次读取操作时,该读取操作模块10可根据现有技术中的读取校验技术判断对各个扇区是否读取错误,如可通过BCH码、RS码、LDPC码对各扇区的读取数据进行校验,得出读取结果(读取结果如读取正确或读取错误)。
在第一次读取操作完毕时,若有该存储页的扇区读取错误,则该读取操作模块10对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作。如在第一次读取操作完毕时,该存储页的读取错误状态扇区如表一所示,读取错误的扇区包括Sector_0、Sector_4和Sector_5,即在第一次读取操作时该存储页有扇区读取错误,则该读取操作模块10对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将在第一次读取操作中该存储页的读取错误状态扇区Sector_0、Sector_4和Sector_5读取的数据传送给主机,以使得主机更新对应扇区的数据(如主机将第二次读取操作在第一扇区Sector_0读取的数据保存在第一存储单元,覆盖该第一存储单元原来保存的数据;主机将第二次读取操作在第五扇区Sector_4读取的数据保存在第五存储单元,覆盖该第五存储单元原来保存的数据;主机将第二次读取操作在第六扇区Sector_5读取的数据保存在第六存储单元,覆盖该第六存储单元原来保存的数据)。该第二组预设读取参数可以有一个或多个参数,在一个实施例中,该第二组预设读取参数包括:阈值电压Vt2、感知电压Vs2。在进行第二次读取操作时,该读取操作模块10对该第一次读取操作中读取正确的扇区仅仅进行读取操作,并不会将读取的数据发送给主机,因在第一次读取操作中读取正确且已将读取正确的数据发送给主机,不需要再将重新读取的数据发送给主机对相应扇区的数据进行更新。
在进行第二次读取操作时,该读取操作模块10可根据现有技术中的读取校验技术判断对各个扇区是否读取错误,如可通过BCH码、RS码、LDPC码对各扇区的读取数据进行校验,得出读取结果(读取结果如读取正确或读取错误)。
在针对该存储页的第二次读取操作后,若仍然有该存储页的扇区读取错误,则读取操作控制模块10按照第三组预设读取参数(该第三组预设读取参数可以有一个或多个参数,在一个实施例中,该第三组预设读取参数包括:阈值电压Vt3、感知电压Vs3)对该存储页的所有扇区进行第三次读取操作,且循环控制模块20记录读取错误的扇区的读取错误状态。该读取操作控制模块10的第三次读取操作与读取操作控制模块10的第二次读取操作相同。
在针对该存储页的第三次读取操作后,若仍然有该存储页的扇区读取错误,则读取操作控制模块10按照第四组预设读取参数(该第四组预设读取参数可以有一个或多个参数,在一个实施例中,该第四组预设读取参数包括:阈值电压Vt4、感知电压Vs4)对该存储页的所有扇区进行第四次读取操作,且循环控制模块20记录读取错误的扇区的读取错误状态。该读取操作控制模块10的第四次读取操作与读取操作控制模块10的第二次读取操作相同。
在针对该存储页的第四次读取操作后,若仍然有该存储页的扇区读取错误,则读取操作控制模块10按照不同的预设读取参数(不同于前面的第一组预设读取参数、第二组预设读取参数、第三组预设读取参数、第四组预设读取参数),重复进行新的读取操作,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕;且循环控制模块20记录读取操作模块10每次读取错误的扇区的读取错误状态。如在进行第五次读取操作后,所有扇区都已读取正确,则结束对该存储页的读取操作;或者在进行多次读取操作后,已使用所有预设读取参数(如总共有10组预设读取参数)进行对应的读取操作,则不管该存储页的扇区是否仍然有读取错误,都结束对该存储页的读取操作。在每一次读取操作过程中,该循环控制模块20根据读取结果更新记录表,在该记录表中记录读取错误的扇区的读取错误状态。
进一步的,该读取操作模块10还用于在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
如该读取操作模块10在第一次读取操作时,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作;如该读取操作模块10在第二读取操作时,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作,等等。
进一步的,该记录表还用于记录读取正确的扇区的读取正确状态。
在该记录表中还包括读取正确的扇区的标识号及该读取正确的扇区的读取正确状态,通常可用1表示读取正确状态,该记录表如表二所示。通过该记录表可直观的看出对存储页的读取状态。
参照图4,图4为本发明的对闪存进行重读操作的装置的第二实施例结构示意图。
基于上述对闪存进行重读操作的装置的第一实施例,该装置还包括与读取操作模块10连接的设置模块30,该设置模块30用于预先设置预设读取参数,该预设读取参数包括第一组预设读取参数、第二组预设读取参数。
可根据实际需要预先设置预设读取参数,可通过该设置模块30设置多组预设读取参数(各组预设读取参数可包括一个或多个参数),如该预设读取参数包括第一组预设读取参数、第二组预设读取参数,该预设读取参数还包括第三组预设读取参数、第四组预设读取参数、第五组预设读取参数等等。在一实施例中,可设置二十组预设读取参数,即允许对一存储页最多进行二十次读取操作。在一实施例中,该第一组预设读取参数包括:阈值电压Vt1、感知电压Vs1;该第二预设读取参数包括:阈值电压Vt2、感知电压Vs2;该第三预设读取参数包括:阈值电压Vt3、感知电压Vs3;该第四预设读取参数包括:阈值电压Vt4、感知电压Vs4;该第五预设读取参数包括:阈值电压Vt5、感知电压Vs5。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
Claims (10)
1.一种对闪存进行重读操作的方法,其特征在于,该方法包括:
S10、在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
S20、在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态,并在所述第一次读取操作完毕时,对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
S30、在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数重复执行上述步骤S20,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
2.如权利要求1所述的方法,其特征在于,在所述步骤S10之后,该方法还包括:
在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
3.如权利要求1所述的方法,其特征在于,在所述步骤S10之前,该方法还包括:
S40、预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
4.如权利要求1所述的方法,其特征在于,所述记录读取错误的扇区的读取错误状态的步骤包括:
通过记录表记录读取错误的扇区的读取错误状态。
5.如权利要求4所述的方法,其特征在于,所述记录表还用于记录读取正确的扇区的读取正确状态。
6.一种对闪存进行重读操作的装置,其特征在于,该装置包括:
读取操作模块,用于在针对闪存的一个存储页进行读取操作时,对该存储页的所有扇区按第一组预设读取参数进行第一次读取操作,并将读取的数据传送给主机进行保存;
循环控制模块,用于在所述第一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
所述读取操作模块,还用于在所述第一次读取操作完毕时,若有该存储页的扇区读取错误,则对该存储页的所有扇区按第二组预设读取参数进行第二次读取操作,并将从该存储页的读取错误状态扇区读取的数据传送给主机,以使得该主机更新对应扇区的数据;
所述循环控制模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则记录读取错误的扇区的读取错误状态;
所述读取操作模块,还用于在针对该存储页的第二次读取操作及随后进行的每一次读取操作过程中,若有该存储页的扇区读取错误,则按照不同的预设读取参数对该存储页进行新的读取操作,并将在上一次读取操作中该存储页的读取错误状态扇区读取的数据传送给主机,直到该存储页的所有扇区读取正确或者所有预设读取参数对应的读取操作执行完毕。
7.如权利要求6所述的装置,其特征在于,所述读取操作模块还用于在针对该存储页的每一次读取操作过程中,若该存储页的所有扇区读取正确时,则结束或者转入下一个存储页进行读取操作。
8.如权利要求6所述的装置,其特征在于,所述装置还包括设置模块,用于预先设置预设读取参数,所述预设读取参数包括第一组预设读取参数、第二组预设读取参数。
9.如权利要求6所述的装置,其特征在于,所述循环控制模块包括记录单元,用于通过记录表记录读取错误的扇区的读取错误状态。
10.如权利要求9所述的装置,其特征在于,所述记录表还用于记录读取正确的扇区的读取正确状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410132315.1A CN103914358A (zh) | 2014-04-03 | 2014-04-03 | 一种对闪存进行重读操作的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410132315.1A CN103914358A (zh) | 2014-04-03 | 2014-04-03 | 一种对闪存进行重读操作的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103914358A true CN103914358A (zh) | 2014-07-09 |
Family
ID=51040061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410132315.1A Pending CN103914358A (zh) | 2014-04-03 | 2014-04-03 | 一种对闪存进行重读操作的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914358A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227619A (zh) * | 2016-07-20 | 2016-12-14 | 中国航空工业集团公司航空动力控制***研究所 | 具有数据修改记忆能力的Flash数据存储方法 |
CN106951229A (zh) * | 2017-02-21 | 2017-07-14 | 珠海全志科技股份有限公司 | 一种boot‑rom兼容多种nand‑flash重读的方法 |
CN111863098A (zh) * | 2020-07-30 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种读操作处理方法、装置及可读存储介质 |
CN112631515A (zh) * | 2020-12-17 | 2021-04-09 | 珠海妙存科技有限公司 | 自适应的闪存数据重读方法、装置及介质 |
CN113223583A (zh) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | NAND Flash坏块内数据重读的方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1525478A (zh) * | 2003-09-15 | 2004-09-01 | 威盛电子股份有限公司 | 数据读取装置与方法 |
US20090292971A1 (en) * | 2008-05-21 | 2009-11-26 | Chun Fung Man | Data recovery techniques |
CN101667454A (zh) * | 2008-09-05 | 2010-03-10 | 三星电子株式会社 | 存储***及其数据处理方法 |
US20120254699A1 (en) * | 2011-04-01 | 2012-10-04 | Ruby Paul D | Dynamic read channel calibration for non-volatile memory devices |
-
2014
- 2014-04-03 CN CN201410132315.1A patent/CN103914358A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1525478A (zh) * | 2003-09-15 | 2004-09-01 | 威盛电子股份有限公司 | 数据读取装置与方法 |
US20090292971A1 (en) * | 2008-05-21 | 2009-11-26 | Chun Fung Man | Data recovery techniques |
CN101667454A (zh) * | 2008-09-05 | 2010-03-10 | 三星电子株式会社 | 存储***及其数据处理方法 |
US20120254699A1 (en) * | 2011-04-01 | 2012-10-04 | Ruby Paul D | Dynamic read channel calibration for non-volatile memory devices |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227619A (zh) * | 2016-07-20 | 2016-12-14 | 中国航空工业集团公司航空动力控制***研究所 | 具有数据修改记忆能力的Flash数据存储方法 |
CN106227619B (zh) * | 2016-07-20 | 2019-03-29 | 中国航空工业集团公司航空动力控制***研究所 | 具有数据修改记忆能力的Flash数据存储方法 |
CN106951229A (zh) * | 2017-02-21 | 2017-07-14 | 珠海全志科技股份有限公司 | 一种boot‑rom兼容多种nand‑flash重读的方法 |
CN111863098A (zh) * | 2020-07-30 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种读操作处理方法、装置及可读存储介质 |
CN111863098B (zh) * | 2020-07-30 | 2022-10-11 | 深圳大普微电子科技有限公司 | 一种读操作处理方法、装置及可读存储介质 |
CN112631515A (zh) * | 2020-12-17 | 2021-04-09 | 珠海妙存科技有限公司 | 自适应的闪存数据重读方法、装置及介质 |
CN112631515B (zh) * | 2020-12-17 | 2023-11-14 | 珠海妙存科技有限公司 | 自适应的闪存数据重读方法、装置及介质 |
CN113223583A (zh) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | NAND Flash坏块内数据重读的方法、电子设备及存储介质 |
CN113223583B (zh) * | 2021-05-14 | 2024-05-17 | 深圳市硅格半导体有限公司 | NAND Flash坏块内数据重读的方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914358A (zh) | 一种对闪存进行重读操作的方法及装置 | |
CN102033814B (zh) | 存取一闪存的方法以及相关的记忆装置 | |
CN106067321A (zh) | 适于存储器编程暂停-恢复的控制器 | |
CN102279776B (zh) | 一种错误检查与纠正能力的测试方法及装置 | |
CN102597975A (zh) | 一次可编程存储器装置及其方法 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN109164978B (zh) | 闪存管理方法、闪存存储设备及计算机可读存储介质 | |
CN105808371A (zh) | 数据备份与恢复方法、控制芯片及存储装置 | |
CN103577275A (zh) | 一种数据校验的方法、设备和*** | |
CN105718383A (zh) | 存储***及其操作方法 | |
TW201421477A (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
CN103092531A (zh) | 一种消除固态存储***读取错误的方法 | |
CN104750570A (zh) | 数据储存装置及其错误校正方法 | |
CN106776104B (zh) | 一种Nand Flash控制器和终端以及控制Nand Flash的方法 | |
CN104658612A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
US20150143187A1 (en) | Implementing enhanced performance with read before write to phase change memory | |
CN108241549A (zh) | 基于ECC的NAND数据Read Retry纠错方法和NAND控制器 | |
CN107153510A (zh) | 存储器控制器及用于管理存储器的方法 | |
CN107807870B (zh) | 一种存储服务器主板掉电保护功能的测试方法和*** | |
CN105788647B (zh) | 一种非易失存储器的纠错方法和装置 | |
CN103838638A (zh) | Fpga外挂存储器校验方法及装置 | |
CN104461379A (zh) | 提高nand闪存的稳定性的方法和nand闪存 | |
CN105867833B (zh) | 数据存储装置及数据存储方法 | |
CN109343800B (zh) | 存储设备管理方法、装置及可读存储介质 | |
CN101788916A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140709 |
|
RJ01 | Rejection of invention patent application after publication |