CN110618892A - 一种固态硬盘的bug定位方法、装置、电子设备及介质 - Google Patents

一种固态硬盘的bug定位方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN110618892A
CN110618892A CN201910887785.1A CN201910887785A CN110618892A CN 110618892 A CN110618892 A CN 110618892A CN 201910887785 A CN201910887785 A CN 201910887785A CN 110618892 A CN110618892 A CN 110618892A
Authority
CN
China
Prior art keywords
solid state
state disk
log
log file
sub
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.)
Granted
Application number
CN201910887785.1A
Other languages
English (en)
Other versions
CN110618892B (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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910887785.1A priority Critical patent/CN110618892B/zh
Publication of CN110618892A publication Critical patent/CN110618892A/zh
Application granted granted Critical
Publication of CN110618892B publication Critical patent/CN110618892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种固态硬盘的bug定位方法,在确定固态硬盘发生了下电异常后,本申请首先利用紧急供电电容提供的余电将日志文件保存至非易失性存储器中,以防止断电丢失;在感知到固态硬盘所在设备再次上电后,将该日志文件从该非易失性存储器中恢复至内存,以使诊断工具可以直接从内存中获取到该日志文件,从而在无需外接调试工具的基础上,可以便捷的获取到日志文件,并进一步基于日志内容定位bug,十分便捷。本申请还同时公开了一种固态硬盘的bug定位装置、电子设备及可读存储介质,具有上述有益效果。

Description

一种固态硬盘的bug定位方法、装置、电子设备及介质
技术领域
本申请涉及固态硬盘技术领域,特别涉及一种固态硬盘的bug定位方法、装置、电子设备及可读存储介质。
背景技术
固态硬盘在使用时会由于各种原因导致发生故障。
正常情况下,固态硬盘会在所在设备再次上电后处于正常使用状态,但当固态硬盘的固件发生bug时,将导致固态硬盘无法完成下电操作,而无法完成下电操作也就意味着下电时存储在易失性内存中的所有数据将丢失,这部分数据一旦丢失将会在设备下次上电时导致固态硬盘无法正常使用。
由于出现这种问题的固态硬盘处于无法正常使用的状态,需要及时修复以保障设备的正常运行。
现今,针对这一问题,在开发阶段为开发人员和固态硬盘的测试人员提供了一种解决方案,即当固态硬盘发生此类故障时,开发人员和测试人员可以通过专用的外接调试工具将固态硬盘的日志文件实时读取出来,从而实现基于日志内容的bug定位和后续的修复操作。
当通过测试的固态硬盘正常被用户使用后,出于实际安装位置、预留空间以及各种实际情况的限制,无法再通过相同的方式读取到日志文件的内容,也是导致bug的定位和后续的修复操作难以进行。
因此,如何克服现有技术存在的技术缺陷,提供一种无须通过专用的外接调试工具即可便捷、快速的获取到日志文件,从而定位bug的方案,是本领域技术人员亟待解决的问题。
发明内容
本申请提供了一种固态硬盘的bug定位方法、装置、电子设备及可读存储介质,旨在无须通过专用的外接调试工具也可便捷、快速的获取到日志文件,从而定位bug。
为实现上述目的,本申请提供了一种固态硬盘的bug定位方法,该方法包括:
接收固态硬盘的状态信息;
根据所述状态信息判断所述固态硬盘是否出现下电异常;
若是,则利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器;
当所述固态硬盘所在设备恢复供电后,将所述日志文件从所述非易失性存储器中恢复至内存,以直接从所述内存中获取所述日志文件,并根据所述日志文件的内容定位发生下电异常时产生的bug。
可选的,当所述日志文件具体为多个子日志文件时,每个所述子日志文件分别对应于每个子存储空间,所述固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器,包括:
利用所述紧急供电电容将每个所述子日志文件分别保存到所述非易失性存储器中与每个所述子存储空间相应的日志存储空间;
对应的,将所述日志文件从所述非易失性存储器中恢复至内存,包括:
控制CPU的不同处理核心分别将存储于不同所述日志存储空间中的子日志文件,分别恢复至所述内存。
可选的,所述子存储空间的个数与所述CPU的处理核心数相同。
可选的,当在将所述日志文件恢复至所述内存时出现了读失败现象,还包括:
将出现所述读失败现象的Page Address跳转至下一个已擦除的Block,以为下一次日志文件的恢复操作做准备。
可选的,该固态硬盘的bug定位方法还包括:
诊断工具根据定位出的bug执行相应的bug修复操作。
为实现上述目的,本申请还提供了一种固态硬盘的bug定位装置,该装置包括:
状态信息接收单元,用于接收固态硬盘的状态信息;
下电异常判断单元,用于根据所述状态信息判断所述固态硬盘是否出现下电异常;
日志保存单元,用于当所述固态硬盘出现下电异常时,利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器;
日志上电恢复单元,用于当所述固态硬盘所在设备恢复供电后,将所述日志文件从所述非易失性存储器中恢复至内存,以直接从所述内存中获取所述日志文件,并根据所述日志文件的内容定位发生下电异常时产生的bug。
可选的,所述日志保存单元包括:
多子日志分别保存子单元,用于当所述日志文件具体为多个子日志文件时,每个所述子日志文件分别对应于每个子存储空间,所述固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,利用所述紧急供电电容将每个所述子日志文件分别保存到所述非易失性存储器中与每个所述子存储空间相应的日志存储空间;
对应的,所述日志上电恢复单元包括:
多处理核心分别恢复子单元,用于控制CPU的不同处理核心分别将存储于不同所述日志存储空间中的子日志文件,分别恢复至所述内存。
可选的,该bug定位装置还包括:
读失败处理单元,用于将出现所述读失败现象的Page Address跳转至下一个已擦除的Block,以为下一次日志文件的恢复操作做准备。
可选的,该固态硬盘的bug定位装置还包括:
Bug修复单元,用于诊断工具根据定位出的bug执行相应的bug修复操作。
为实现上述目的,本申请提供了一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于在调用并执行所述计算机程序时,实现如上述内容所描述的固态硬盘的bug定位方法。
为实现上述目的,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器调用并执行时,实现如上述内容所描述的固态硬盘的bug定位方法。
本申请提供了一种固态硬盘的bug定位方法,包括:接收固态硬盘的状态信息;根据所述状态信息判断所述固态硬盘是否出现下电异常;若是,则利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器;当所述固态硬盘所在设备恢复供电后,将所述日志文件从所述非易失性存储器中恢复至内存,以直接从所述内存中获取所述日志文件,并根据所述日志文件的内容定位发生下电异常时产生的bug。
根据本申请提供技术方案可知,在确定固态硬盘发生了下电异常后,本申请首先利用紧急供电电容提供的余电将日志文件保存至非易失性存储器中,以防止断电丢失;在感知到固态硬盘所在设备再次上电后,将该日志文件从该非易失性存储器中恢复至内存,以使诊断工具可以直接从内存中获取到该日志文件,从而在无需外接调试工具的基础上,可以便捷的获取到日志文件,并进一步基于日志内容定位bug,十分便捷。
本申请同时还提供了一种固态硬盘的bug定位装置、电子设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种固态硬盘的bug定位方法的流程图;
图2为本申请实施例提供的另一种固态硬盘的bug定位方法的流程图;
图3为本申请实施例提供的一种固态硬盘的bug定位装置的结构框图。
具体实施方式
本申请提供了一种固态硬盘的bug定位方法、装置、电子设备及可读存储介质,旨在无须通过专用的外接调试工具也可便捷、快速的获取到日志文件,从而定位bug。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参见图1,图1为本申请实施例提供的一种固态硬盘的bug定位方法的流程图,其包括以下步骤:
S101:接收固态硬盘的状态信息;
本步骤旨在获取到固态硬盘的状态信息,该状态信息包含一些能够表示固态硬盘实时状态的参数。例如实时电流、实时电压、实时IOPS、实时已占用带宽等等,可以通过预设状态下这些参数大小所处的范围,确定出固态硬盘的实时状态。
S102:根据状态信息判断固态硬盘是否出现下电异常,若是,执行S103,否则执行S105;
在S101的基础上,本步骤旨在根据该状态信息判断固态硬盘是否出现了下电异常现象,一种包括但不限于的实现方式可以为:
根据实时电流和电压出现的突变现象(高电平变化到低电平的耗时),判定该固态硬盘出现了下电异常。下电异常通常指固态硬盘未能正常下电,正常下电时固态硬盘所在的设备将在提前得知设备要下电的情况下,按正常操作流程完成下电的准备,可以以这一过程的耗时作为判别依据。
S103:利用紧急供电电容将固态硬盘的日志文件保存至非易失性存储器;
本步骤建立在S102的判断结果为固态硬盘出现了下电异常现象的基础上,为了尽可能的将重要的数据保存下来,本申请利用紧急供电电容提供的余电将包含关键信息的日志文件保存在至非易失性存储器,以防止日志文件因下电异常丢失。
S104:当固态硬盘所在设备恢复供电后,将日志文件从非易失性存储器中恢复至内存,以直接从内存中获取日志文件,并根据日志文件的内容定位发生下电异常时产生的bug;
为了定位固态硬盘在发生下电异常后产生的bug,在S102将日志文件保存至非易失性存储器之后,本步骤在固态硬盘所在设备恢复供电后,将日志文件从非易失性存储器中恢复至内存。相比于临时存储关键信息的非易失性存储器,内存作为一个更便于访问到和进行数据读写的存储介质,无疑更适用于运行与该设备上的诊断程序进行bug定位的相关操作。
在将日志文件写入内存后,正式商用的固态硬盘就可以通过运行在设备上的诊断工具,直接从内存中获取该日志文件,并基于该日志文件包含的日志内容进行bug的定位。并进一步的由诊断工具基于定位出的bug执行相应的bug修复操作,以使固态硬盘恢复至正常状态。
S105:不做处理。
本步骤建立在S102的判断结果为固态硬盘未出现下电异常的基础上,说明该固态硬盘处于正常工作状态,因此无需进行如S103和S104一样的bug定位步骤。
基于上述技术方案,本申请实施例提供的一种固态硬盘的bug定位方法,在确定固态硬盘发生了下电异常后,本申请首先利用紧急供电电容提供的余电将日志文件保存至非易失性存储器中,以防止断电丢失;在感知到固态硬盘所在设备再次上电后,将该日志文件从该非易失性存储器中恢复至内存,以使诊断工具可以直接从内存中获取到该日志文件。
相比于现有技术仅针对开发和测试阶段提供的通过外接调试工具的实现方式,本申请不仅将适用场景拓宽至固态硬盘的全生命周期,且借助紧急供电电容、非易失性存储器和内存三者,实现了在无需外接调试工具的基础上,便捷的获取到日志文件,并进一步基于日志内容定位bug,十分便捷。
实施例二
在本实施例中,日志文件具体表现为多个子日志文件,且每个子日志文件分别对应于每个子存储空间,固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间。因此,在上述特征的限定下,可得到如图2所示的另一种固态硬盘的bug定位方法的流程图,包括以下步骤:
S201:接收固态硬盘的状态信息;
S202:根据状态信息判断固态硬盘是否出现下电异常,若是,执行S203,否则执行S205;
S203:利用紧急供电电容将每个子日志文件分别保存到非易失性存储器中与每个子存储空间相应的日志存储空间;
由于固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,因此每个子存储空间的子日志文件记录的都是存储在自身的子存储空间中的数据的变化情况。由于存储空间的隔离,每个子存储空间的子日志文件都是完全独立的,因此具备同时保存而不会出现因数据相同时不按顺序依次保存时出现的问题。
可以看出,对应于存在的多个子日志文件,非易失性存储器中也对应存在相应数量的日志存储空间,以使每个子存储空间的子日志文件存储在不同的日志存储空间中。由于不同子日志文件互不影响,使得多个子日志文件在保存至非易失性存储器时完全可以同时进行,以在紧急供电电容所提供电能十分有限的情况,将尽可能多的日志内容保存下来。
S204:当固态硬盘所在设备恢复供电后,控制CPU的不同处理核心分别将存储于不同日志存储空间中的子日志文件,分别恢复至内存,以直接从内存中获取日志文件,并根据日志文件的内容定位发生下电异常时产生的bug。
在S203的基础上,为了尽可能的加快子日志文件被恢复至内存的速度,本申请针对分别存储在非易失性存储器不同日志存储空间中的各子日志文件,控制CPU(中央处理器)的不同处理核心同时执行恢复至内存的操作,得以充分利用了CPU具有的多个处理核心。
进一步的,还可以在将固态硬盘的完整存储空间划分为多个子存储空间时,根据所在设备的CPU具有的处理核心数来做划分数量指导,以可以通过同时调用所有处理核心的方式最大化减少日志文件恢复至内存的耗时。
S205:不做处理。
为便于理解,此处对实施例二给出的方案进行举例说明:
假定固态硬盘所在设备的CPU具有6个处理核心,预先将固态硬盘的完整存储空间划分为6个子存储空间,使得这6个子存储空间对应生成6个子日志文件,用作临时存储日志文件的非易失性存储器中也存在6个日志存储空间。
S203步骤将具体为:
利用紧急供电电容将6个子日志文件分别存储在非易失性存储器中的6个日志存储空间中(一对一的存储方式,即一个日志存储空间仅存储对应于一个子存储空间的子日志文件);
S204步骤将具体为:
控制CPU的6个处理核心,分别从非易失性存储器中的6个日志存储空间中同时取出其中存储的子日志文件,并同时将其恢复至内存。
通过上述方式,将原先对应于完整存储空间的唯一日志文件拆分为多个,使得在相同时间内可以通过并行的方式保存和读取更多的日志内容。
为加深为本申请方案的理解,此处还结合具体应用场景和具体参数对本申请的方案进行再阐述:
1、根据控制器芯片的CPU(适用于多CPU的场景)数目(6个)、保存日志到nandflash(一种非易失性存储器)上的时间和每个CPU恢复日志文件至内存的条数综合考虑,保存8个page(固态硬盘的最小读写单位)的日志文件,每条日志128个byte,每个page是16384个byte,所以每个核的日志数为16384*8/128/6=170条;
2、申请16384*8/64的内存空间,将该空间平均分给6个CPU(64byte对齐);每个CPU把自己负责日志文件写入到分配的内存空间内;
3.初始化下次该写入的每个channel的page address(页地址),根据当前的pageaddress预erase(擦除)每个channel的下一个block(固态硬盘的最小擦除单元),如果erase失败,则标记为bad block并记录在bad bitmap;
4.当固态硬盘的固件发生下电异常时,触发本申请所提供的bug定位操作,将内存空间平均分成8份,然后8channel并行写入nand flash中,写入过程不考虑写失败的情况;
5.当固态硬盘再次上电时,控制各CPU从nand flash恢复日志文件到内存空间,恢复过程中如果发生read失败,则恢复失败,但不标记坏块,恢复失败的channel的pageaddress跳转到下一个已erase的block,为下次bug定位做准备。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图3,图3为本申请实施例提供的一种固态硬盘的bug定位装置的结构框图,该bug定位装置可以包括:
状态信息接收单元100,用于接收固态硬盘的状态信息;
下电异常判断单元200,用于根据状态信息判断固态硬盘是否出现下电异常;
日志保存单元300,用于当固态硬盘出现下电异常时,利用紧急供电电容将固态硬盘的日志文件保存至非易失性存储器;
日志上电恢复单元400,用于当固态硬盘所在设备恢复供电后,将日志文件从非易失性存储器中恢复至内存,以直接从内存中获取日志文件,并根据日志文件的内容定位发生下电异常时产生的bug。
其中,该日志保存单元300可以包括:
多子日志分别保存子单元,用于当日志文件具体为多个子日志文件时,每个子日志文件分别对应于每个子存储空间,固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,利用紧急供电电容将每个子日志文件分别保存到非易失性存储器中与每个子存储空间相应的日志存储空间;
对应的,该日志上电恢复单元400可以包括:
多处理核心分别恢复子单元,用于控制CPU的不同处理核心分别将存储于不同日志存储空间中的子日志文件,分别恢复至内存。
进一步的,该bug定位装置还可以包括:
读失败处理单元,用于将出现读失败现象的Page Address跳转至下一个已擦除的Block,以为下一次日志文件的恢复操作做准备。
更进一步的,该固态硬盘的bug定位装置还可以包括:
Bug修复单元,用于诊断工具根据定位出的bug执行相应的bug修复操作。
本实施例作为对应于上述方法实施例的装置实施例存在,具有方法实施例的全部有益效果,此处不再一一赘述。
基于上述实施例,本申请还提供了一种电子设备,该电子设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器在调用并执行存储于该存储器中的计算机程序时,可以实现如上述实施例所示的固态硬盘的bug定位方法的各步骤。当然,该电子设备还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器调用并执行时可以实现上述实施例所示的固态硬盘的bug定位方法的各步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种固态硬盘的bug定位方法,其特征在于,包括:
接收固态硬盘的状态信息;
根据所述状态信息判断所述固态硬盘是否出现下电异常;
若是,则利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器;
当所述固态硬盘所在设备恢复供电后,将所述日志文件从所述非易失性存储器中恢复至内存,以直接从所述内存中获取所述日志文件,并根据所述日志文件的内容定位发生下电异常时产生的bug。
2.根据权利要求1所述的bug定位方法,其特征在于,当所述日志文件具体为多个子日志文件时,每个所述子日志文件分别对应于每个子存储空间,所述固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器,包括:
利用所述紧急供电电容将每个所述子日志文件分别保存到所述非易失性存储器中与每个所述子存储空间相应的日志存储空间;
对应的,将所述日志文件从所述非易失性存储器中恢复至内存,包括:
控制CPU的不同处理核心分别将存储于不同所述日志存储空间中的子日志文件,分别恢复至所述内存。
3.根据权利要求2所述的bug定位方法,其特征在于,所述子存储空间的个数与所述CPU的处理核心数相同。
4.根据权利要求1所述的bug定位方法,其特征在于,当在将所述日志文件恢复至所述内存时出现了读失败现象,还包括:
将出现所述读失败现象的Page Address跳转至下一个已擦除的Block,以为下一次日志文件的恢复操作做准备。
5.根据权利要求1至4任一项所述的bug定位方法,其特征在于,还包括:
诊断工具根据定位出的bug执行相应的bug修复操作。
6.一种固态硬盘的bug定位装置,其特征在于,包括:
状态信息接收单元,用于接收固态硬盘的状态信息;
下电异常判断单元,用于根据所述状态信息判断所述固态硬盘是否出现下电异常;
日志保存单元,用于当所述固态硬盘出现下电异常时,利用紧急供电电容将所述固态硬盘的日志文件保存至非易失性存储器;
日志上电恢复单元,用于当所述固态硬盘所在设备恢复供电后,将所述日志文件从所述非易失性存储器中恢复至内存,以直接从所述内存中获取所述日志文件,并根据所述日志文件的内容定位发生下电异常时产生的bug。
7.根据权利要求6所述的bug定位装置,其特征在于,所述日志保存单元包括:
多子日志分别保存子单元,用于当所述日志文件具体为多个子日志文件时,每个所述子日志文件分别对应于每个子存储空间,所述固态硬盘的完整存储空间被预先划分为多个相互隔离的子存储空间,利用所述紧急供电电容将每个所述子日志文件分别保存到所述非易失性存储器中与每个所述子存储空间相应的日志存储空间;
对应的,所述日志上电恢复单元包括:
多处理核心分别恢复子单元,用于控制CPU的不同处理核心分别将存储于不同所述日志存储空间中的子日志文件,分别恢复至所述内存。
8.根据权利要求6所述的bug定位装置,其特征在于,还包括:
读失败处理单元,用于将出现所述读失败现象的Page Address跳转至下一个已擦除的Block,以为下一次日志文件的恢复操作做准备。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在调用并执行所述计算机程序时,实现如权利要求1至5任一项所述的固态硬盘的bug定位方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序在被处理器调用并执行时,实现如权利1至5任一项所述的固态硬盘的bug定位方法。
CN201910887785.1A 2019-09-19 2019-09-19 一种固态硬盘的bug定位方法、装置、电子设备及介质 Active CN110618892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910887785.1A CN110618892B (zh) 2019-09-19 2019-09-19 一种固态硬盘的bug定位方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910887785.1A CN110618892B (zh) 2019-09-19 2019-09-19 一种固态硬盘的bug定位方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN110618892A true CN110618892A (zh) 2019-12-27
CN110618892B CN110618892B (zh) 2023-01-10

Family

ID=68923744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910887785.1A Active CN110618892B (zh) 2019-09-19 2019-09-19 一种固态硬盘的bug定位方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN110618892B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581024A (zh) * 2020-05-06 2020-08-25 深圳忆联信息系统有限公司 Ssd日志的动态备份恢复方法、装置和计算机设备
CN113010451A (zh) * 2021-02-28 2021-06-22 新华三信息技术有限公司 内存模拟非易失性处理方法、装置、设备及可读存储介质
CN113505014A (zh) * 2021-06-09 2021-10-15 荣耀终端有限公司 一种故障诊断文件获取方法及装置
CN113590416A (zh) * 2021-06-30 2021-11-02 郑州云海信息技术有限公司 Cpu系统固件断言处理方法、装置、设备及存储介质
CN113961151A (zh) * 2021-11-02 2022-01-21 锐凌无线通讯科技(深圳)有限公司 一种故障日志的存储方法、装置、电子设备及存储介质
CN117112520A (zh) * 2023-04-10 2023-11-24 荣耀终端有限公司 一种日志处理方法和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049070A (zh) * 2012-12-27 2013-04-17 加弘科技咨询(上海)有限公司 缓存数据的掉电保护方法及计算机设备
CN106875977A (zh) * 2017-02-27 2017-06-20 郑州云海信息技术有限公司 一种固态硬盘调试方法及装置
CN108959589A (zh) * 2018-07-11 2018-12-07 中电海康集团有限公司 基于stt-mram加速固态存储器件日志文件保存恢复的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049070A (zh) * 2012-12-27 2013-04-17 加弘科技咨询(上海)有限公司 缓存数据的掉电保护方法及计算机设备
CN106875977A (zh) * 2017-02-27 2017-06-20 郑州云海信息技术有限公司 一种固态硬盘调试方法及装置
CN108959589A (zh) * 2018-07-11 2018-12-07 中电海康集团有限公司 基于stt-mram加速固态存储器件日志文件保存恢复的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581024A (zh) * 2020-05-06 2020-08-25 深圳忆联信息系统有限公司 Ssd日志的动态备份恢复方法、装置和计算机设备
CN113010451A (zh) * 2021-02-28 2021-06-22 新华三信息技术有限公司 内存模拟非易失性处理方法、装置、设备及可读存储介质
CN113505014A (zh) * 2021-06-09 2021-10-15 荣耀终端有限公司 一种故障诊断文件获取方法及装置
CN113505014B (zh) * 2021-06-09 2022-05-27 荣耀终端有限公司 一种故障诊断文件获取方法及装置
CN113590416A (zh) * 2021-06-30 2021-11-02 郑州云海信息技术有限公司 Cpu系统固件断言处理方法、装置、设备及存储介质
CN113590416B (zh) * 2021-06-30 2023-09-15 郑州云海信息技术有限公司 Cpu系统固件断言处理方法、装置、设备及存储介质
CN113961151A (zh) * 2021-11-02 2022-01-21 锐凌无线通讯科技(深圳)有限公司 一种故障日志的存储方法、装置、电子设备及存储介质
CN113961151B (zh) * 2021-11-02 2024-04-02 锐凌无线有限责任公司 一种故障日志的存储方法、装置、电子设备及存储介质
CN117112520A (zh) * 2023-04-10 2023-11-24 荣耀终端有限公司 一种日志处理方法和电子设备

Also Published As

Publication number Publication date
CN110618892B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN110618892B (zh) 一种固态硬盘的bug定位方法、装置、电子设备及介质
US7321951B2 (en) Method for testing flash memory power loss recovery
US8370720B2 (en) Mass storage device and method for offline background scrubbing of solid-state memory devices
KR100975164B1 (ko) 비휘발성 메모리 시스템에 대한 내부 보수 스케줄 요청
CN108646982B (zh) 一种基于ubifs的数据自动修复方法及装置
CN111105840B (zh) 一种固态硬盘异常掉电的测试方法、装置和系统
US7356744B2 (en) Method and system for optimizing testing of memory stores
KR20150017672A (ko) 톤 라이트 완화
US11688483B2 (en) Managing block retirement for temporary operational conditions
CN107678420B (zh) 一种发动机数据在线存储方法
US10678667B1 (en) Holdup self-tests for power loss operations on memory systems
JP2012079100A (ja) ディスク制御装置及びディスク制御方法、並びにプログラム
CN109445982A (zh) 实现数据可靠读写的数据存储装置
CN111897685A (zh) 掉电时校验数据的方法、装置、存储介质及电子设备
JP4661369B2 (ja) メモリコントローラ
CN109086162B (zh) 一种内存诊断方法和装置
CN110764960A (zh) 一种固态硬盘固件测试方法
CN113421605B (zh) 一种电能表存储器寿命测试方法及装置
CN109375869A (zh) 实现数据可靠读写的方法以及系统、存储介质
CN110826114B (zh) 基于ssd安全擦除后的用户数据测试方法和装置
CN111324554B (zh) 闪存数据的管理方法及装置、电梯控制器
CN110716833B (zh) 用于测量ssd单次进入ps4状态时所造成的nand flash写入量的方法
CN110875078B (zh) 存储装置异常断电的处理系统和方法
CN105573924A (zh) 仿真系统
CN116994636B (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
GR01 Patent grant
GR01 Patent grant