CN111949426A - 一种固件程序错误的检测方法、装置及存储设备 - Google Patents

一种固件程序错误的检测方法、装置及存储设备 Download PDF

Info

Publication number
CN111949426A
CN111949426A CN201910411059.2A CN201910411059A CN111949426A CN 111949426 A CN111949426 A CN 111949426A CN 201910411059 A CN201910411059 A CN 201910411059A CN 111949426 A CN111949426 A CN 111949426A
Authority
CN
China
Prior art keywords
test data
management information
address
error
data
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
Application number
CN201910411059.2A
Other languages
English (en)
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.)
GigaDevice Semiconductor Beijing Inc
Beijing Zhaoyi Innovation Technology 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 CN201910411059.2A priority Critical patent/CN111949426A/zh
Publication of CN111949426A publication Critical patent/CN111949426A/zh
Pending legal-status Critical Current

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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种固件程序错误的检测方法、装置及存储设备。获取写操作指令,将写操作指令对应的测试数据以及数据管理信息写入当前页,判断写操作指令对应的测试数据是否写入错误,若是,根据数据管理信息对固件程序进行错误定位,其中,数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。本发明实施例提供的技术方案可以及时发现测试数据是否写入错误,以便尽快定位固件程序的错误根源。

Description

一种固件程序错误的检测方法、装置及存储设备
技术领域
本发明实施例涉及存储器技术领域,尤其涉及一种固件程序错误的检测方法、装置及设备。
背景技术
基于NAND flash的存储设备具有容量较大、改写速度快以及掉电非易失等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
基于NAND flash的存储设备的固件程序中的转换层,负责逻辑地址到物理地址的映射、损耗均衡管理、坏块管理、垃圾回收管理等,如果固件程序编写错误,有可能导致用户数据错误甚至存储设备工作异常。然而,在现有技术中,当主机发现发生了数据错误并报错时,通常已经距离发生数据错误较长时间了,需要比较长的时间去回溯查找错误根源。
发明内容
本发明提供一种固件程序错误的检测方法、装置及设备,以实现及时发现数据错误,减少固件程序错误根源查找时间。
第一方面,本发明实施例提供了一种固件程序错误的检测方法,该方法包括:
获取写操作指令;
将写操作指令对应的测试数据以及数据管理信息写入当前页;
判断写操作指令对应的测试数据是否写入错误;
若是,根据数据管理信息对固件程序进行错误定位;
其中,数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。
可选的,将写操作指令对应的测试数据以及数据管理信息写入当前页包括:
将测试数据写入当前页的数据区域,并且将数据管理信息写入当前页的冗余区域。
可选的,所根据数据管理信息对固件程序进行错误定位包括:
根据数据管理信息以及测试数据倒序模拟测试数据的存储过程;
根据测试数据的存储过程对固件程序进行错误定位。
可选的,判断写操作指令对应的测试数据是否写入错误包括:
读取测试数据以及数据管理信息,并获取测试数据中包含的预设逻辑地址;
确定用于存储预设逻辑地址的存储空间的物理地址为预设物理地址;
根据数据管理信息中包含的地址映射信息确定预设物理地址对应的逻辑地址为目标逻辑地址;
检测预设逻辑地址与目标逻辑地址是否一致,若否,则判断写操作指令对应的测试数据写入错误;
其中,预设逻辑地址为测试数据中的第N个数据,预设逻辑地址的内容为测试数据对应的起始逻辑地址加N后再减1,N为大于等于1的正整数。
可选的,判断写操作指令对应的测试数据是否写入错误包括:
读取测试数据以及数据管理信息,并获取数据管理信息中的地址映射信息;
读取测试数据对应的映射表;
检测映射表中包含的地址映射信息与数据管理信息中包含的地址映射信息是否一致,若否,则判断写操作指令对应的测试数据写入错误。
第二方面,本发明实施例还提供了一种固件程序错误的检测装置,该装置包括:
写操作指令获取模块、测试数据以及数据管理信息写入模块、写入错误判断模块以及错误定位模块;
写操作指令获取模块,用于获取写操作指令;
测试数据以及数据管理信息写入模块,用于将写操作指令对应的测试数据以及数据管理信息写入当前页;
写入错误判断模块,用于判断写操作指令对应的测试数据是否写入错误;
错误定位模块,用于在判断写操作指令对应的测试数据是否写入错误时,根据数据管理信息对固件程序进行错误定位;
其中,数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。
可选的,测试数据以及数据管理信息写入模块,具体用于将测试数据写入当前页的数据区域,并且将数据管理信息写入当前页的冗余区域。
可选的,错误定位模块包括存储过程模拟子模块和错误定位子模块;
存储过程模拟子模块,用于根据数据管理信息以及测试数据倒序模拟测试数据的存储过程;
错误定位子模块,用于根据测试数据的存储过程对固件程序进行错误定位。
可选的,写入错误判断模块包括:预设逻辑地址确定子模块、预设物理地址确定子模块、目标逻辑地址确定子模块和第一写入错误判断子模块;
预设逻辑地址确定子模块,用于读取测试数据以及数据管理信息,并获取测试数据中包含的预设逻辑地址;
预设物理地址确定子模块,用于确定用于存储预设逻辑地址的存储空间的物理地址为预设物理地址;
目标逻辑地址确定子模块,用于根据数据管理信息中包含的地址映射信息确定预设物理地址对应的逻辑地址为目标逻辑地址;
第一写入错误判断子模块,用于检测预设逻辑地址与目标逻辑地址是否一致,若否,则判断写操作指令对应的测试数据写入错误
其中,预设逻辑地址为测试数据中的第N个数据,预设逻辑地址的内容为测试数据对应的起始逻辑地址加N后再减1,N为大于等于1的正整数。
第三方面,本发明实施例还提供了一种存储设备,该存储设备包括本发明任意实施例所述的固件程序错误的检测装置。
本发明实施例提供的固件程序错误的检测方法通过在测试阶段,将测试数据写入存储设备后,及时检查是否发生数据错误,并且当检查到发生数据错误时去定位固件程序的错误根源,由于检查及时,因而不必像有技术中需要读取很多数据去做分析,减少了固件程序错误定位的工作量,解决了现有技术中当得知到发生数据错误时需要很长时间去定位固件程序错误根源的问题,达到了降低固件程序错误根源定位时间的效果。
附图说明
图1是本发明实施例一提供的一种固件程序错误的检测方法的流程图;
图2是本发明实施例二提供的一种固件程序错误的检测方法的流程图;
图3是本发明实施例三提供的一种固件程序错误的检测方法的流程图;
图4是本发明实施例三提供的一种固件程序错误的检测装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种固件程序错误的检测方法的流程图。本实施例可适用于对存储设备中的固件程序进行错误定位的情况,该方法可以由本发明实施例中的固件程序错误的检测装置来执行,该装置可以通过软件和/或硬件的方式实现,并一般可以集成在存储设备中,本发明实施例的方法具体包括如下步骤:
S110、获取写操作指令。
具体的,存储设备可以是基于NAND flash存储器的存储设备,该NAND flash存储设备包括前端层、转换层、后端层。前端层用于与主机进行通讯,例如,接收主机发送的控制指令,控制指令包括读操作指令、写操作指令和擦除操作指令;转换层用于根据控制指令进行软件操作,软件操作包括但不限于逻辑地址到物理地址的转换、地址映射表管理、损耗均衡管理和坏块管理;后端层用于根据控制指令对NAND flash存储器进行读、写或擦除操作。
S120、将写操作指令对应的测试数据以及数据管理信息写入当前页。
其中,数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中,还可以包括其他类型的数据管理信息,本领域技术人员可根据实际情况设定,可以理解的是,存储的数据管理信息越多,在利用该数据管理信息定位固件程序错误根源时依据越多。
具体的,在将测试数据写入某一页时,将该页所要存储的测试数据对应的数据管理信息也一并写在该页中,这样设置的好处在于,在定位造成该数据错误的固件程序错误根源时,需要根据该测试数据以及数据管理信息去分析,通过读取当前页便可以同时获取测试数据和数据管理信息。
S130、判断写操作指令对应的测试数据是否写入错误。
其中,读操作,是从NAND flash存储器中读取出数据,不影响NAND flash存储器中数据的存储;擦除操作是将NAND flash存储器中某些写入的数据进行擦除,也不影响NANDflash存储器中不需要进行擦除的数据的存储;写操作是将数据写入NAND flash存储器中,若转换层进行写操作所基于的固件程序编写有误,很有可能发生数据错误,进而影响存储设备正常运行。因此,需要确保写入的数据正确。
具体的,将测试数据写入NAND flash存储器后,再从NAND flash存储器中读取出来,已写入NAND flash存储器的测试数据的读取主要包括两种,一种是通过主机发送读操作命令,另一种是通过垃圾回收。如果读取出来的数据和主机发送的测试数据不一致,则说明测试数据写入错误,即发生了数据错误。或者,如果数据管理信息中存储的地址映射信息与NAND flash存储器专门用来存储映射表的块中存储的映射表信息不一致,也说明测试数据写入错误,即发生了数据错误。
S140、若是,根据数据管理信息对固件程序进行错误定位。
其中,固件程序是一个包含很多步骤的整体,前后步骤之间都是有关系的,任何一个步骤编写错误都可能导致数据错误。时间戳能够反映多笔数据写入的先后顺序,当前页在块的物理页偏移能够反映当前页在其所在块中的相对位置,地址映射信息能够反映逻辑地址、测试数据以及物理地址间的一一对应关系,根据上述数据管理信息可以辅助查找固件程序的错误根源。可以理解的是,当仅依靠上述几种数据管理信息不足以查找固件程序的错误根源时,可以借助NAND flash存储器专门用来存储各种类型的数据管理信息的块中其它类型的数据管理信息帮助定位固件程序的错误根源。
需要说明的是,S110-S140步骤发生在对存储设备的测试阶段,在测试阶段,通过上述步骤检测固件程序是否发生错误,若固件程序发生错误,可及时根据数据管理信息对固件程序进行错误定位。相比于现有技术中,当在存储设备正常使用阶段,读取某一部分之前写入的数据,发现该部分数据写入错误时,再去定位固件程序的错误根源,可以尽早发现数据错误,进而有利于去检查问题,并且,可以避免存储设备在正常使用阶段发生数据错误。
本发明实施例提供的固件程序错误的检测方法通过在测试阶段,将测试数据写入存储设备后,及时检查是否发生数据错误,并且当检查到发生数据错误时去定位固件程序的错误根源,由于检查及时,因而不必像有技术中需要读取很多数据去做分析,减少了固件程序错误定位的工作量,解决了现有技术中当得知到发生数据错误时需要很长时间去定位固件程序错误根源的问题,达到了降低固件程序错误根源定位时间的效果。
实施例二
本实施例是在上述技术方案的基础上,进行具体化和优化,并且本实施例与上述实施例具有相同的发明构思,与上述实施例相同或相应的术语解释,本实施例不再赘述。
图2是本发明实施例二提供的一种固件程序错误的检测方法的流程图,参见图2,本发明实施例的方法具体包括如下步骤:
S210、获取写操作指令。
S220、将测试数据写入当前页的数据区域,并且将数据管理信息写入当前页的冗余区域。
具体的,NAND flash存储器中包含多个块,每个块包含多页,每页中包含数据区域和冗余区域,数据区域通常用来存储测试数据,冗余区域通常用来存储测试数据的纠错码,但是,纠错码并不会填满冗余区域,因此,可以将数据管理信息存储在冗余区域的富余存储空间。
S230、读取测试数据以及数据管理信息,并获取测试数据中包含的预设逻辑地址。
其中,预设逻辑地址为测试数据中的第N个数据,预设逻辑地址的内容为测试数据对应的起始逻辑地址加N后再减1,N为大于等于1的正整数。即若测试数据写入正确,则测试数据对应的映射表中,与用于存储预设逻辑地址的存储空间的物理地址一一对应的逻辑地址即为预设逻辑地址。
S240、确定用于存储预设逻辑地址的存储空间的物理地址为预设物理地址。
具体的,NAND flash存储器中包含多个块,每个块包含多页,每页中包含多个存储空间,将存储预设逻辑地址的物理空间的物理地址确定为预设物理地址。
S250、根据数据管理信息中包含的地址映射信息确定预设物理地址对应的逻辑地址为目标逻辑地址。
具体的,数据管理信息中包含地址映射信息,地址映射信息能够反应物理地址以及逻辑地址的一一对应关系,将地址映射信息中记录的与预设物理地址对应的逻辑地址确定为目标逻辑地址。
S260、检测预设逻辑地址与目标逻辑地址是否一致,若否,则判断写操作指令对应的测试数据写入错误。
示例性的,每个数据页包含多个扇区,扇区是主机基于EMMC协议访问存储设备的最小访问单位,每一扇区的起始四个字节存放预设逻辑地址,则在读操作时检查每一扇区起始的四个字节存放的预设逻辑地址,与起始的四个字节的物理地址对应的目标逻辑地址,如果预设逻辑地址与目标逻辑地址不一致则说明出现数据错误。
S270、根据数据管理信息以及测试数据倒序模拟测试数据的存储过程。
S280、根据测试数据的存储过程对固件程序进行错误定位。
具体的,数据写入过程是基于固件程序中编写的很多步程序逐步运行实现的,即数据写入过程和固件程序中编写的程序是相互对应的。因此,当发生数据错误时,要读取包括发生数据错误的页在内的很多已写入NAND flash存储器的测试数据,在数据管理信息的辅助下,倒序模拟测试数据的写入过程,以查看测试数据的写入过程中哪个步骤出现了差错,进而分析用于实现该步骤的固件程序的部分,最终找到固件程序的错误根源。
本发明实施例提供的固件程序错误的检测方法只需要判断测试数据中的预设逻辑地址与数据管理信息中的目标逻辑地址是否一致,不必对测试数据逐个比对检查是否写入错误,因此,能够快速判断测试数据是否写入错误,并且在测试数据写入错误时,在数据管理信息的辅助下模拟测试数据过程,进而找到固件程序错误的根源。
实施例三
本实施例是在上述技术方案的基础上,进行具体化和优化,并且本实施例与上述实施例具有相同的发明构思,与上述实施例相同或相应的术语解释,本实施例不再赘述。
图3是本发明实施例三提供的一种固件程序错误的检测方法的流程图,参见图3,本发明实施例的方法具体包括如下步骤:
S310、获取写操作指令。
S320、将测试数据写入当前页的数据区域,并且将数据管理信息写入当前页的冗余区域。
S330、读取测试数据以及数据管理信息,并获取数据管理信息中的地址映射信息。
S340、读取测试数据对应的映射表。
具体的,NAND flash存储器中分配专门用来存储映射表的块,从该块中读取出测试数据对应的映射表。
S350、检测映射表中包含的地址映射信息与数据管理信息中包含的地址映射信息是否一致,若否,则判断写操作指令对应的测试数据写入错误。
S350、根据数据管理信息以及测试数据倒序模拟测试数据的存储过程。
S360、根据测试数据的存储过程对固件程序进行错误定位。
本发明实施例提供的固件程序错误的检测方法能够根据映射表中包含的地址映射信息与数据管理信息中包含的地址映射信息判断测试数据是否写入错误,即检查每个数据的物理地址和逻辑地址的对应关系,从而提高检测的准确率,并且在测试数据写入错误时,在数据管理信息的辅助下模拟测试数据过程,进而找到固件程序错误的根源。
实施例四
图4是本发明实施例三提供的一种固件程序错误的检测装置的结构框图,参见图4,该装置包括:写操作指令获取模块110、测试数据以及数据管理信息写入模块120、写入错误判断模块130以及错误定位模块140。
写操作指令获取模块110,用于获取写操作指令。
测试数据以及数据管理信息写入模块120,用于将写操作指令对应的测试数据以及数据管理信息写入当前页。
写入错误判断模块130,用于判断写操作指令对应的测试数据是否写入错误。
错误定位模块140,用于在判断写操作指令对应的测试数据是否写入错误时,根据数据管理信息对固件程序进行错误定位。
其中,数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。
本发明实施例提供的固件程序错误的检测方法通过在测试阶段,将测试数据写入存储设备后,及时检查是否发生数据错误,并且当检查到发生数据错误时去定位固件程序的错误根源,由于检查及时,因而不必像有技术中需要读取很多数据去做分析,减少了固件程序错误定位的工作量,解决了现有技术中当得知到发生数据错误时需要很长时间去定位固件程序错误根源的问题,达到了降低固件程序错误根源定位时间的效果。
在上述技术方案的基础上,可选的,测试数据以及数据管理信息写入模块120,具体用于将测试数据写入当前页的数据区域,并且将数据管理信息写入当前页的冗余区域。
可选的,错误定位模块140包括存储过程模拟子模块和错误定位子模块。
存储过程模拟子模块,用于根据数据管理信息以及测试数据倒序模拟测试数据的存储过程。
错误定位子模块,用于根据测试数据的存储过程对固件程序进行错误定位。
可选的,写入错误判断模块130包括:预设逻辑地址确定子模块、预设物理地址确定子模块、目标逻辑地址确定子模块和第一写入错误判断子模块;
预设逻辑地址确定子模块,用于读取测试数据以及数据管理信息,并获取测试数据中包含的预设逻辑地址;
预设物理地址确定子模块,用于确定用于存储预设逻辑地址的存储空间的物理地址为预设物理地址;
目标逻辑地址确定子模块,用于根据数据管理信息中包含的地址映射信息确定预设物理地址对应的逻辑地址为目标逻辑地址;
第一写入错误判断子模块,用于检测预设逻辑地址与目标逻辑地址是否一致,若否,则判断写操作指令对应的测试数据写入错误;
其中,预设逻辑地址为测试数据中的第N个数据,预设逻辑地址的内容为测试数据对应的起始逻辑地址加N后再减1,N为大于等于1的正整数。
可选的,写入错误判断模块130包括:地址映射信息获取子模块、映射表读取子模块和第二写入错误判断子模块。
地址映射信息获取子模块,用于读取测试数据以及数据管理信息,并获取数据管理信息中的地址映射信息;
映射表读取子模块,用于读取测试数据对应的映射表;
第二写入错误判断子模块,用于检测映射表中包含的地址映射信息与数据管理信息中包含的地址映射信息是否一致,若否,则判断写操作指令对应的测试数据写入错误。
本实施例提出的固件程序错误的检测装置与上述实施例提出的固件程序错误的检测方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行固件程序错误的检测方法相同的有益效果。
实施例五
本发明实施例还提供了一种存储设备,该存储设备包括本发明任意实施例所述的固件程序错误的检测装置。
该存储设备包括上述所述的任一种固件程序错误的检测装置,因而该存储设备具备相应的功能和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种固件程序错误的检测方法,其特征在于,包括:
获取写操作指令;
将所述写操作指令对应的测试数据以及数据管理信息写入当前页;
判断所述写操作指令对应的测试数据是否写入错误;
若是,根据所述数据管理信息对所述固件程序进行错误定位;
其中,所述数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。
2.根据权利要求1所述的固件程序错误的检测方法,其特征在于,将所述写操作指令对应的测试数据以及数据管理信息写入当前页包括:
将所述测试数据写入所述当前页的数据区域,并且将所述数据管理信息写入所述当前页的冗余区域。
3.根据权利要求1所述的固件程序错误的检测方法,其特征在于,所根据所述数据管理信息对所述固件程序进行错误定位包括:
根据所述数据管理信息以及所述测试数据倒序模拟所述测试数据的存储过程;
根据所述测试数据的存储过程对所述固件程序进行错误定位。
4.根据权利要求1所述的固件程序错误的检测方法,其特征在于,所述判断所述写操作指令对应的测试数据是否写入错误包括:
读取所述测试数据以及所述数据管理信息,并获取所述测试数据中包含的预设逻辑地址;
确定用于存储所述预设逻辑地址的存储空间的物理地址为预设物理地址;
根据所述数据管理信息中包含的地址映射信息确定所述预设物理地址对应的逻辑地址为目标逻辑地址;
检测所述预设逻辑地址与所述目标逻辑地址是否一致,若否,则判断所述写操作指令对应的测试数据写入错误
其中,所述预设逻辑地址为所述测试数据中的第N个数据,所述预设逻辑地址的内容为所述测试数据对应的起始逻辑地址+N-1,N为大于等于1的正整数。
5.根据权利要求1所述的固件程序错误的检测方法,其特征在于,所述判断所述写操作指令对应的测试数据是否写入错误包括:
读取所述测试数据以及所述数据管理信息,并获取所述数据管理信息中的地址映射信息;
读取所述测试数据对应的映射表;
检测所述映射表中包含的地址映射信息与所述数据管理信息中包含的地址映射信息是否一致,若否,则判断所述写操作指令对应的测试数据写入错误。
6.一种固件程序错误的检测装置,其特征在于,包括:写操作指令获取模块、测试数据以及数据管理信息写入模块、写入错误判断模块以及错误定位模块;
所述写操作指令获取模块,用于获取写操作指令;
所述测试数据以及数据管理信息写入模块,用于将所述写操作指令对应的测试数据以及数据管理信息写入当前页;
所述写入错误判断模块,用于判断所述写操作指令对应的测试数据是否写入错误;
所述错误定位模块,用于在判断所述写操作指令对应的测试数据是否写入错误时,根据所述数据管理信息对所述固件程序进行错误定位;
其中,所述数据管理信息至少包括地址映射信息、时间戳以及当前页在块的物理页偏移中。
7.根据权利要求6所述的固件程序错误的检测装置,其特征在于,所述测试数据以及数据管理信息写入模块,具体用于将所述测试数据写入所述当前页的数据区域,并且将所述数据管理信息写入所述当前页的冗余区域。
8.根据权利要求6所述的固件程序错误的检测装置,其特征在于,所述错误定位模块包括存储过程模拟子模块和错误定位子模块;
所述存储过程模拟子模块,用于根据所述数据管理信息以及所述测试数据倒序模拟所述测试数据的存储过程;
所述错误定位子模块,用于根据所述测试数据的存储过程对所述固件程序进行错误定位。
9.根据权利要求6所述的固件程序错误的检测装置,其特征在于,所述写入错误判断模块包括:预设逻辑地址确定子模块、预设物理地址确定子模块、目标逻辑地址确定子模块和第一写入错误判断子模块;
所述预设逻辑地址确定子模块,用于读取所述测试数据以及所述数据管理信息,并获取所述测试数据中包含的预设逻辑地址;
所述预设物理地址确定子模块,用于确定用于存储所述预设逻辑地址的存储空间的物理地址为预设物理地址;
所述目标逻辑地址确定子模块,用于根据所述数据管理信息中包含的地址映射信息确定所述预设物理地址对应的逻辑地址为目标逻辑地址;
所述第一写入错误判断子模块,用于检测所述预设逻辑地址与所述目标逻辑地址是否一致,若否,则判断所述写操作指令对应的测试数据写入错误;
其中,所述预设逻辑地址为所述测试数据中的第N个数据,所述预设逻辑地址的内容为所述测试数据对应的起始逻辑地址加N后再减1,N为大于等于1的正整数。
10.一种存储设备,其特征在于,包括权利要求6-9任一项所述的固件程序错误的检测装置。
CN201910411059.2A 2019-05-16 2019-05-16 一种固件程序错误的检测方法、装置及存储设备 Pending CN111949426A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910411059.2A CN111949426A (zh) 2019-05-16 2019-05-16 一种固件程序错误的检测方法、装置及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910411059.2A CN111949426A (zh) 2019-05-16 2019-05-16 一种固件程序错误的检测方法、装置及存储设备

