CN117251386A - 一种嵌入式系统的日志管理方法及嵌入式系统 - Google Patents
一种嵌入式系统的日志管理方法及嵌入式系统 Download PDFInfo
- Publication number
- CN117251386A CN117251386A CN202311547941.2A CN202311547941A CN117251386A CN 117251386 A CN117251386 A CN 117251386A CN 202311547941 A CN202311547941 A CN 202311547941A CN 117251386 A CN117251386 A CN 117251386A
- Authority
- CN
- China
- Prior art keywords
- bad block
- log
- storage medium
- distribution information
- storage
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明是关于一种嵌入式系统的日志管理方法及嵌入式系统,该方法包括:获取存储介质的有效存储地址列表及待记录日志,有效存储地址列表是根据存储介质当前的坏块分布情况确定的,有效存储地址列表用于表示存储介质当前的可用存储位置分布情况;根据有效存储地址列表,确定待记录日志的待写入地址;将待记录日志存储至待写入地址对应的存储介质中。本发明借助确定坏块分布情况,为待记录日志的写入地址提供准确的依据,最终能够将待记录日志存储至有效可用的存储介质中,避免了存储介质的损坏对嵌入式系统造成的日志管理失效以及不确定性,导致的待记录日志存储失败,确保了待记录日志写入的准确性及成功率,大大增加了日志管理系统的稳定性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种嵌入式系统的日志管理方法及嵌入式系统。
背景技术
基于嵌入式单片机领域中,主要以大容量存储介质进行系统日志的存储,以使得嵌入式系统出现问题时,利用日志定位系统故障原因。
由于大容量存储介质自身的产品特性,在一定次数的擦写后,会在随机位置产生坏块。如果坏块产生在日志管理系统的存储区域中,将会导致无法记录日志数据,最终造成日志管理失效等严重后果。
因此,有必要改善上述相关技术方案中存在的一个或者多个问题。
需要注意的是,本部分旨在为权利要求书中陈述的本发明的技术方案提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明的目的在于提供一种嵌入式系统的日志管理方法,进而至少在一定程度上解决由于相关技术的限制和缺陷而导致的一个或者多个问题。
第一方面,本发明提供一种嵌入式系统的日志管理方法,包括:
获取存储介质的有效存储地址列表及待记录日志,所述有效存储地址列表是根据所述存储介质当前的坏块分布信息确定的,所述坏块分布信息用于表示所述存储介质当前的坏块分布情况,所述有效存储地址列表用于表示所述存储介质当前的可用存储位置分布情况;
根据该有效存储地址列表,确定该待记录日志的待写入地址;
将该待记录日志存储至该有效地存储址列表对应的存储介质中。
可选地,本发明提供的嵌入式系统的日志管理方法,该方法还包括:
获取该存储介质当前的该坏块分布信息;
根据该坏块分布信息,生成该存储介质当前的有效存储地址列表。
可选地,本发明提供的嵌入式系统的日志管理方法,当嵌入式系统首次上电时,该获取该存储介质当前的该坏块分布信息的步骤包括:
对该存储介质进行坏块标定;
根据标定结果确定该存储介质当前的坏块分布信息。
可选地,本发明提供的嵌入式系统的日志管理方法,当嵌入式系统再次上电时,该获取该存储介质当前的该坏块分布信息的步骤包括:
读取上次下电时存储的历史坏块分布信息,以及本次上电时的存储分布信息,该存储分布信息表示该存储介质中存储位置被占用情况;
将该历史坏块分布信息与本次上电时的存储分布信息进行匹配;
当该历史坏块分布信息与该存储分布信息的不匹配时,确定是否产生第一新增坏块;
当产生了该第一新增坏块时,将该第一新增坏块更新到该历史坏块分布信息中,得到该存储介质当前的该坏块分布信息。
可选地,本发明提供的嵌入式系统的日志管理方法,所述根据所述存储介质当前的所述坏块分布信息,生成所述存储介质当前的有效存储地址列表的步骤包括:
根据更新后坏块分布信息,生成该存储介质当前的该有效存储地址列表。
可选地,本发明提供的嵌入式系统的日志管理方法,当上次进行日志写入时,对坏块分布信息进行了更新,该获取该存储介质当前的该坏块分布信息的步骤包括:
获取更新后的坏块分布信息,作为该存储介质当前的坏块分布信息,更新后的该坏块分布信息中增加了第二新增坏块,该第二新增坏块为上次日志的写入地址对应的存储位置。
可选地,本发明提供的嵌入式系统的日志管理方法,所述根据所述存储介质当前的所述坏块分布信息,生成所述存储介质当前的有效存储地址列表的步骤包括:
根据更新后的该坏块分布信息,将该第二新增坏块从上次日志写入时对应的有效存储地址中删除,作为该存储介质当前的该有效存储地址。
可选地,本发明提供的嵌入式系统的日志管理方法,该方法还包括:
确定该待写入地址对应的存储介质是否为坏块;
当该待写入地址对应的存储介质为坏块时,将该待写入地址对应的坏块添加到该存储介质当前的坏块分布信息中。
可选地,本发明提供的嵌入式系统的日志管理方法,当确定的该待写入地址为该存储介质的起始地址时,则将该待记录日志存储至该待写入地址对应的存储介质中的步骤包括:
擦除该起始地址中的内容;
将该待记录日志存储至擦除后的该起始地址对应的存储介质中。
第二方面,本发明提供一种嵌入式系统,该系统包括处理器、存储器及存储在该存储器上并可在处理器上运行的计算机程序指令,该处理器执行该计算机程序指令时用于实现如上述第一方面所述的日志管理方法。
本发明中的上述嵌入式系统的日志管理方法及嵌入式系统,在进行日志内容的记录时,首先通过读取存储介质的坏块分布情况来确定有效存储地址列表,并读取当前需要记录的待记录日志,进而根据获取的有效存储地址列表,来确定该待记录日志的待写入地址,最后将该待记录日志写入至该待写入地址,完成日志的记录管理。即本发明在对每次待记录日志进行记录时,借助表示存储介质当前的无效存储地址分布情况的坏块分布信息来确定有效存储地址列表,能够为该待记录日志的写入地址提供准确的依据,最终能够将该待记录日志存储至有效可用的存储介质中,避免了存储介质的损坏对嵌入式系统造成的日志管理失效以及不确定性导致的待记录日志存储失败,确保了待记录日志写入的准确性及成功率,大大增加了日志管理系统的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明示例性实施例中日志管理系统的结构示意图;
图2示出本发明示例性实施例中日志管理方法的流程示意图;
图3示出本发明示例性实施例中采用确定第一新增坏块步骤的日志管理方法的流程示意图;
图4示出本发明示例性实施例中日志管理方法的逻辑判断的流程示意图;
图5示出本发明实施例中日志管理装置的结构示意图;
图6示出本发明示例性实施例中嵌入式系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本发明实施例的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
可以理解,在嵌入式系统中,借助存储介质,如容量存储介质进行日志的产生及管理过程,即其中的日志管理系统进行日志信息的记录及管理。
其中,存储介质,具备电存储特性的器件,例如使用与非逻辑门进行数据存储的闪存(NAND FLASH)等。日志,即为系统用于记录日期、时间和动作等相关操作的描述。
还可以理解,以大容量存储介质进行系统日志的存储,比如NAND FLASH等,随着多次的擦写后,会在随机位置产生坏块。将导致无法记录关键数据、日志管理失效等严重后果。
该坏块,可以理解为在存储介质中,如NAND FLASH中出现某些FLASH区域不能进行擦写操作。
本发明实施例中,为了确保日志记录的有效性及稳定性,在嵌入式系统中通过运行包括坏块管理模块的日志管理系统。
如图1所示为本发明实施例提供的日志管理系统的结构示意图,如图1所示,该系统可以包括如下模块:日志生成模块、日志记录模块、日志擦除模块、日志坏块管理模块、日志寻址模块及日志解析模块。
其中,该日志生成模块用于实时检测系统中发生日志的起始、结束时间,并补充日志发生时的系统模拟量等信息。
日志记录模块用于将生成的日志写入大容量存储介质中,并检测写入结果。
日志擦除模块用于擦除大容量存储介质特定区域的日志。
日志坏块管理模块用于对大容量存储介质进行坏块的扫描标定,并通过链表的方式将正常介质的地址存储起来,并通知日志记录模块和日志寻址模块,下电时存储。
日志寻址模块用于对指定类型的、指定日期的日志进行定位和寻址,引导日志记录模块的读写位置。
日志解析模块用于对大容量存储介质上记录的日志数据进行解析,生成记录表。
可以理解,本发明实施例提供的日志管理过程中,可以利用上述的配置日志坏块管理模块,使得在日志管理过程中,能够及时确定出现的坏块,以将日志信息存储在有效的存储介质中。
为了更好的理解本发明实施例提供的嵌入式系统的日志管理方法,下面通过附图详细阐述。
图2所示为本发明实施例提供的嵌入式系统的日志管理方法的流程示意图,该方法由计算机设备执行,具体可以包括如下步骤:
S101,获取存储介质的有效存储地址列表及待记录日志,该有效存储地址列表是根据存储介质当前的坏块分布信息确定的,该坏块分布信息用于表示存储介质当前的坏块分布情况,该有效存储地址列表用于表示存储介质当前的可用存储位置分布情况。
S102,根据该有效存储地址列表,确定该待记录日志的待写入地址。
S103,将该待记录日志存储至有待写入地址对应的存储介质中。
具体地,在利用如图1所示的日志管理系统进行计算机设备的日志管理时,日志管理系统可以实时检测计算机设备的运行状态,如嵌入设备中发生了一次删除或写入操作,则表示发生了需要记录日志的行为,则在日志管理系统可以获取当前需要记录的日志信息,以及当前的有效存储地址列表。
其中,该待记录日志可以为嵌入式系统运行过程中产生的数据变化,如故障、事件及行为等。即当发生上述数据变化时,则对应产生一次待记录日志,以将上述数据变化进行记录。
该有效存储地址列表是通过存储介质当前的坏块分布信息来确定的。该坏块分布信息可以用于表示该存储介质当前的无效存储地址分布情况,该有效存储地址列表可以用于表示该存储介质当前的可用存储位置分布情况。
该坏块分布信息可以为无效存储介质的地址列表信息。
进一步,可以根据获取的有效存储地址列表,来确定写入该待记录日志的待写入地址。如可以根据存储介质中当前的存储分布情况,以及有效存储地址列表来确定该待写入地址。
最后,可以将当前的待记录的日志写入到待写入地址对应的存储介质中,以实现日志的记录管理。
例如,当嵌入式系统运行过程中,配置的日志管理系统中的日志生成模块及日志记录模块同步运行,即可以实时检测嵌入式系统,当系统发生需要记录日志的行为时,则可以利用日志生成模块生成一条日志,即待记录日志,进而使得日志记录模块通过查阅日志坏管理模块提供的有效存储介质列表,获取到当前的有效存储地址列表。
进一步,在查阅到存储介质的有效存储地址列表后,日志记录模块可以根据有效地存储址列表确定该待记录日志的待写入地址。进而可以将待记录日志写入到该待写入地址对应的存储介质中,完成日志的记录管理。
可以理解,本发明实施例提供的嵌入式系统的日志管理方法,在进行一次日志记录时,首先读取存储介质的坏块分布信息及存储介质当前的存储分布信息来确定的有效地址,并读取当前需要记录的待记录日志,进而根据获取的有效地址,来确定该待记录日志的待写入地址,最后将该记录日志写入至该待写入地址,完成日志的记录管理。本发明实施例中,在每次待记录日志进行记录时,借助表示存储介质当前的无效存储地址分布情况的坏块分布信息来确定有效存储地址列表,能够为该待记录日志的写入地址提供准确的依据,最终能够将该待记录日志存储至有效可用的存储介质中,避免了存储介质的损坏对嵌入式系统造成的日志管理失效以及不确定性导致的待记录日志存储失败,确保了待记录日志写入的准确性及成功率,大大增加了日志管理系统的稳定性。
可选地,本发明的一些实施例中,在待记录日志的存储记录时,读取由存储介质当前的坏块分布信息确定的有效存储地址列表之前,该方法还可以包括如下步骤:
S201,获取该存储介质当前的该坏块分布信息。
S202,根据该坏块分布信息,生成该存储介质当前的有效存储地址列表。
具体地,本发明的一些实施例中,当在待记录日志写入之前,首先可以获取存储介质当前的坏块分布信息以及存储分布信息。
可以理解,本发明实施例中,嵌入式系统的应用过程中,可以出现多种场景,如在首次上电时的应用、再次上电及上电后的日志记录的使用场景。
还可以理解,对于上电后的日志记录的使用场景下,在日志记录过程中,可能出现坏块,即可能存在对坏块的更新。
则对应的,各场景下所获取的坏块分布信息,可以为首次上电时的坏块分布信息、下次上电时的坏块分布信息及上次记录日志更新后的坏块分布信息。
即在S201的一些实施例中,当嵌入式系统首次上电时,步骤S201具体包括:
S301,对该存储介质进行坏块标定。
S302,根据标定结果生成该存储介质当前的坏块分布信息。
具体的,当嵌入式系统首次上电时,即该嵌入式系统首次上电使用时,则首先可以对存储介质,如大容量存储介质闪存(flash)进行扫描,以实现对存储介质中坏块的标定。
进一步,可以根据该标定结果生成该存储介质当前的坏块分布信息。
可以理解,在该实施例中,由于嵌入式系统是首次上电使用,即目前未写入任何日志内容,则对应的当前存储分布信息即为空白。
进一步,在该实施例中,当嵌入式系统首次上电时,通过上述扫描标定的方式确定了坏块分布信息后,可以利用确定的坏块分布信息生成该场景下的有效存储地址列表。
例如,坏块管理模块可以根据坏块分布信息,以及空白的存储分布信息,确定剩余的有效存储地址,即可以理解为正常的可用存储地址。进而可以通过链表的方式将正常介质的地址存储起来,并可以通知日志记录模块和日志寻址模块,以对确定的有效存储地址进行存储。
可以理解,本发明实施例中,在嵌入式系统首次上电的运行过程中,首先可以利用配置的坏块管理模块对整个存储空间进行扫描,以标定存在的坏块分布情况,进而根据标定的坏块分布情况,最终确定存储介质可用的有效存储地址列表,为后续日志管理过程提供有正确可用的存储地址,提高了日志管理效率及准确性。
可选地,本发明的另一些场景下,如当在使用过程中的再次上电场景下,则S201中,对存储介质当前的分布信息中的坏块分布信息的获取,如图3所示,具体可以包括如下步骤:
S401,读取上次下电时存储的历史坏块分布信息,以及本次上电时的存储分布信息,该存储分布信息表示该存储介质中存储位置被占用情况。
S402,将该历史坏块分布信息与本次上电时的存储分布信息进行匹配。
S403,当该历史坏块分布信息与该存储分布信息的不匹配时,确定是否产生第一新增坏块。
S404,当产生了该第一新增坏块时,将该第一新增坏块更新到该历史坏块分布信息中,得到该存储介质当前的该坏块分布信息。
具体地,该实施例中,当嵌入式系统在首次上电运行后的再次开机后,其中所配置的日志管理系统运行,即首先可以运行日志寻址模块,对该存储介质进行扫描,获取当前日志的总数和分布情况,即本次上电时的存储分布信息;同时获取由日志坏块管理模块在上次下电时存储的历史坏块分布情况,即历史坏块分布信息。
进一步,在获取到上述的历史坏块分布信息及存储分布信息后,可以利用获取的历史坏块分布信息及存储分布信息生成当前的有效存储地址列表。
即在确定了下次上电时所存储的坏块分布信息以及该次上电时存储分布信息后,可以运行日志坏块管理模块,将当前存储介质的历史坏块分布情况与日志寻址模块真实获取的日志分布情况进行核对匹配,若存在不一致处,即存在不匹配的存储空间,由日志坏块管理模块对存储介质不一致处进行检测,利用存储介质的读写特性得到本介质处的真实情况,以确定是否存在新增坏块,即确定是否存在第一新增坏块。
进一步,当确定存在第一新增坏块时,可以根据第一新增坏块的分布情况,将该第一新增坏块更新到日志坏块管理模块中,即更新历史坏块分布信息,即作为存储介质当前的坏块分布信息。
最后,在该场景下,通过上述步骤,确定了当前的坏块分布信息后,可以根据所确定的当前的坏块分布信息,生成有效存储地址列表,如正常介质的地址链表。
可以理解,本发明实施例中,由于嵌入式系统在每次下电时通过日志管理系统中的坏块管理模块对当前的坏块分布情况进行了存储,则在嵌入式系统下次上电时,首先可以读取上次下电时所存储的坏块分布信息。并可以利用日志管理系统中的寻址模块确定当前的存储分布信息,进而将获取的存储分布信息及坏块分布信息进行匹配,以确定是否在本次上电时,存在新增的坏块,进而根据新增坏块信息,将新增的坏块更新到获取的历史坏块分布信息中,最终得到当前的有效存储地址,为本次上电后的后续日志管理提供可用存储空间的准确依据,提高日志管理效率及准确性。
可选的,本发明的另一些实施例的场景下,如在嵌入式系统上电后的日志管理过程中,在每条日志的记录过程中,同样可能出现新的坏块,即在嵌入式系统的运行过程中,需要根据存储介质的情况,实时对坏块分布信息进行更新,以对有效存储地址进行实时更新,以确保每次日志内容被有效记录保存。
即在该实施例中,当上次的待记录日志写入时,对坏块分布信息进行了更新,获取所述存储介质当前的所述分布信息包括:
获取更新后的坏块分布信息,作为该存储介质当前的坏块分布信息,更新后的该坏块分布信息中增加了第二新增坏块,该第二新增坏块为上次日志的写入地址对应的存储位置。
具体地,嵌入式系统上电运行后,由于在日志管理过程中,可能出现新的坏块,以使得不断的对坏块分布信息进行更新。则在该场景下,即在S201中,对待记录日志写入之前的日志记录时,对坏块分布信息进行了更新,即由于出现的第二新增坏块,对坏块分布信息进行了更新,则在对此次待记录日志进行记录时,可以获取上次更新后的增加了第二新增坏块的坏块分布信息,来作为该存储介质当前的坏块分布信息。
进一步,根据所获取的坏块分布信息来确定当前的有效存储地址列表中剔除,以确定当前的有效存储地址列表。即根据更新后的该坏块分布信息,将该第二新增坏块从上次日志写入时对应的有效存储地址中删除,作为该存储介质当前的该有效存储地址列表。
可以理解,该实施例中,通过日志记录时,根据每次的日志记录情况,当出现新增坏块时,对坏块分布信息进行实时更新,从而实现对有效存储地址的实时更新,最终能够确保待写入地址的实时有效,避免将待记录日志写入坏块而导致的记录失败。
可选地,本发明的一些实施例中,通过上述各个实施例确定了有效存储地址,进而根据有效存储地址确定了待记录日志的待写入地址后,可以确定该待写入地址是否为该存储介质的起始地址。
即该方法还包括:
S501,擦除该起始地址中的内容;
S502,将该待记录日志存储至擦除后的该起始地址对应的存储介质中。
具体地,本发明实施例中,为了节省嵌入式系统的成本,所设置的存储介质具有一定的存储上限,则为了保存最新的日志内容,当存储空间被完全使用后,可以从起始位置开始,将最早存储的日志内容进行擦除,以将最新的待记录日志的内容写入。
例如,在嵌入式系统运行过程中,对应的运行日志生成模块、日志记录模块、日志擦除模块,实时检测系统的运行状态,则当系统发生需要记录日志的行为时,利用日志生成模块产生一条日志,然后日志记录模块通过查阅日志坏块管理模块提供的正常介质地址链表获取到待写入地址,将日志写入到正常介质中,若获取的写入地址为链表的起始地址,此时需要由日志擦除模块对待写入地址进行擦除操作,释放介质空间供新一轮的写入操作。
可选地,本发明的一些实施例中,当通过上述过程确定了待记录日志的写入地址后,在进行日志内容的写入时,该待写入地址对应的存储位置可能出现坏块,则该方法还可以包括:
S601,确定该待写入地址对应的存储介质是否为坏块。
S602,当该待写入地址对应的存储介质为坏块时,将该待写入地址对应的坏块添加到该存储介质当前的坏块分布信息中。
具体地,若在写入的过程中,日志记录模块检测到出现写入失败等情况,则通知日志坏块管理模块进行复核,判断介质是否发生了新的坏块,若是,则在链表中删除该块介质,实现坏块状态时时更新。
例如,若在写入的过程中,日志记录模块检测到出现写入失败等情况,则通知日志坏块管理模块进行复核,判断介质是否发生了新的坏块,若是,则在链表中删除该块介质,实现坏块状态实时更新。
可以理解,本发明实施例中,在每次写入日志内容时,进行写入结果的检测,以及时确定是否出现了新的坏块,进而能够实时的对有效存储分布情况进行更新,以确保后续的每次日志都被有效记载,避免了大容量存储介质损坏对嵌入式系统造成的日志管理失效,大大增加了日志管理系统的稳定性。
还可以理解,在嵌入式系统的应用过程中,当嵌入式系统需要关机时,将日志坏块管理模块生成的链表一起存储,用于下次开机后的初始化。
另外,本发明的一些实施例中,为了提升用户体验,完善日志管理系统功能,还可以提供日志解析模块,即可以使用对应的图形用户界面(GUI)进行交互时,日志解析模块按照日志坏块管理模块的正常介质链表依次将日志记录导出,并在对应的GUI生成日志信息表。
进一步,为了更好的理解本发明实施例的嵌入式系统的日志管理方法,下面结合图4所示,以某次嵌入式系统的再次启动为例,对整个流程进行详细阐述。
如图4所示,当嵌入式系统再次上电开始运行时,日志管理系统中的寻址模块运行,以读取上次下电时所存储的历史坏块分布信息,以及当前的存储分布信息,并将读取到的两种分布信息输入至坏块管理模块。
然后运行日志坏块管理模块,将当前存储介质的历史坏块分布情况与日志寻址模块真实获取的日志分布情况进行核对匹配,若存在不匹配之处,由日志坏块管理模块对本介质不匹配处进行检测,利用存储介质的读写特性得到本介质此处的真实情况,更新到日志坏块管理模块中,然后生成有效存储地址列表。
若经过检测,确定当前存储介质的历史坏块分布情况与日志寻址模块真实获取的日志分布情况匹配,则可以将所获取的历史坏块分布信息作为存储介质当前的坏块分布信息。
进一步,当检测到有关机指示,即嵌入式系统要执行下电操作,则可以直接存储上述所确定的有效存储地址列表,该方法结束。
否则,可以运行日志生成模块、日志记录模块、日志擦除模块,实时检测系统的运行状态,当系统发生需要记录日志的行为时,利用日志生成模块产生一条日志。日志记录模块通过查阅日志坏块管理模块提供的有效存储地址链表,以获取到待写入地址,最后将日志写入到正常介质中。
此时,若获取的待写入地址为链表的起始地址,则需要由日志擦除模块对待写入地址进行擦除操作,释放介质空间供新一轮的写入操作,完成待记录日志的写入记录。
否则,在写入的过程中,若日志记录模块检测到出现写入失败等情况,则通知日志坏块管理模块进行复核,判断介质是否发生了新的坏块,如第二新增坏块。若是,在链表中删除该第二新增坏块介质,以实现坏块分布信息的实时更新。最后根据更新后的有效存储地址列表,确定待写入地址,实现待记录日志的有效记录。
本发明在记录每次待记录日志时,借助表示存储介质当前的无效存储地址分布情况的有坏块分布信息来确定有效存储地址列表,能够为该待记录日志的写入地址提供准确的依据,最终能够将该待记录日志存储至有效可用的存储介质中,避免了存储介质的损坏对嵌入式系统造成的日志管理失效以及不确定性导致的待记录日志存储失败,确保了待记录日志写入的准确性及成功率,大大增加了日志管理系统的稳定性。
另一方面,本发明还提供了一种嵌入式系统的日志管理装置,如图5所示,该装置包括:
第一获取模块210,用于获取存储介质的有效存储地址列表及待记录日志,该有效存储地址列表是根据该存储介质当前的坏块分布信息确定的,该坏块分布信息用于表示该存储介质当前的坏块分布情况,该有效存储地址列表用于表示该存储介质当前的可用存储位置分布情况。
第一确定模块220,用于根据该有效存储地址列表,确定该待记录日志的待写入地址。
写入模块230,用于将该待记录日志存储至该待写入地址对应的存储介质中。
可选地,本发明提供的嵌入式系统的日志管理装置,还包括:
第二获取模块240,用于获取该存储介质当前的该坏块分布信息;
生成模块250,用于根据该坏块分布信息,生成该存储介质当前的有效存储地址列表。
可选地,本发明提供的嵌入式系统的日志管理装置,当嵌入式系统首次上电时,第二获取模块具体用于:
对该存储介质进行坏块标定;
根据标定结果确定该存储介质当前的坏块分布信息。
可选地,本发明提供的嵌入式系统的日志管理装置,当嵌入式系统再次上电时,该第二获取模块具体用于:
读取上次下电时存储的历史坏块分布信息,以及本次上电时的存储分布信息,该存储分布信息表示该存储介质中存储位置被占用情况;
将该历史坏块分布信息与本次上电时的存储分布信息进行匹配;
当该历史坏块分布信息与该存储分布信息的不匹配时,确定是否产生第一新增坏块;
当产生了该第一新增坏块时,将该第一新增坏块更新到该历史坏块分布信息中,得到该存储介质当前的该坏块分布信息。
可选地,本发明提供的嵌入式系统的日志管理装置,该生成模块具体用于:
根据更新后坏块分布信息,生成该存储介质当前的该有效存储地址列表。
可选地,本发明提供的嵌入式系统的日志管理装置,当上次日志写入时,对坏块分布信息进行了更新,该第二获取模块具体用于:
获取更新后的坏块分布信息,作为该存储介质当前的坏块分布信息,更新后的该坏块分布信息中增加了第二新增坏块,该第二新增坏块为上次日志的写入地址对应的存储位置。
可选地,本发明提供的嵌入式系统的日志管理装置,该生成模块具体用于:
根据更新后的该坏块分布信息,将该第二新增坏块从上次日志写入时对应的有效存储地址中删除,作为该存储介质当前的该有效存储地址列表。
可选地,本发明提供的嵌入式系统的日志管理装置,还包括:
第二确定模块260,用于确定该待写入地址是否为坏块;
更新模块270,用于当该待写入地址的介质为坏块时,将该待写入地址对应的坏块添加到该存储介质当前的坏块分布信息中。
可选地,本发明提供的嵌入式系统的日志管理装置,当确定的该待写入地址为起始地址,写入模块具体用于:
擦除该起始地址中的内容;
将该待记录日志存储至擦除后的该起始地址对应的存储介质中。
另一方面,本发明实施例还提供一种嵌入式系统,如图6所示。
该嵌入式系统包括存储器、接口、处理器及该计算机程序指令时用于实现如上述各实施例所述的日志管理方法。
其中,该存储器中包括有FLASH存储器、同步动态随机存取内存(SDRAM)、只读存储器(ROM)。该计算机程序指令可以存储在SDRAM中。
上述日志管理的各个实施例中的存储介质,即可以为该如图6所示的嵌入式系统中的SDRAM。
另外,该嵌入式系统还可以包括通用输入与输出(GPIO)、实时时钟(RTC)、电源(POWER)、USB接口、RS232接口、RJ45接口及键盘(Key)以及处理器ARM。
可以理解,该嵌入式系统的结构仅仅是示例性说明,对于具体的结构设置,本发明对此不做限制。
还可以理解,附图中的流程图和框图,图示了按照本发明各种实施例的电子设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的电子设备来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:第一获取模块、第一确定模块、生成模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一获取模块还可以被描述为“用于获取存储介质的有效存储地址列表及待记录日志,所述有效存储地址列表是根据所述存储介质当前的坏块分布信息确定的,所述坏块分布信息用于表示所述存储介质当前的坏块分布情况,所述有效存储地址列表用于表示所述存储介质当前的可用存储位置分布情况”。
作为另一方面,本发明还提供了一种存储介质,该存储介质可以是上述实施例中描述的嵌入式系统中所包含的可读存储介质。上述存储介质存储有一个或者多个计算机程序,当上述计算机程序被一个或者一个以上的处理器用来执行描述于本发明的嵌入式系统的日志管理方法:
获取存储介质的有效存储地址列表及待记录日志,所述有效存储地址列表是根据所述存储介质当前的坏块分布信息确定的,所述坏块分布信息用于表示所述存储介质当前的坏块分布情况,所述有效存储地址列表用于表示所述存储介质当前的可用存储位置分布情况;
根据所述有效存储地址列表,确定所述待记录日志的待写入地址;
将所述待记录日志存储至所述待写入地址对应的存储介质中。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行结合和组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的。
Claims (10)
1.一种嵌入式系统的日志管理方法,其特征在于,包括:
获取存储介质的有效存储地址列表及待记录日志,所述有效存储地址列表是根据所述存储介质当前的坏块分布信息确定的,所述坏块分布信息用于表示所述存储介质当前的坏块分布情况,所述有效存储地址列表用于表示所述存储介质当前的可用存储位置分布情况;
根据所述有效存储地址列表,确定所述待记录日志的待写入地址;
将所述待记录日志存储至所述待写入地址对应的存储介质中。
2.根据权利要求1所述的嵌入式系统的日志管理方法,其特征在于,所述方法还包括:
获取所述存储介质当前的所述坏块分布信息;
根据所述存储介质当前的所述坏块分布信息,生成所述存储介质当前的有效存储地址列表。
3.根据权利要求2所述的嵌入式系统的日志管理方法,其特征在于,当嵌入式系统首次上电时,所述获取所述存储介质当前的所述坏块分布信息的步骤包括:
对所述存储介质进行坏块标定;
根据标定结果确定所述存储介质当前的所述坏块分布信息。
4.根据权利要求2所述的嵌入式系统的日志管理方法,其特征在于,当嵌入式系统再次上电时,所述获取所述存储介质当前的所述坏块分布信息的步骤包括:
读取上次下电时存储的历史坏块分布信息,以及本次上电时的存储分布信息,所述存储分布信息表示所述存储介质中存储位置被占用情况;
将所述历史坏块分布信息与本次上电时的所述存储分布信息进行匹配;
当所述历史坏块分布信息与所述存储分布信息不匹配时,确定是否产生第一新增坏块;
当产生所述第一新增坏块时,将所述第一新增坏块更新到所述历史坏块分布信息中,得到所述存储介质当前的所述坏块分布信息。
5.根据权利要求4所述的嵌入式系统的日志管理方法,其特征在于,所述根据所述存储介质当前的所述坏块分布信息,生成所述存储介质当前的有效存储地址列表的步骤包括:
根据更新后坏块分布信息,生成所述存储介质当前的所述有效存储地址列表。
6.根据权利要求2所述的嵌入式系统的日志管理方法,其特征在于,当上次日志写入时,对坏块分布信息进行了更新,所述获取所述存储介质当前的所述坏块分布信息的步骤包括:
获取更新后的坏块分布信息,作为所述存储介质当前的坏块分布信息,更新后的所述坏块分布信息中增加了第二新增坏块,所述第二新增坏块为上次日志的写入地址对应的存储位置。
7.根据权利要求6所述的嵌入式系统的日志管理方法,其特征在于,所述根据所述存储介质当前的所述坏块分布信息,生成所述存储介质当前的有效存储地址列表的步骤包括:
根据更新后的所述坏块分布信息,将所述第二新增坏块从上次日志写入时对应的有效存储地址列表中删除,作为所述存储介质当前的所述有效存储地址列表。
8.根据权利要求1-7任一项所述的嵌入式系统的日志管理方法,其特征在于,所述方法还包括:
确定所述待写入地址对应的存储介质是否为坏块;
当所述待写入地址对应的存储介质为坏块时,将所述待写入地址对应的坏块添加到所述存储介质当前的坏块分布信息中。
9.根据权利要求1-7任一项所述的嵌入式系统的日志管理方法,其特征在于,当确定的所述待写入地址为所述存储介质的起始地址时,将所述待记录日志存储至所述待写入地址对应的存储介质中的步骤包括:
擦除所述起始地址中的内容;
将所述待记录日志存储至擦除后的所述起始地址对应的存储介质中。
10.一种嵌入式系统,其特征在于,所述系统包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现如权利要求1-9任一项所述的嵌入式系统的日志管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311547941.2A CN117251386A (zh) | 2023-11-20 | 2023-11-20 | 一种嵌入式系统的日志管理方法及嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311547941.2A CN117251386A (zh) | 2023-11-20 | 2023-11-20 | 一种嵌入式系统的日志管理方法及嵌入式系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117251386A true CN117251386A (zh) | 2023-12-19 |
Family
ID=89135473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311547941.2A Pending CN117251386A (zh) | 2023-11-20 | 2023-11-20 | 一种嵌入式系统的日志管理方法及嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251386A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009124320A1 (en) * | 2008-04-05 | 2009-10-08 | Fusion Multisystems, Inc. | Apparatus, system, and method for bad block remapping |
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN103198019A (zh) * | 2011-10-24 | 2013-07-10 | 三星电子株式会社 | 文件系统及其控制方法 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN106844079A (zh) * | 2016-12-28 | 2017-06-13 | 中国北方车辆研究所 | 一种装甲车辆的flash坏块管理系统及管理方法 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
CN109791520A (zh) * | 2016-09-30 | 2019-05-21 | 亚马逊技术股份有限公司 | 物理介质感知的空间耦合的日志记录和重放 |
CN109976664A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 固态存储设备的日志数据组织 |
CN114063905A (zh) * | 2021-10-13 | 2022-02-18 | 武汉光迅电子技术有限公司 | 日志存储方法、日志存储装置、存储设备和存储介质 |
CN115292266A (zh) * | 2022-05-30 | 2022-11-04 | 中国电子科技集团公司第五十二研究所 | 一种基于存储器的高可靠日志存储方法 |
-
2023
- 2023-11-20 CN CN202311547941.2A patent/CN117251386A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009124320A1 (en) * | 2008-04-05 | 2009-10-08 | Fusion Multisystems, Inc. | Apparatus, system, and method for bad block remapping |
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN103198019A (zh) * | 2011-10-24 | 2013-07-10 | 三星电子株式会社 | 文件系统及其控制方法 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN109791520A (zh) * | 2016-09-30 | 2019-05-21 | 亚马逊技术股份有限公司 | 物理介质感知的空间耦合的日志记录和重放 |
CN106844079A (zh) * | 2016-12-28 | 2017-06-13 | 中国北方车辆研究所 | 一种装甲车辆的flash坏块管理系统及管理方法 |
CN109976664A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 固态存储设备的日志数据组织 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
CN114063905A (zh) * | 2021-10-13 | 2022-02-18 | 武汉光迅电子技术有限公司 | 日志存储方法、日志存储装置、存储设备和存储介质 |
CN115292266A (zh) * | 2022-05-30 | 2022-11-04 | 中国电子科技集团公司第五十二研究所 | 一种基于存储器的高可靠日志存储方法 |
Non-Patent Citations (1)
Title |
---|
高加琼;魏霖静;: "嵌入式中flash存储设备日志冗余管理", 控制工程, no. 06 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312204B2 (en) | System and method for wear leveling in a data storage device | |
JP5336060B2 (ja) | 不揮発性メモリ装置およびそれを動作させる方法 | |
JP4560408B2 (ja) | 不揮発性記憶装置の制御方法 | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
US7721040B2 (en) | Method and system for facilitating fast wake-up of a flash memory system | |
TWI444825B (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
US8205070B2 (en) | Device bootup from a NAND-type non-volatile memory | |
KR101900760B1 (ko) | 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링 | |
CN101901189B (zh) | 更新用户数据的方法以及恢复用户数据的方法 | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
US8156278B2 (en) | Non-volatile data storage system and method thereof | |
CN111696598B (zh) | 存储装置及其低级格式化方法 | |
TWI493341B (zh) | 記憶體儲存裝置及其修復方法 | |
CN117251386A (zh) | 一种嵌入式系统的日志管理方法及嵌入式系统 | |
EP2267725A1 (en) | Memory device for managing the recovery of a non volatile memory | |
CN113434086B (zh) | 数据存储方法、装置、非易失性存储器件和存储器 | |
JP2003036209A (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
CN111142792B (zh) | 一种存储装置的掉电保护方法 | |
JP2013250603A (ja) | メモリ管理装置および方法、並びにプログラム | |
CN112286725A (zh) | 数据处理方法、装置及电子设备 | |
CN114297000B (zh) | 一种数据备份方法、装置、设备及存储介质 | |
JP3314719B2 (ja) | フラッシュeepromとその試験方法 | |
CN115495287B (zh) | 一种mlc nand的备份数据方法、装置及电子设备 | |
JP3822171B2 (ja) | 不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法 |
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 |