Flash存储器的数据读写方法、介质、设备及装置制造方法及图纸

技术编号:22466879 阅读:11 留言:0更新日期:2019-11-06 10:46
本发明专利技术公开了一种Flash存储器的数据读写方法、介质、设备及装置,其中方法包括:当向所述Flash存储器写入数据时,判断所述Flash存储器的当前待写入扇区是否异常;如果异常,则将所述当前待写入扇区标记为异常扇区,并记录所述异常扇区的信息,以及跳过所述异常扇区进行写操作,以便将待写入数据写入正常扇区;在读取所述Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过所述异常扇区进行读操作,以便从所述正常扇区读取数据;能够在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。

Data reading and writing method, medium, equipment and device of flash memory

【技术实现步骤摘要】
Flash存储器的数据读写方法、介质、设备及装置
本专利技术涉及信息处理
,特别涉及一种Flash存储器的数据读写方法、介质、设备及装置。
技术介绍
Flash存储器是一种非易失性内存,其在没有电流供应的条件下也能够长久地保持数据,存储特性相当于硬盘,这项特性使其得以成为各类便携型数字设备的存储介质。在Flash存储器读写的相关技术中,在对Flash存储器进行数据的读写时,如果Flash存储器中存在坏块,往往会导致数据写入失败,或者读取到的数据与写入时的数据不一致,进而影响整个程序的正常运行。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种Flash存储器的数据读写方法,能够在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。本专利技术的第二个目的在于提出一种计算机可读存储介质。本专利技术的第三个目的在于提出一种计算机设备。本专利技术的第四个目的在于提出一种Flash存储器的数据读写装置。为达到上述目的,本专利技术第一方面实施例提出了一种Flash存储器的数据读写方法,包括以下步骤:当向所述Flash存储器写入数据时,判断所述Flash存储器的当前待写入扇区是否异常;如果异常,则将所述当前待写入扇区标记为异常扇区,并记录所述异常扇区的信息,以及跳过所述异常扇区进行写操作,以便将待写入数据写入正常扇区;在读取所述Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过所述异常扇区进行读操作,以便从所述正常扇区读取数据。根据本专利技术实施例的Flash存储器的数据读写方法,首先,当向Flash存储器写入数据时,判断Flash存储器的当前待写入扇区是否异常,如果异常,则将当前待写入扇区标记为异常扇区,并记录异常扇区的信息,以及跳过异常扇区进行写操作,以便将待写入数据写入正常扇区,从而保证在Flash存储器中扇区异常时数据的正常写入;接着,在读取Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过异常扇区进行读操作,以便从正常扇区读取数据;以通过记录在读取数据的过程中跳过异常扇区,保证数据的正常读取;从而,实现在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。另外,根据本专利技术上述实施例提出的Flash存储器的数据读写方法还可以具有如下附加的技术特征:可选地,判断所述Flash存储器的当前待写入扇区是否异常,包括:执行擦除程序以对所述Flash存储器进行整块擦除;对所述Flash存储器的每个扇区进行读操作,以读取每个扇区内的所有字节;判断所述每个扇区内的所有字节是否全部为0xff;如果任意一个扇区内的所有字节不全部为0xff,则认定该扇区异常;如果任意一个扇区内的所有字节全部为0xff,则认定该扇区擦除成功。可选地,判断所述Flash存储器的当前待写入扇区是否异常,还包括:选定多个擦除成功的扇区作为存储块,以便将所述待写入数据的大小写入所述存储块中;读取所述待写入数据的一个扇区大小的数据,并将所述一个扇区大小的数据写入擦除成功的当前扇区;从所述当前扇区重新读取数据,并将读取到的数据与所述一个扇区大小的数据进行比较,以及根据比较结果判断所述当前扇区是否异常。可选地,将读取到的数据与所述一个扇区大小的数据进行比较时,其中,如果读取到的数据与所述一个扇区大小的数据保持一致,则在所述存储块中记录所述当前扇区的地址和大小;如果读取到的数据与所述一个扇区大小的数据不一致,则进行重试,直至重试次数达到预设次数时,认定所述当前扇区异常,并将所述一个扇区大小的数据写入擦除成功的下一扇区。为达到上述目的,本专利技术第二方面实施例提出了一种计算机可读存储介质,其上存储有Flash存储器的数据读写程序,该Flash存储器的数据读写程序被处理器执行时实现如上述的Flash存储器的数据读写方法。根据本专利技术实施例的计算机可读存储介质,通过存储Flash存储器的数据读写程序,这样Flash存储器的数据读写程序在被处理器执行时实现如上述的Flash存储器的数据读写方法,从而实现在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。为达到上述目的,本专利技术第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述的Flash存储器的数据读写方法。根据本专利技术实施例的计算机设备,通过处理器执行上述Flash存储器的数据读写程序,从而实现在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。为达到上述目的,本专利技术实施例第四方面实施例提出了一种Flash存储器的数据读写装置,包括:判断模块,用于在向所述Flash存储器写入数据时,判断所述Flash存储器的当前待写入扇区是否异常;标记模块,用于在所述当前待写入扇区异常时将所述当前待写入扇区标记为异常扇区,并记录所述异常扇区的信息;写入模块,用于跳过所述异常扇区进行写操作,以便将待写入数据写入正常扇区;读取模块,用于在读取所述Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过所述异常扇区进行读操作,以便从所述正常扇区读取数据。根据本专利技术实施例的Flash存储器的数据读写装置,设置判断模块在向Flash存储器写入数据时,判断Flash存储器的当前待写入扇区是否异常,并且,在当前写入扇区异常时,通过标记模块将当前待写入扇区标记为异常扇区,并记录异常扇区的信息;设置写入模块在写入时跳过异常扇区进行写操作,以便将待写入数据写入正常扇区,从而防止扇区异常时的数据写入失败;设置读取模块在读取Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过异常扇区进行读操作,以便从正常扇区读取数据,从而防止扇区异常时数据的读取失败;实现在Flash存储器出现坏块的情况下,避免因为坏块而导致的数据读取失败,保证程序的正常运行。另外,根据本专利技术上述实施例提出的Flash存储器的数据读写装置还可以具有如下附加的技术特征:可选地,还包括擦除模块,用于在所述判断模块判断所述Flash存储器的当前待写入扇区是否异常之前,执行擦除程序以对所述Flash存储器进行整块擦除,其中,所述读取模块,还用于对所述Flash存储器的每个扇区进行读操作,以读取每个扇区内的所有字节;所述判断模块,还用于判断所述每个扇区内的所有字节是否全部为0xff,并在任意一个扇区内的所有字节不全部为0xff时认定该扇区异常,以及在任意一个扇区内的所有字节全部为0xff时认定该扇区擦除成功。可选地,所述写入模块还用于,选定多个擦除成功的扇区作为存储块,以便将所述待写入数据的大小写入所述存储块中,并通过所述读取模块读取所述待写入数据的一个扇区大小的数据,以及将所述一个扇区大小的数据写入擦除成功的当前扇区,所述读取模块还用于从所述当前扇区重新读取数据,以便所述判断模块将读取到的数据与所述一个扇区大小的数据进行比较,并根据比较结果判断所述当前扇区是否异常。可选地,所述判断模块还用于,将读取到的数据与所述一个扇区大小的数据进行比较时,其中,如果读取到的数据与所述一个扇区大小的数据保持一致,本文档来自技高网...

