CN112115097A - 运行日志信息的访问方法及存储设备 - Google Patents
运行日志信息的访问方法及存储设备 Download PDFInfo
- Publication number
- CN112115097A CN112115097A CN202011038258.2A CN202011038258A CN112115097A CN 112115097 A CN112115097 A CN 112115097A CN 202011038258 A CN202011038258 A CN 202011038258A CN 112115097 A CN112115097 A CN 112115097A
- Authority
- CN
- China
- Prior art keywords
- memory
- log information
- storage device
- storage
- flash memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种运行日志信息的访问方法及存储设备。所述方法包括:设置内存的缓冲区域且缓存存储设备的运行日志信息于内存的缓冲区域;将缓冲区域内的运行日志信息写入闪存的特定存储区域,并于写入完毕后修改内存的存储区块所纪录的偏移值,且释放内存的缓冲区域,以重新缓存运行日志信息;每隔一段预定时间将存储区块更新至闪存;存储设备进入初始化阶段,启用看门狗电路,当看门狗电路计数一预设计数时间过后且存储设备未完成初始化阶段时通过读取闪存的特定存储区域而获取最新的运行日志信息;当存储设备完成初始化阶段后,关闭看门狗电路。
Description
技术领域
本申请涉及日志记录技术领域,尤其涉及一种运行日志信息的访问方法及存储设备。
背景技术
随着存储设备(例如:固态硬盘(Solid-state drive,SSD))的应用领域日益广泛,对存储设备的稳定性要求也越来越高。
先前技术会在存储设备运行过程中,记录用户对存储设备的操作信息、告警信息等,形成运行日志文件保存在存储设备中。然而,这种方式存在局限性,如果存储设备的闪存转换层损坏使得存储设备在预定时间内未完成初始化阶段时,会造成存储设备不认盘,文件系统丢失,那么将无法读取存储设备内的运行日志文件。若此时将存储设备进行低级格式化,则原本储存于存储设备内的运行日志信息也将会被格式化,而无法利用所述运行日志信息对存储设备进行问题分析。先前技术中,若存储设备发生不可预知的现象,仅能通过拆解存储设备的壳体的方式进行问题分析,但也无法确认可读取到存储设备内的运行日志文件。此外,由于存储设备通常已封装完成,如果需要拆壳进行问题分析,其拆壳进行问题分析的操作必然是比较复杂。
发明内容
本申请实施例提供一种运行日志信息的访问方法及存储设备,解决先前技术所存在存储设备出现闪存转换层发生损坏时无法读取运行日志信息的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种运行日志信息的访问方法,应用于存储设备,存储设备包括内存、闪存和控制器,运行日志信息的存取方法包括下列步骤:(a)设置内存的缓冲区域且缓存存储设备的运行日志信息于内存的缓冲区域;(b)将缓冲区域内的运行日志信息写入闪存的特定存储区域,并于写入完毕后修改内存的存储区块所纪录的偏移值,且释放内存的缓冲区域,以重新缓存存储设备的运行日志信息,其中,偏移值对应于缓冲区域内的运行日志信息写入特定存储区域的位置;(c)每隔一段预定时间将存储区块的运行日志信息更新至闪存;(d)当存储设备进入初始化阶段时,启动控制器的看门狗电路;(e)当看门狗电路计数一预设计数时间过后且存储设备未完成初始化阶段时,存储设备设置成强制低级格式化模式,通过读取闪存的特定存储区域,进而获取最新的运行日志信息;(f)当存储设备完成初始化阶段后,关闭看门狗电路。
第二方面,提供一种存储设备,包括内存、闪存和控制器,内存和闪存分别与控制器连接,控制器包括:非易失性存储器和处理器。其中,非易失性存储器用于存储实现运行日志信息的访问方法的程序代码。处理器耦接非易失性存储器,用于加载运行日志信息的访问方法的程序代码,以执行下列步骤:(a)设置内存的缓冲区域且缓存存储设备的运行日志信息于内存的缓冲区域;(b)将缓冲区域内的运行日志信息写入闪存的特定存储区域,并于写入完毕后修改内存的存储区块所纪录的偏移值,且释放内存的缓冲区域,以重新缓存存储设备的运行日志信息,其中,偏移值对应于缓冲区域内的运行日志信息写入特定存储区域的位置;(c)每隔一段预定时间将存储区块的运行日志信息更新至闪存;(d)当存储设备进入初始化阶段时,启动控制器的看门狗电路;(e)当看门狗电路计数一预设计数时间过后且存储设备未完成初始化阶段时,存储设备设置成强制低级格式化模式,通过读取闪存的特定存储区域,进而获取最新的运行日志信息;(f)当存储设备完成初始化阶段后,关闭看门狗电路。
在本申请实施例中,通过在存储设备运行过程中,将其运行日志信息记录在闪存的固定位置(即特定存储区域),使得运行日志信息的纪录不受文件系统的影响;同时,使用看门狗电路运行在存储设备初始化阶段,配合存储设备的自我检测判断机制,如果发现存储设备在预定时间内未完成初始化阶段时,将存储设备设置成强制低级格式化模式,直接读取闪存的特定存储区域,进而获取最新的运行日志信息,以此保证在不拆解存储设备的外壳的情况下,可以获取运行日志信息。因此,当存储设备发生不可预知的现象时,可以获取运行日志信息,并通过获取的运行日志信息分析原因。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为依据本发明实施例的存储设备的框图。
图2为依据本发明实施例的控制器的硬件框图。
图3为依据本发明的运行日志信息的访问方法的一实施例方法流程图。
图4为依据本发明的运行日志信息的访问方法的另一实施例方法流程图。
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。另外,除非说明书中特别指明,否则任何单数格的用语都同时包含复数格的涵义。
请参阅图1,其为依据本发明实施例的存储设备的框图;如图所示,本实施例的存储设备100可包括内存110、闪存120和控制器130,内存110和闪存120分别与控制器130电性连接,以进行信息与数据的传递。其中,存储设备100可包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置、固态硬盘(SSD)等。
本实施例的闪存120包括用来存储读写数据的多个数据区块,每一数据区块包括多个实体页面(Page),每一实体页面都具有个别的实体地址;其中,闪存120为非易失性存储器,使用时读写速度相对较慢,断电后其内存储的数据等能够持续保存较长时间。本实施例的闪存120预留有一个特定存储区域122,用于存储来自内存110所缓存的存储设备100的运行日志信息。在一实施例中,特定存储区域122包括多个依序排列的数据区块。
本实施例的内存110预留有一个缓冲区域112(也就是设置内存110的缓冲区域112),用于缓存存储设备100的运行日志信息,且包括存储区块114,用于存储区域映射表和页面映射表,所述区域映射表用于映射闪存120中用来存储读写数据的每一数据区块的逻辑地址与实体地址,而每一个数据区块都会对应有各自的页面映射表,用于存储每一页面的逻辑地址与实体地址的关联;其中,内存110为易失性存储器,使用时读写速度较快,断电后其内存储的数据等即刻消失;内存110用于暂存控制器130执行存取运作所需的数据;当控制器130启用内存110上的内存磁盘(RAM disk)116后,则在内存110中划分出一个内存空间供内存磁盘116使用。
请参阅图2,其为依据本发明实施例的控制器的硬件框图。控制器130可包括主机接口132、处理器134、闪存接口136、非易失性存储器(Non-volatile memory)138和看门狗电路(watchdog circuit)140。非易失性存储器138用于存储实现运行日志信息的访问方法的程序代码,例如:可以使用只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)等来实现。处理器134可使用通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器)来实现,并且在加载与执行实现运行日志信息的访问方法的程序代码时,完成以下描述的运行日志信息的访问方法。主机接口132可通过序列先进技术附件(Serial advanced technology attachment,SATA)、快速周边组件互联(Peripheral component interconnect express,PCI-E)、通用序列总线(Universal serial bus,USB)的接口及关联的通信协议从外部主机(Host)接收读取、写入、抹除等命令,以及相关参数与数据,然后据以执行。闪存接口136耦接闪存120,处理器134耦接主机接口132、闪存接口136、非易失性存储器138和看门狗电路140。处理器134可以通过主机接口132与主机通信,并且通过闪存接口136与闪存120通信。闪存接口136包含多个寄存器,让处理器134可通过改变寄存器的内容来调整闪存接口136的物理设置(Physical configurations)。看门狗电路140用于在存储设备100进入初始化阶段时被处理器134启动;当控制器130进行自我检测机制,若看门狗电路140计数一预设计数时间过后且存储设备100未完成初始化阶段时(即判断闪存转换层损坏),处理器134触发看门狗电路140,使得存储设备100被设置成强制低级格式化模式(Force LLF mode),且于内存110上启用内存磁盘116,以保证存储设备100与前端主机的连接;当控制器130判断存储设备100完成初始化阶段后,处理器134关闭看门狗电路140。
为了克服如上所述先前技术所存在闪存转换层损坏时无法读取运行日志信息的问题,本发明实施例提出一种运行日志信息的存取方法,处理器134通过在存储设备100运行过程中,先缓存其运行日志信息于内存110中所设置的的缓冲区域112,将缓存的运行日志信息记录在闪存120的固定位置(即特定存储区域122),并且修改内存110的存储区块114所纪录的偏移值(即区域映射表),且释放内存110的缓冲区域112,以使内存110的缓冲区域112重新执行缓存运行日志信息的操作,使得运行日志信息的纪录不受文件系统的影响;每隔一段预定时间将存储区块114更新至闪存120;此外,在存储设备100进入初始化阶段时,启动控制器的看门狗电路,且配合存储设备100的自我检测判断机制,如果发现看门狗电路140计数一预设计数时间过后且存储设备100未完成初始化阶段时,会通过触发看门狗电路140,将存储设备100设置成强制低级格式化模式,通过读取闪存120的特定存储区域122,进而获取最新的运行日志信息;当存储设备100完成初始化阶段后,关闭看门狗电路140,以此保证在不拆解存储设备100的外壳的情况下,可以获取运行日志信息。因此,当存储设备100发生不可预知的现象时,可以获取运行日志信息,并通过获取的运行日志信息分析原因。详细说明如后:
在一实施例中,控制器130的处理器134加载运行日志信息的访问方法的程序代码时以实现运行日志信息的访问方法,可以参考如图3,图3为依据本发明的运行日志信息的访问方法的一实施例方法流程图,详细说明如下。
步骤S212:设置所述内存110的一缓冲区域112且缓存所述存储设备100的运行日志信息于所述内存110的缓冲区域112。
步骤S214:将所述缓冲区域112内的所述运行日志信息写入所述闪存120的特定存储区域122,并于写入完毕后修改所述内存110的存储区块114所纪录的偏移值,且释放所述内存110的所述缓冲区域112,以重新缓存所述存储设备100的所述运行日志信息。其中,所述偏移值对应于所述缓冲区域112内的所述运行日志信息写入所述特定存储区域122的位置。也就是说,处理器134将缓冲区域112所缓存的运行日志信息写入(编程)闪存120的特定存储区域122,具体而言,是依据内存110的存储区块114所存储的区域映射表和页面映射表以动态偏移值方式将缓冲区域112所缓存的运行日志信息写入到闪存120的特定存储区域122,随后便更新相对应的区域映射表和页面映射表的逻辑地址与实体地址的连结关系(即于写入完毕后修改所述内存110的存储区块114所纪录的偏移值),以提供之后读写时的对应使用。此外,于写入完毕后释放所述内存110的所述缓冲区域112,以重新缓存所述存储设备100的所述运行日志信息。其中,所述特定存储区域122循环使用,如果写到了最后,再重新从头开始使用。
在一种可选的实施方式中,每当所述缓冲区域112已满时,所述处理器134才将所述缓冲区域112内的所述运行日志信息写入所述闪存120的所述特定存储区域122,并于写入完毕后修改所述内存110的所述存储区块114所纪录的所述偏移值,且释放所述内存110的所述缓冲区域112,以重新缓存所述存储设备100的所述运行日志信息。
在一种可选的实施方式中,所述闪存120的所述特定存储区域122包括多个数据区块,每一数据区块的大小和缓冲区域112的大小相同(例如:4KB),使得每当所述缓冲区域112已满时,由所述闪存120的所述特定存储区域122的第一个数据区块开始写入缓冲区块112内的运行日志信息;当闪存120的所述特定存储区域122的最后一个数据区块接续写入缓冲区块112内的所述运行日志信息后,则再使所述闪存120的所述特定存储区域122的第一个数据区块接续写入所述缓冲区块112内的所述运行日志信息。换句话说,特定存储区域122所包括的多个数据区块是循环使用的。
步骤S216:每隔一段预定时间将所述存储区块114更新至所述闪存120。由于所述存储区块114内的数据于断电后即刻消失,为避免重新上电之后,出现运行日志信息错乱的问题,因此,处理器134每隔一段预定时间会将所述存储区块114更新至所述闪存120。
步骤S218:当所述存储设备100进入初始化阶段时,启动所述控制器130的看门狗电路140。
步骤S220:当所述看门狗电路140计数一预设计数时间过后且所述存储设备100未完成所述初始化阶段时,所述存储设备100设置成强制低级格式化模式,通过读取所述闪存120的所述特定存储区域122,进而获取最新的所述运行日志信息。
在一种可选的实施方式中,当所述看门狗电路140计数所述预设计数时间过后且所述存储设备100未完成所述初始化阶段时,判断所述存储设备100的闪存转换层损坏。
步骤S222:当所述存储设备100完成所述初始化阶段后,关闭所述看门狗电路140。
在一种可选的实施方式中,当所述存储设备100完成所述初始化阶段后,关闭所述看门狗电路140,还可将更新于所述闪存120中最新的所述存储区块114复制于所述内存110,且根据所述内存110中复制的所述存储区块114其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存120的所述特定存储区域122的位置。
上述实施例中,由于仅通过缓冲区域112缓存运行日志信息,因此,存在当处理器134将缓冲区域112所缓存的运行日志信息写入闪存120的特定存储区域122时,缓冲区域112即无法缓存处理器134将运行日志信息写入闪存120的过程中所生成的运行日志信息,造成部份运行日志信息无法被存储记录的问题。为了解决上述实施例所存在部份运行日志信息无法被存储记录的问题,在一实施例中,可将缓冲区域112设计成包括第一缓冲子区域和第二缓冲子区域,并通过乒乓存取机制将第一缓冲子区域和第二缓冲子区域所接续缓存的运行日志信息写入所述闪存120的所述特定存储区域122,详细说明请参阅图4,图4为依据本发明的运行日志信息的访问方法的另一实施例方法流程图。
步骤S412:接续缓存所述运行日志信息于所述第一缓冲子区域和所述第二缓冲子区域。
步骤S414:利用乒乓存取机制将所述第一缓冲子区域和所述第二缓冲子区域所填满的所述运行日志信息接续写入所述闪存120的所述特定存储区域122,并于所述第一缓冲子区域或所述第二缓冲子区域所填满的所述运行日志信息接续写入所述闪存120的所述特定存储区域122后,修改所述内存110的所述存储区块114所纪录的所述偏移值,且释放所述内存110的所述第一缓冲子区域或所述第二缓冲子区域,以重新执行步骤S412。
举例而言,运行日志信息可先缓存于第一缓冲子区域,待第一缓冲子区域已满时,待第一缓冲子区域已满时,则将运行日志信息缓存于第二缓冲子区域,同时,将第一缓冲子区域所填满的所述运行日志信息写入所述闪存120的所述特定存储区域122,并于写入完毕后释放所述内存110的所述第一缓冲子区域,且修改所述内存110的所述存储区块114所纪录的所述偏移值;等到第二缓冲子区域已满时,则将运行日志信息缓存于第一缓冲子区域(第一缓冲子区域会在第二缓冲子区域填满运行日志信息之前被释放),同时将第二缓冲子区域所填满的所述运行日志信息写入所述闪存120的所述特定存储区域122,并于写入完毕后释放所述内存110的所述第二缓冲子区域,且修改所述内存110的所述存储区块114所纪录的所述偏移值。
步骤S416:每隔一段预定时间将所述存储区块114更新至所述闪存120。
步骤S418:当所述存储设备100进入初始化阶段时,启动所述控制器130的看门狗电路140。
步骤S420:当所述看门狗电路140计数一预设计数时间过后且所述存储设备100未完成所述初始化阶段时,所述存储设备100设置成强制低级格式化模式,通过读取所述闪存120的所述特定存储区域122,进而获取最新的所述运行日志信息。
步骤S422:当所述存储设备100完成所述初始化阶段后,关闭所述看门狗电路140。
上述步骤S416至步骤S422和步骤S216至步骤S222相同,因此,于此不再赘述。
在一实施例中,处理器134执行上述步骤S212或步骤S412之前,所述处理器134还用于当所述存储设备100进行低级格式化(Low-Level Formatting,LLF)操作时,将所述内存110的所述存储区块114所记录的所述偏移值设置为默认值,并将所述内存110的所述存储区块114复制至所述闪存120。因此,不会影响在此之前记录的所述运行日志信息,同时可以保证所述运行日志信息的连续性。其中,默认值可为0,但本发明并不以此为限。
在一实施例中,所述处理器134还用于当所述存储设备100断电后重新上电启动时,找到断电前更新于所述闪存120中最新的所述存储区块114,并复制于所述内存110,进而根据所述内存110中复制的所述存储区块114其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存120的所述特定存储区域122的位置。
综上所述,本申请提供一种运行日志信息的访问方法及存储设备,通过在存储设备运行过程中,将其运行日志信息记录在闪存的固定位置(即特定存储区域),使得运行日志信息的纪录不受文件系统的影响;同时,使用看门狗电路运行在存储设备初始化阶段,配合存储设备的自我检测判断机制,如果发现存储设备在预定时间内未完成初始化阶段,将存储设备设置成强制低级格式化模式,直接读取闪存的特定存储区域,进而获取最新的运行日志信息,以此保证存储设备在不认盘(如:闪存转换层损坏)的情况下,可以直接获取运行日志信息。因此,当存储设备发生不可预知的现象时,可以获取运行日志信息,并通过获取的运行日志信息分析原因。
本发明所述的方法中的全部或部分步骤可以计算器程序实现,例如计算机的操作系统、计算机中特定硬件的驱动程序、或软件程序。此外,也可实现在如上所示的其他类型程序。所属技术领域具有通常知识者可将本发明实施例的方法撰写成计算器程序,为求简明不再加以描述。依据本发明实施例方法实施的计算器程序可存储在适当的计算机可读取介质,例如DVD、CD-ROM、USB、硬盘,亦可置于可通过网络(例如,互联网,或其他适当载体)存取的网络服务器。
虽然在本申请的图式中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,已达成更佳的技术效果。此外,虽然本申请的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (13)
1.一种运行日志信息的访问方法,应用于存储设备,所述存储设备包括内存、闪存和控制器,其特征在于,所述运行日志信息的访问方法包括下列步骤:
(a)设置所述内存的一缓冲区域且缓存所述存储设备的运行日志信息于所述内存的所述缓冲区域;
(b)将所述缓冲区域内的所述运行日志信息写入所述闪存的特定存储区域,并于写入完毕后修改所述内存的存储区块所纪录的偏移值,且释放所述内存的所述缓冲区域,以重新缓存所述存储设备的所述运行日志信息,其中,所述偏移值对应于所述缓冲区域内的所述运行日志信息写入所述特定存储区域的位置;
(c)每隔一段预定时间将所述存储区块更新至所述闪存;
(d)当所述存储设备进入初始化阶段时,启动所述控制器的看门狗电路;
(e)当所述看门狗电路计数一预设计数时间过后且所述存储设备未完成所述初始化阶段时,所述存储设备设置成强制低级格式化模式,通过读取所述闪存的所述特定存储区域,进而获取最新的所述运行日志信息;
(f)当所述存储设备完成所述初始化阶段后,关闭所述看门狗电路。
2.如权利要求1所述的运行日志信息的访问方法,其特征在于,当所述看门狗电路计数所述预设计数时间过后且所述存储设备未完成所述初始化阶段时,判断所述存储设备的闪存转换层损坏。
3.如权利要求1所述的运行日志信息的访问方法,其特征在于,在步骤(a)之前,所述的运行日志信息的访问方法还包括下列步骤:
当所述存储设备进行低级格式化操作时,将所述内存的所述存储区块所记录的所述偏移值设置为默认值,并将所述内存的所述存储区块复制于所述闪存。
4.如权利要求1所述的运行日志信息的访问方法,其特征在于,所述步骤(f)还包括:将更新于所述闪存中最新的所述存储区块复制于所述内存,且根据所述内存中复制的所述存储区块其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存的所述特定存储区域的位置。
5.如权利要求1所述的运行日志信息的访问方法,其特征在于,还包括下列步骤:当所述存储设备断电后重新上电启动时,找到断电前更新于所述闪存中最新的所述存储区块,并复制于所述内存,进而根据所述内存中复制的所述存储区块其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存的所述特定存储区域的位置。
6.如权利要求1所述的运行日志信息的访问方法,其特征在于,所述缓冲区域包括第一缓冲子区域和第二缓冲子区域。
7.如权利要求1所述的运行日志信息的访问方法,其特征在于,步骤(b)还包括:每当所述缓冲区域已满时,将所述缓冲区域内的所述运行日志信息写入所述闪存的特定存储区域,并于写入完毕后修改所述内存的存储区块所纪录的偏移值,且释放所述内存的所述缓冲区域。
8.一种存储设备,包括控制器、内存和闪存,所述内存和所述闪存分别与所述控制器连接,其特征在于,所述控制器包括:
非易失性存储器,用于存储实现运行日志信息的访问方法的程序代码;
处理器,耦接所述非易失性存储器,用于加载所述运行日志信息的访问方法的程序代码,以执行下列步骤:
(a)设置所述内存的一缓冲区域且缓存所述存储设备的运行日志信息于所述内存的所述缓冲区域;
(b)将所述缓冲区域内的所述运行日志信息写入所述闪存的特定存储区域,并于写入完毕后修改所述内存的存储区块所纪录的偏移值,且释放所述内存的所述缓冲区域,以重新缓存所述存储设备的所述运行日志信息,其中,所述偏移值对应于所述缓冲区域内的所述运行日志信息写入所述特定存储区域的位置;
(c)每隔一段预定时间将所述存储区块的运行日志信息更新至所述闪存;
(d)当所述存储设备进入初始化阶段时,启动所述控制器的看门狗电路;
(e)当所述看门狗电路计数一预设计数时间过后且所述存储设备未完成所述初始化阶段时,所述存储设备设置成强制低级格式化模式,通过读取所述闪存的所述特定存储区域,进而获取最新的所述运行日志信息;
(f)当所述存储设备完成所述初始化阶段后,关闭所述看门狗电路。
9.如权利要求8所述的存储设备,其特征在于,在所述处理器执行步骤(a)之前,当所述存储设备进行低级格式化操作时,所述处理器还用于将所述内存的所述存储区块所记录的所述偏移值设置为默认值,并将所述内存的所述存储区块复制于所述闪存。
10.如权利要求8所述的存储设备,其特征在于,在所述步骤(f)中,所述处理器还用于将更新于所述闪存中最新的所述存储区块复制于所述内存,且根据所述内存中复制的所述存储区块其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存的所述特定存储区域的位置。
11.如权利要求8所述的存储设备,其特征在于,当所述存储设备断电后重新上电启动时,所述处理器还用于找到断电前更新于所述闪存中最新的所述存储区块,并复制于所述内存,进而根据所述内存中复制的所述存储区块其所纪录的所述偏移值获取所述运行日志信息下次写入所述闪存的所述特定存储区域的位置。
12.如权利要求8所述的存储设备,其特征在于,所述缓冲区域包括第一缓冲子区域和第二缓冲子区域。
13.如权利要求8所述的存储设备,其特征在于,每当所述缓冲区域已满时,所述处理器还用于将所述缓冲区域内的所述运行日志信息写入所述闪存的所述特定存储区域,并于写入完毕后修改所述内存的所述存储区块所纪录的所述偏移值,且释放所述内存的所述缓冲区域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038258.2A CN112115097B (zh) | 2020-09-28 | 2020-09-28 | 运行日志信息的访问方法及存储设备 |
US17/386,351 US11494112B2 (en) | 2020-09-28 | 2021-07-27 | Storage device and accessing method for operation log thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038258.2A CN112115097B (zh) | 2020-09-28 | 2020-09-28 | 运行日志信息的访问方法及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115097A true CN112115097A (zh) | 2020-12-22 |
CN112115097B CN112115097B (zh) | 2023-08-29 |
Family
ID=73797128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011038258.2A Active CN112115097B (zh) | 2020-09-28 | 2020-09-28 | 运行日志信息的访问方法及存储设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11494112B2 (zh) |
CN (1) | CN112115097B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101229A (en) * | 1996-04-04 | 2000-08-08 | Texas Instruments Incorporated | Data synchronization method and circuit using a timeout counter |
TW201123178A (en) * | 2009-12-24 | 2011-07-01 | Hynix Semiconductor Inc | Method for controlling semiconductor storage system configured to manage dual memory area |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
US20130262426A1 (en) * | 2010-02-12 | 2013-10-03 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing database and database application system |
CN108089971A (zh) * | 2017-11-27 | 2018-05-29 | 上海华元创信软件有限公司 | 基于嵌入式实时系统的日志服务方法和系统 |
CN109214204A (zh) * | 2018-07-13 | 2019-01-15 | 深圳大普微电子科技有限公司 | 数据处理方法和存储设备 |
CN110716845A (zh) * | 2019-09-29 | 2020-01-21 | 上海龙旗科技股份有限公司 | 一种Android系统的日志信息读取的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206538A1 (en) * | 2005-03-09 | 2006-09-14 | Veazey Judson E | System for performing log writes in a database management system |
US8468244B2 (en) | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
US10275347B2 (en) * | 2010-03-08 | 2019-04-30 | Excalibur Ip, Llc | System, method and computer program product for managing caches |
US9405668B1 (en) * | 2011-02-15 | 2016-08-02 | Western Digital Technologies, Inc. | Data storage device initialization information accessed by searching for pointer information |
US10803970B2 (en) | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
US8972640B2 (en) | 2012-06-27 | 2015-03-03 | Intel Corporation | Controlling a physical link of a first protocol using an extended capability structure of a second protocol |
US20140163716A1 (en) * | 2012-12-10 | 2014-06-12 | Skymedi Corporation | Bridge device, automated production system and method thereof for storage device |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9244774B2 (en) * | 2013-11-15 | 2016-01-26 | Dell Products L.P. | Storage device failure recovery system |
WO2015084354A1 (en) * | 2013-12-04 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Data sanitization |
US10216429B2 (en) * | 2015-06-26 | 2019-02-26 | International Business Machines Corporation | Performing post-processing operations for log file writes |
TWI553467B (zh) * | 2015-08-24 | 2016-10-11 | 鴻海精密工業股份有限公司 | 記憶體自檢修正系統及方法 |
US20200286575A1 (en) * | 2019-03-06 | 2020-09-10 | Goke Taiwan Research Labratory Ltd. | Apparatus and Method for Testing Storage Device in Power Interruptions |
CN111696598B (zh) * | 2020-06-12 | 2022-04-26 | 合肥沛睿微电子股份有限公司 | 存储装置及其低级格式化方法 |
-
2020
- 2020-09-28 CN CN202011038258.2A patent/CN112115097B/zh active Active
-
2021
- 2021-07-27 US US17/386,351 patent/US11494112B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101229A (en) * | 1996-04-04 | 2000-08-08 | Texas Instruments Incorporated | Data synchronization method and circuit using a timeout counter |
TW201123178A (en) * | 2009-12-24 | 2011-07-01 | Hynix Semiconductor Inc | Method for controlling semiconductor storage system configured to manage dual memory area |
US20130262426A1 (en) * | 2010-02-12 | 2013-10-03 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing database and database application system |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN108089971A (zh) * | 2017-11-27 | 2018-05-29 | 上海华元创信软件有限公司 | 基于嵌入式实时系统的日志服务方法和系统 |
CN109214204A (zh) * | 2018-07-13 | 2019-01-15 | 深圳大普微电子科技有限公司 | 数据处理方法和存储设备 |
CN110716845A (zh) * | 2019-09-29 | 2020-01-21 | 上海龙旗科技股份有限公司 | 一种Android系统的日志信息读取的方法 |
Non-Patent Citations (2)
Title |
---|
XIONGPAI QIN ET AL.: "Performance study on logging to another main memory database", 《4TH INTERNATIONAL CONFERENCE ON NEW TRENDS IN INFORMATION SCIENCE AND SERVICE SCIENCE》, pages 36 - 40 * |
胡嘉航: "硬件安全模块的设计及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 417 * |
Also Published As
Publication number | Publication date |
---|---|
CN112115097B (zh) | 2023-08-29 |
US20220100408A1 (en) | 2022-03-31 |
US11494112B2 (en) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8316201B2 (en) | Methods for executing a command to write data from a source location to a destination location in a memory device | |
US11782632B2 (en) | Selective erasure of data in a SSD | |
CN111752487B (zh) | 一种数据恢复方法、装置及固态硬盘 | |
US20100161932A1 (en) | Methods for writing data from a source location to a destination location in a memory device | |
CN105808163B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
US8825946B2 (en) | Memory system and data writing method | |
KR102589402B1 (ko) | 스토리지 디바이스 및 스토리지 디바이스의 동작 방법 | |
EP2417525A1 (en) | Host control of background garbage collection in a data storage device | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
US9372741B2 (en) | Data storage device and operating method thereof | |
US20140304487A1 (en) | Information processing apparatus, memory control device, and data transfer control method | |
US20150143028A1 (en) | Data storage apparatus and operating method thereof | |
US20200226026A1 (en) | Data storage devices and methods for firmware failure prevention | |
KR20140147017A (ko) | 라이트 백 캐싱 환경에서 예상하지 못한 셧다운으로부터 복구하기 위한 시스템 및 방법 | |
US10817624B2 (en) | Memory system and storage device capable of permanently deleting data stored in a non-volatile memory | |
US20090094299A1 (en) | Apparatus and method for defragmenting files on a hydrid hard disk | |
US10402101B2 (en) | System and method for using persistent memory to accelerate write performance | |
CN112115097A (zh) | 运行日志信息的访问方法及存储设备 | |
US11256435B2 (en) | Method and apparatus for performing data-accessing management in a storage server | |
JP6100750B2 (ja) | メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置 | |
US9842622B1 (en) | Data storage device having improved read failure tolerance | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
US20140059293A1 (en) | Method for protecting a gpt cached disks data integrity in an external operating system environment | |
TWI811573B (zh) | 儲存裝置及其運行日誌的存取方法 | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same |
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 |