Publications (1)

Publication Number Publication Date
CN111949426A true CN111949426A (zh) 2020-11-17

Family

ID=73336070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910411059.2A Pending CN111949426A (zh) 2019-05-16 2019-05-16 一种固件程序错误的检测方法、装置及存储设备

Country Status (1)

Country Link
CN (1) CN111949426A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495275A (zh) * 2022-11-16 2022-12-20 合肥康芯威存储技术有限公司 一种存储***及其控制方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040218440A1 (en) * 2003-02-27 2004-11-04 Stmicroelectronics S.R.I. Built-in testing methodology in flash memory
CN101288056A (zh) * 2006-03-13 2008-10-15 松下电器产业株式会社 闪速存储器用的存储控制器
CN101710302A (zh) * 2009-01-09 2010-05-19 深圳市江波龙电子有限公司 基于NandFlash存储介质的固件程序检测方法
CN101937721A (zh) * 2010-08-04 2011-01-05 武汉天喻信息产业股份有限公司 一种测试存储器件的方法
US20110314347A1 (en) * 2010-06-21 2011-12-22 Fujitsu Limited Memory error detecting apparatus and method
CN103761190A (zh) * 2013-12-19 2014-04-30 华为技术有限公司 数据处理方法及装置
US8924832B1 (en) * 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
CN105741883A (zh) * 2016-01-28 2016-07-06 深圳市硅格半导体股份有限公司 测试方法和装置
CN109597821A (zh) * 2018-12-12 2019-04-09 北京谷数科技有限公司 一种存储数据一致性的校验方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040218440A1 (en) * 2003-02-27 2004-11-04 Stmicroelectronics S.R.I. Built-in testing methodology in flash memory
CN101288056A (zh) * 2006-03-13 2008-10-15 松下电器产业株式会社 闪速存储器用的存储控制器
CN101710302A (zh) * 2009-01-09 2010-05-19 深圳市江波龙电子有限公司 基于NandFlash存储介质的固件程序检测方法
US20110314347A1 (en) * 2010-06-21 2011-12-22 Fujitsu Limited Memory error detecting apparatus and method
CN101937721A (zh) * 2010-08-04 2011-01-05 武汉天喻信息产业股份有限公司 一种测试存储器件的方法
US8924832B1 (en) * 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
CN103761190A (zh) * 2013-12-19 2014-04-30 华为技术有限公司 数据处理方法及装置
CN105741883A (zh) * 2016-01-28 2016-07-06 深圳市硅格半导体股份有限公司 测试方法和装置
CN109597821A (zh) * 2018-12-12 2019-04-09 北京谷数科技有限公司 一种存储数据一致性的校验方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495275A (zh) * 2022-11-16 2022-12-20 合肥康芯威存储技术有限公司 一种存储***及其控制方法
CN115495275B (zh) * 2022-11-16 2023-03-24 合肥康芯威存储技术有限公司 一种存储***及其控制方法