【技术保护点】
1.一种Flash存储器的数据读写方法,其特征在于,包括以下步骤:当向所述Flash存储器写入数据时,判断所述Flash存储器的当前待写入扇区是否异常;如果异常,则将所述当前待写入扇区标记为异常扇区,并记录所述异常扇区的信息,以及跳过所述异常扇区进行写操作,以便将待写入数据写入正常扇区;在读取所述Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过所述异常扇区进行读操作,以便从所述正常扇区读取数据。

【技术特征摘要】
1.一种Flash存储器的数据读写方法,其特征在于,包括以下步骤:当向所述Flash存储器写入数据时,判断所述Flash存储器的当前待写入扇区是否异常;如果异常,则将所述当前待写入扇区标记为异常扇区,并记录所述异常扇区的信息,以及跳过所述异常扇区进行写操作,以便将待写入数据写入正常扇区;在读取所述Flash存储器中存储的数据时,根据记录的异常扇区的信息跳过所述异常扇区进行读操作,以便从所述正常扇区读取数据。2.如权利要求1所述的Flash存储器的数据读写方法,其特征在于,判断所述Flash存储器的当前待写入扇区是否异常,包括:执行擦除程序以对所述Flash存储器进行整块擦除;对所述Flash存储器的每个扇区进行读操作,以读取每个扇区内的所有字节;判断所述每个扇区内的所有字节是否全部为0xff;如果任意一个扇区内的所有字节不全部为0xff,则认定该扇区异常;如果任意一个扇区内的所有字节全部为0xff,则认定该扇区擦除成功。3.如权利要求2所述的Flash存储器的数据读写方法,其特征在于,判断所述Flash存储器的当前待写入扇区是否异常,还包括:选定多个擦除成功的扇区作为存储块,以便将所述待写入数据的大小写入所述存储块中;读取所述待写入数据的一个扇区大小的数据,并将所述一个扇区大小的数据写入擦除成功的当前扇区;从所述当前扇区重新读取数据,并将读取到的数据与所述一个扇区大小的数据进行比较,以及根据比较结果判断所述当前扇区是否异常。4.如权利要求3所述的Flash存储器的数据读写方法,其特征在于,将读取到的数据与所述一个扇区大小的数据进行比较时,其中,如果读取到的数据与所述一个扇区大小的数据保持一致,则在所述存储块中记录所述当前扇区的地址和大小;如果读取到的数据与所述一个扇区大小的数据不一致,则进行重试,直至重试次数达到预设次数时,认定所述当前扇区异常,并将所述一个扇区大小的数据写入擦除成功的下一扇区。5.一种计算机可读存储介质,其特征在于,其上存储有Flash存储器的数据读写程序,该Flash存储器的数据读写程序被处理器执行时实现如权利要求1-4中任一项所述的Flash存储器的数据读写方法。6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所...

【专利技术属性】
技术研发人员:姚庆瑞曾志华胡伟耀
申请(专利权)人:汉纳森厦门数据股份有限公司
类型:发明
国别省市:福建,35

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

1