CN108052410B - 一种防止SPI-Nand读取数据页出错的方法及装置 - Google Patents

一种防止SPI-Nand读取数据页出错的方法及装置 Download PDF

Info

Publication number
CN108052410B
CN108052410B CN201711384381.8A CN201711384381A CN108052410B CN 108052410 B CN108052410 B CN 108052410B CN 201711384381 A CN201711384381 A CN 201711384381A CN 108052410 B CN108052410 B CN 108052410B
Authority
CN
China
Prior art keywords
block
data
page
module
read
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
Application number
CN201711384381.8A
Other languages
English (en)
Other versions
CN108052410A (zh
Inventor
庄开锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
Beijing Zhaoyi Innovation Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhaoyi Innovation Technology Co Ltd filed Critical Beijing Zhaoyi Innovation Technology Co Ltd
Priority to CN201711384381.8A priority Critical patent/CN108052410B/zh
Publication of CN108052410A publication Critical patent/CN108052410A/zh
Application granted granted Critical
Publication of CN108052410B publication Critical patent/CN108052410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种防止SPI‑Nand读取数据页出错的方法及装置。该方法包括:当读取第一数据页对PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1,其中,PairPage1为PairBlock1内的任意一组数据页对,PairBlock1由第一区块和第二区块组成,第一区块为故障区块;查找第三区块,并生成第二区块对PairBlock2,其中,PairBlock2由第二区块和第三区块组成,PairBlock2用于读写数据。通过该方法,能够避免PairBlock无法正常读写或者坏块的问题,使得SPI‑Nand能够正常读出SPI‑Nand的配置信息,提高了SPI‑Nand的稳定性。

Description

一种防止SPI-Nand读取数据页出错的方法及装置
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种防止SPI-Nand读取数据页出错的方法及装置。
背景技术
串行外设接口(Serial Peripheral Interface,SPI)Nand是Flash存储器的一种,属于非易失性存储设备(Non-volatile Memory Device),具有容量大、改写速度快等优点,适用于大量数据的存储。
SearchPairBlock为SPI-Nand的引导加载程序(Bootloader)模块查找SPI-Nand的配置信息的算法,通常,SPI-Nand的配置信息存储在一组区块对(PairBlock)的一组数据页对(PairPage)中。当SPI-Nand上电后,Bootloader模块首先调用该算法找到SPI-Nand的配置信息,并将其加载到TableRAM中,即可得知当前SPI-Nand的基本信息。然而,现有的SearchPairBlock算法找到的PairBlock,存在着PairBlock无法正常读写或者坏块的问题,导致读取PairPage出错,从而无法得到SPI-Nand的配置信息,影响了SPI-Nand的性能。
发明内容
本发明提供一种防止SPI-Nand读取数据页出错的方法及装置,能够避免PairBlock无法正常读写或者坏块的问题,使得SPI-Nand能够正常读出SPI-Nand的配置信息,提高了SPI-Nand的稳定性。
第一方面,本发明实施例提供了一种防止SPI-Nand读取数据页出错的方法,包括:
当读取第一数据页对PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1,其中,PairPage1为PairBlock1内的任意一组数据页对,PairBlock1由第一区块和第二区块组成,第一区块为故障区块;
查找第三区块,并生成第二区块对PairBlock2,其中,PairBlock2由第二区块和第三区块组成,PairBlock2用于读写数据。
进一步地,PairPage1包括第一数据页和第二数据页,第一数据页位于第一区块内,第二数据页位于第二区块内;
读取第一数据页对PairPage1发生错误,具体包括:
读取第一数据页发生错误。
进一步地,在生成第二区块对PairBlock2后,还包括:
将第一数据写入第三区块的第一个数据页中;
擦除第二区块内的数据;
将第一数据写入第二区块的第一个数据页中。
进一步地,还包括:
将第一区块标记为坏块。
进一步地,在将第一区块标记为坏块后,还包括:
擦除第一区块内的数据。
第二方面,本发明实施例还提供了一种防止SPI-Nand读取数据页出错的装置,包括查找模块和生成模块;
查找模块,用于当读取第一数据页对PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1,其中,PairPage1为PairBlock1内的任意一组数据页对,PairBlock1由第一区块和第二区块组成,第一区块为故障区块;以及查找第三区块;
生成模块,用于在查找模块查找到第三区块后,生成第二区块对PairBlock2,其中,PairBlock2由第二区块和第三区块组成,PairBlock2用于读写数据。
进一步地,PairPage1包括第一数据页和第二数据页,第一数据页位于第一区块内,第二数据页位于第二区块内;还包括读写模块;
读写模块,用于读取第一数据页和第二数据页。
进一步地,还包括擦除模块;
读写模块,还用于在生成模块生成第二区块对PairBlock2后,将第一数据写入第三区块的第一个数据页中;
擦除模块,用于在读写模块将第一数据写入第三区块的第一个数据页中后,擦除第二区块内的数据;
读写模块,还用于在擦除模块擦除第二区块内的数据后,将第一数据写入第二区块的第一个数据页中。
进一步地,还包括标记模块;
标记模块,用于将第一区块标记为坏块。
进一步地,擦除模块,还用于在标记模块将第一区块标记为坏块后,擦除第一区块内的数据。
第三方面,本发明实施例还提供了一种设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的防止SPI-Nand读取数据页出错的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一的防止SPI-Nand读取数据页出错的方法。
本发明当读取PairPage1发生错误时,通过将PairPage1中可以正常读写的第二区块和查找到的第三区块合并生成PairBlock2,PairBlock2用于读写数据。由于新生成的PairBlock2中的第二区块和第三区块都能正常读写,且PairBlock2不包括故障的第一区块,由此避免了PairBlock2无法正常读写或者坏块的问题,使得SPI-Nand能够正常读出SPI-Nand的配置信息,提高了SPI-Nand的稳定性。
附图说明
图1是本发明实施例中的一种防止SPI-Nand读取数据页出错的方法的流程示意图;
图2是本发明实施例中的与图1中的步骤对应的PairBlock存储数据的示意图;
图3是本发明实施例中的另一种防止SPI-Nand读取数据页出错的方法的流程示意图;
图4是本发明实施例中的与图3中的步骤对应的PairBlock存储数据的示意图;
图5是本发明实施例中的另一种防止SPI-Nand读取数据页出错的方法的流程示意图;
图6是本发明实施例中的一种防止SPI-Nand读取数据页出错的装置的结构示意图;
图7是本发明实施例中的另一种防止SPI-Nand读取数据页出错的装置的结构示意图;
图8是本发明实施例中的另一种防止SPI-Nand读取数据页出错的装置的结构示意图;
图9是本发明实施例中的另一种防止SPI-Nand读取数据页出错的装置的结构示意图;
图10是本发明实施例中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要说明的是,本发明的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于限定特定顺序。本发明实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。
为了解决现有的SearchPairBlock算法找到的PairBlock存在着无法正常读写或者坏块的问题,本发明实施例提供了一种防止SPI-Nand读取数据页出错的方法及装置,通过该方法,能够避免PairBlock无法正常读写或者坏块的问题,使得SPI-Nand能够正常读出SPI-Nand的配置信息,提高了SPI-Nand的稳定性。
图1为本发明实施例提供的一种防止SPI-Nand读取数据页出错的方法的流程示意图,图2为与图1中的步骤对应的PairBlock存储数据的示意图,本实施例可适用于Bootloader模块调用SearchPairBlock算法找到PairBlock,并读取其中存储的SPI-Nand的配置信息的场景,该方法具体包括如下步骤:
S101、读取PairPage1。
S102、当读取PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1。
其中,PairBlock1由第一区块B0和第二区块B1组成,每个区块中均包括64个数据页,即Page0-Page63。一个PairBlock中相对处于同一位置的数据页可以称为数据页对PairPage。示例性的,第一区块B0中的Page0和第二区块B1中的Page0可以称为一组数据页对;第一区块B0中的Page1和第二区块B1中的Page1也可以称为一组数据页对。每个数据页中均可以存储SPI-Nand的配置信息。
PairPage1为PairBlock1内的任意一组数据页对,PairPage1包括第一数据页和第二数据页,第一数据页位于第一区块B0内,第二数据页位于第二区块B1内。具体的,读取PairPage1的步骤包括读取第一数据页和第二数据页。相应的,读取PairPage1发生错误,即为读取第一数据页发生错误,因此第一区块为故障区块。
如图2所示,假设PairPage1为PairBlock1内的第五组数据页对,即第一数据页为B0中的Page4,第二数据页为B1中的Page4,读取B0中的Page4发生故障,从而导致第一区块B0故障。
S103、查找第三区块,并生成PairBlock2。
其中,PairBlock2由第二区块B1和第三区块B2组成,PairBlock2用于读写数据。
由于新生成的PairBlock2中的第二区块B1和第三区块B2都能正常读写,且PairBlock2不包括故障的第一区块B0,由此避免了PairBlock2无法正常读写或者坏块的问题,使得SPI-Nand能够正常读出SPI-Nand的配置信息,提高了SPI-Nand的稳定性。
需要说明的是,第三区块B2通常为一个空的区块。
进一步地,结合图1,如图3所示,在步骤S103后,还可以包括步骤S104-S106:
S104、将第一数据写入第三区块的第一个数据页中。
图4为与图3中的步骤对应的PairBlock存储数据的示意图,为了保证生成的PairBlock2内的存储页数相同且时间戳保持一致,首先将第一数据写入第三区块B2的第一个数据页中。其中,第一数据为第二区块B1中的最后一个存储有数据的数据页中所存储的数据,即图4中第二区块B1的Page5中的数据。
S105、擦除第二区块内的数据。
S106、将第一数据写入第二区块的第一个数据页中。
在将第一数据写入第三区块B2的第一个数据页中后,擦除第二区块B1内的数据,并将第一数据写入第二区块B1的第一个数据页中。这样,即保证了PairBlock2内的存储页数相同,同时,也使PairBlock2内的时间戳保持一致。
进一步地,结合图3,如图5所示,该方法还可以包括步骤S107和S108:
S107、将第一区块标记为坏块。
如图2或者图4所示,将第一区块B0标记为坏块,使得SPI-Nand能够轻易识别出第一区块B0不可用,节省了读取时间。
需要说明的是,步骤S107和步骤S102之间没有执行先后的关系,在读取PairPage1发生错误后,可以先将第一区块B0标记为坏块,也可以先查找与PairPage1对应的PairBlock1,本发明实施例对此不作具体限制。通常,SPI-Nand是在发现第一区块B0为故障区块之后(即读取PairPage1发生错误后),就将第一区块B0标记为坏块的,示例性的,图5即是以先执行步骤S107,后执行步骤S102为例进行绘制的。
S108、擦除第一区块内的数据。
步骤S108和步骤S103-S106之间同样没有执行先后的关系,在将第一区块B0标记为坏块后,可以先擦除第一区块内的数据,也可以先生成PairBlock2,并将数据写入PairBlock2中,本发明实施例对此不作具体限制。通常,SPI-Nand是在将数据写入PairBlock2中之后,擦除第一区块内的数据的,示例性的,图5即是以先执行步骤S103-S106,后执行步骤S108为例进行绘制的。
本发明实施例提供一种防止SPI-Nand读取数据页出错的方法,包括:当读取第一数据页对PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1,其中,PairPage1为PairBlock1内的任意一组数据页对,PairBlock1由第一区块和第二区块组成,第一区块为故障区块;查找第三区块,并生成第二区块对PairBlock2,其中,PairBlock2由第二区块和第三区块组成,PairBlock2用于读写数据。通过该方法,能够避免PairBlock无法正常读写或者坏块的问题,使得SPI-Nand能够正常读出SPI-Nand的配置信息,提高了SPI-Nand的稳定性。
本发明实施例提供一种防止SPI-Nand读取数据页出错的装置,如图6所示,包括查找模块10和生成模块11。
查找模块10,用于当读取第一数据页对PairPage1发生错误时,查找与PairPage1对应的第一区块对PairBlock1,其中,PairPage1为PairBlock1内的任意一组数据页对,PairBlock1由第一区块和第二区块组成,第一区块为故障区块;以及查找第三区块;
生成模块11,用于在查找模块10查找到第三区块后,生成第二区块对PairBlock2,其中,PairBlock2由第二区块和第三区块组成,PairBlock2用于读写数据。
进一步地,PairPage1包括第一数据页和第二数据页,第一数据页位于第一区块内,第二数据页位于第二区块内。结合图6,如图7所示,还包括读写模块12。
读写模块12,用于读取第一数据页和第二数据页。
进一步地,结合图7,如图8所示,还包括擦除模块13。
读写模块12,还用于在生成模块11生成第二区块对PairBlock2后,将第一数据写入第三区块的第一个数据页中;
擦除模块13,用于在读写模块12将第一数据写入第三区块的第一个数据页中后,擦除第二区块内的数据;
读写模块12,还用于在擦除模块13擦除第二区块内的数据后,将第一数据写入第二区块的第一个数据页中。
进一步地,结合图8,如图9所示,还包括标记模块14。
标记模块14,用于将第一区块标记为坏块。
进一步地,擦除模块13,还用于在标记模块14将第一区块标记为坏块后,擦除第一区块内的数据。
本发明实施例所提供的装置可执行本发明任意实施例所提供的防止SPI-Nand读取数据页出错的方法,具备执行方法相应的功能模块和有益效果。
本发明实施例提供一种设备,如图10所示,图10显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,设备以通用计算设备的形式表现。设备的组件可以包括但不限于:一个或者多个处理器或者处理器20,存储装置21,连接不同系统组件(包括存储装置21和处理器20)的总线22。
总线22表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置21可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)210和/或高速缓存存储器211。设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储装置21可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线22相连。存储装置21可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
当一个或多个程序被一个或多个处理器20执行,使得一个或多个处理器20实现如上述实施例的防止SPI-Nand读取数据页出错的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例的防止SPI-Nand读取数据页出错的方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种防止SPI-Nand读取数据页出错的方法,其特征在于,包括:
当读取第一数据页对PairPage1发生错误时,查找与所述PairPage1对应的第一区块对PairBlock1,其中,所述PairPage1为所述PairBlock1内的任意一组数据页对,所述PairBlock1由第一区块和第二区块组成,所述第一区块为故障区块;
其中,所述数据页对具体为:一个PairBlock中相对处于同一位置的数据页;
查找第三区块,并生成第二区块对PairBlock2,其中,所述PairBlock2由第二区块和第三区块组成,所述PairBlock2用于读写数据;
所述生成第二区块对PairBlock2后,还包括:将第一数据写入所述第三区块的第一个数据页中;擦除所述第二区块内的数据;将第一数据写入所述第二区块的第一个数据页中。
2.根据权利要求1所述的方法,其特征在于,所述PairPage1包括第一数据页和第二数据页,所述第一数据页位于所述第一区块内,所述第二数据页位于所述第二区块内;
所述读取第一数据页对PairPage1发生错误,具体包括:
读取所述第一数据页发生错误。
3.根据权利要求1-2中任意一项所述的方法,其特征在于,还包括:
将所述第一区块标记为坏块。
4.根据权利要求3所述的方法,其特征在于,在将所述第一区块标记为坏块后,还包括:
擦除所述第一区块内的数据。
5.一种防止SPI-Nand读取数据页出错的装置,其特征在于,包括查找模块和生成模块;
所述查找模块,用于当读取第一数据页对PairPage1发生错误时,查找与所述PairPage1对应的第一区块对PairBlock1,其中,所述PairPage1为所述PairBlock1内的任意一组数据页对,所述PairBlock1由第一区块和第二区块组成,所述第一区块为故障区块;以及查找第三区块;
其中,所述数据页对具体为:一个PairBlock中相对处于同一位置的数据页;
所述生成模块,用于在所述查找模块查找到第三区块后,生成第二区块对PairBlock2,其中,所述PairBlock2由第二区块和第三区块组成,所述PairBlock2用于读写数据;
包括擦除模块;
读写模块,用于在所述生成模块生成第二区块对PairBlock2后,将第一数据写入所述第三区块的第一个数据页中;
所述擦除模块,用于在所述读写模块将第一数据写入所述第三区块的第一个数据页中后,擦除所述第二区块内的数据;
所述读写模块,用于在所述擦除模块擦除所述第二区块内的数据后,将第一数据写入所述第二区块的第一个数据页中。
6.根据权利要求5所述的装置,其特征在于,所述PairPage1包括第一数据页和第二数据页,所述第一数据页位于所述第一区块内,所述第二数据页位于所述第二区块内;还包括所述读写模块;
所述读写模块,用于读取所述第一数据页和所述第二数据页。
7.根据权利要求5-6中任意一项所述的装置,其特征在于,还包括标记模块;
所述标记模块,用于将所述第一区块标记为坏块。
8.根据权利要求7所述的装置,其特征在于,
所述擦除模块,还用于在所述标记模块将所述第一区块标记为坏块后,擦除所述第一区块内的数据。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的防止SPI-Nand读取数据页出错的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述的防止SPI-Nand读取数据页出错的方法。
CN201711384381.8A 2017-12-20 2017-12-20 一种防止SPI-Nand读取数据页出错的方法及装置 Active CN108052410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711384381.8A CN108052410B (zh) 2017-12-20 2017-12-20 一种防止SPI-Nand读取数据页出错的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711384381.8A CN108052410B (zh) 2017-12-20 2017-12-20 一种防止SPI-Nand读取数据页出错的方法及装置