Similar Documents

Publication Publication Date Title
US8458417B2 (en) Garbage collection in a storage device
US8046645B2 (en) Bad block identifying method for flash memory, storage system, and controller thereof
US8086919B2 (en) Controller having flash memory testing functions, and storage system and testing method thereof
US10860247B2 (en) Data writing method and storage controller
US9189313B2 (en) Memory system having NAND-type flash memory and memory controller with shift read controller and threshold voltage comparison module
US20190087348A1 (en) Data backup method, data recovery method and storage controller
TWI655576B (zh) 記憶體管理方法以及儲存控制器
US10628257B2 (en) Memory management method and storage controller
US20190332331A1 (en) Memory management method and storage controller
US9465537B2 (en) Memory system and method of controlling memory system
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US10579289B2 (en) Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
CN116880782B (zh) 一种内嵌式存储器及其测试方法
US20090164869A1 (en) Memory architecture and configuration method thereof
TWI651650B (zh) 記憶體管理方法及使用所述方法的儲存控制器
CN112347001B (zh) 闪存垃圾回收的校验方法、装置及电子设备
CN111949426A (zh) 一种固件程序错误的检测方法、装置及存储设备
CN110377538B (zh) 存储器管理方法以及存储控制器
CN108614664B (zh) 基于NAND flash的读错误处理方法和装置
CN114546292A (zh) 一种nand flash坏块管理方法及***
CN111489776B (zh) 数据读取方法、存储控制器与存储装置
CN113470725A (zh) 一种动态随机存储器的测试方法及装置
CN111324286A (zh) 一种存储器及其控制方法和装置
CN111949198A (zh) 一种坏块管理方法、装置和存储设备

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
CB02 Change of applicant information

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

Applicant 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

Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

CB02 Change of applicant information