Publications (2)

Publication Number Publication Date
CN108052410A CN108052410A (zh) 2018-05-18
CN108052410B true CN108052410B (zh) 2021-04-13

Family

ID=62130662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711384381.8A Active CN108052410B (zh) 2017-12-20 2017-12-20 一种防止SPI-Nand读取数据页出错的方法及装置

Country Status (1)

Country Link
CN (1) CN108052410B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298543A (zh) * 2011-09-15 2011-12-28 成都市华为赛门铁克科技有限公司 一种存储器管理方法和装置
CN103699344A (zh) * 2013-11-05 2014-04-02 威盛电子股份有限公司 非易失性存储器装置及其操作方法
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
CN101763315B (zh) * 2008-12-25 2011-09-14 深圳芯邦科技股份有限公司 基于多级单元闪存的数据存储方法、装置
KR20140078893A (ko) * 2012-12-18 2014-06-26 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
CN105740088B (zh) * 2016-01-22 2021-06-22 深圳市硅格半导体有限公司 闪存数据纠错方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298543A (zh) * 2011-09-15 2011-12-28 成都市华为赛门铁克科技有限公司 一种存储器管理方法和装置
CN103699344A (zh) * 2013-11-05 2014-04-02 威盛电子股份有限公司 非易失性存储器装置及其操作方法
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置

Also Published As

Publication number Publication date
CN108052410A (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN108132890B (zh) 存储芯片的垃圾回收方法、装置、设备及存储介质
US7725646B2 (en) Method of using a flash memory for a circular buffer
US9058256B2 (en) Data writing method, memory controller and memory storage apparatus
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
CN103955430A (zh) 一种闪存存储设备中数据管理的方法及装置
US10387280B2 (en) Reporting defects in a flash memory back-up system
US11029857B2 (en) Offloading device maintenance to an external processor in low-latency, non-volatile memory
CN103631721A (zh) 一种隔离内存中坏块的方法及系统
TW201526007A (zh) Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統
US9043675B2 (en) Storage device
TW201303584A (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
CN112988611A (zh) 非易失性存储器的数据写入方法、终端和可读存储介质
US20140372833A1 (en) Data protecting method, memory controller and memory storage device
US8910004B2 (en) Information processing apparatus, and method of controlling information processing apparatus
CN110989931A (zh) 存储设备坏块处理方法、装置、设备及存储介质
US8726101B2 (en) Apparatus and method for tracing memory access information
CN108052410B (zh) 一种防止SPI-Nand读取数据页出错的方法及装置
CN107908500B (zh) 一种坏块识别方法及装置
CN113760781A (zh) 数据处理方法、装置、电子设备及存储介质
CN112988038B (zh) 非易失性存储器的数据写入方法、终端和可读存储介质
CN107977282B (zh) 一种SPI-Nand读取数据页的方法及装置
CN108038064B (zh) 一种PairBlock擦除出错的处理方法及装置
CN108614664A (zh) 基于NANDflash的读错误处理方法和装置
US9128887B2 (en) Using a buffer to replace failed memory cells in a memory component
CN107967222A (zh) 一种SPI-Nand查找数据页的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.