CN108959589A - 基于stt-mram加速固态存储器件日志文件保存恢复的方法 - Google Patents
基于stt-mram加速固态存储器件日志文件保存恢复的方法 Download PDFInfo
- Publication number
- CN108959589A CN108959589A CN201810754935.7A CN201810754935A CN108959589A CN 108959589 A CN108959589 A CN 108959589A CN 201810754935 A CN201810754935 A CN 201810754935A CN 108959589 A CN108959589 A CN 108959589A
- Authority
- CN
- China
- Prior art keywords
- mram
- stt
- dram
- journal
- log
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于STT‑MRAM加速固态存储器件日志文件保存恢复的方法,在固态存储器件启动完成后的正常工作状态下,将日志写入到DRAM中存储,并按照设定的条件将DRAM中存储的日志保存到STT‑MRAM中,更新DRAM和STT‑MRAM中的日志节点信息;在收到下电命令或遭到异常掉电时,将DRAM中存放的还未保存的日志强制保存到STT‑MRAM中,更新STT‑MRAM中的日志节点信息;在上电启动时,从STT‑MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。本发明解决了提高了固态存储器件启动的速度,简化了系统设计复杂度。
Description
技术领域
本发明属于计算机存储设备技术领域,尤其涉及一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法。
背景技术
计算机外部存储器目前主要有两种,磁盘(HDD)和固态硬盘(SSD)。SSD中的主要存储介质为闪存(FLASH MEMORY),相比HDD,SSD的读写速度更快,随机访问性能更优秀,读写功耗更低,因此随着FLASH MEMORY制造工艺的提升和成本降低,SSD得到了越来越广泛的应用。
目前商用的SSD中的存储介质FLASH主要有两种结构:NOR和NAND。相比NOR FLASH,NAND FLASH具有更高的存储密度,更低的成本,是目前SSD的主流存储介质。但无论是NANDFLASH还是NOR FLASH,其存储介质的读、擦写速度分别在微秒级和毫秒级。
磁性随机存储器STT-MRAM(Spin Transfer Torque Magnetic Random AccessMemory)是一种新型高速高可靠的存储器,具备纳秒级的读写速度,可以兼容各类DRAM接口协议,具备1015级别的擦写寿命,而且掉电不丢失数据。
传统的SSD控制器上电时,需要把日志从NAND flash中读取出来放入系统内存(DRAM,Dynamic Random Access Memory),并恢复日志记录节点,如图1所示。由于NANDflash读所消耗的读潜伏期(tR)为微秒级别,典型为每page16K大小,消耗16K/60us,以1G的日志文件为例,大约需要4秒,根据SSD控制器架构和实现,所需时间可能会不同,但基本处于秒级。
因此,如何提高固态存储器件启动时恢复日志节点的速度,一直是亟需解决的一个问题。
发明内容
本发明的目的是提供一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,利用STT-MRAM的高速读写性能和掉电非易失性能,采用STT-MRAM作为固态存储器件控制器内的日志文件数据缓存,保障用户操作记录安全和准确性。
为了实现上述目的,本发明技术方案如下:
一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,所述固态存储器件包括系统内存DRAM和磁性随机存储器STT-MRAM,所述基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,包括:
在固态存储器件启动完成后的正常工作状态下,将日志写入到DRAM中存储,并按照设定的条件将DRAM中存储的日志保存到STT-MRAM中,更新DRAM和STT-MRAM中的日志节点信息;
在收到下电命令或遭到异常掉电时,将DRAM中存放的还未保存的日志强制保存到STT-MRAM中,更新STT-MRAM中的日志节点信息;
在上电启动时,从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。
优选地,所述日志节点信息,包括STT-MRAM中保存日志文件的起始地址、结束地址和当前页数。
需要说明的是,本发明日志节点信息也可以包括STT-MRAM中保存日志文件的起始地址、结束地址和当前写入页面的地址。由于当前写入页面的地址可以通过当前页数与起始地址计算得到,本发明优选是记录当前页数,根据页数来计算写入的地址。本发明不限于日志节点信息的具体组成,可以记录当前页数,也可以记录当前写入页面的地址。
进一步地,所述按照设定的条件将DRAM中存储的日志保存到STT-MRAM中,更新DRAM和STT-MRAM中的日志节点信息,包括:
更新日志节点信息中的当前页数。
进一步地,所述将DRAM中存放的还未保存的日志强制保存到STT-MRAM中,更新STT-MRAM中的日志节点信息,包括:
在STT-MRAM中更新记录的日志节点信息中的当前页数。
进一步地,所述在上电启动时,从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志,包括:
初始化硬件;
从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。
本发明提出的一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,在系统下电时,把系统日志的一般日志与关键日志保存至STT-MRAM内,利用STT-MRAM的高速读写性能和掉电非易失性能,采用STT-MRAM作为固态存储器件控制器内的日志文件数据缓存,保障用户操作记录安全和准确性。日志文件与数据库数据解耦,减少断电和上电时间,简化了系统设计复杂度,提高了系统的维护性。不需要从flash中读取日志节点信息,提高了固态存储器件启动的速度。另外增加对数据库初始化时的日志记录,日志记录的内容更多,有利于后续根据日志记录进行故障分析等。
附图说明
图1为现有技术SSD上电过程示意图;
图2为本发明基于STT-MRAM加速固态存储器件日志文件保存恢复的方法流程图;
图3为本发明实施例SSD掉电过程示意图;
图4为本发明实施例SSD上电过程示意图;
图5为现有技术SSD上电初始化过程示意图;
图6为本发明实施例SSD上电初始化过程示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
如图1所示,在现有技术中,日志文件保存在Nor flash或/和NAND flash中,因此在上电时,需要从Nor flash或/和NAND flash中读取日志文件,恢复日志节点,由于Norflash或NAND flash读所消耗的读潜伏期为微秒级别,启动过程比较费时。
本发明的总体思路是利用STT-MRAM的高速读写性能和掉电非易失性能,采用STT-MRAM来存储日志文件,解决了SSD控制器异常掉电后日志文件有可能丢失的问题,增加系统可靠性。
如图2所示,本发明一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,包括如下步骤:
步骤101、在固态存储器件启动完成后的正常工作状态下,将日志写入到DRAM中存储,并按照设定的条件将DRAM中存储的日志保存到STT-MRAM中,更新DRAM和STT-MRAM中的日志节点信息。
本实施例固态硬盘SSD启动完成后的正常工作状态下,系统产生的日志文件在DRAM器件中存放,并定期下刷至STT-MRAM中保存。与现有技术不同的是,本实施例在正常工作状态下,虽然将日志文件写入到DRAM中存储,但是并不是按照设定的条件将日志文件保存到Nor flash或/和NAND flash中,而是按照设定的条件将DRAM中存储的日志文件保存到STT-MRAM中。
本实施例设定的条件,可以是固定的时间周期,也可以是设定DRAM中存储日志文件的空间大小,例如在DRAM中存储的日志文件最多只有64k,满了就下刷一次到STT-MRAM中。日志在DRAM中覆盖存储,等满64k后再次下刷。
本实施例,STT-MRAM中划分了一块区域来写日志文件,这个区域的起始地址和结束地址都是已知的,并且按照页(page)来进行存储,每一页(page)为16k。在该区域写满后,会删除旧的日志文件,写入新的日志文件,循环存储。
本实施例将STT-MRAM中保存日志文件的起始地址、结束地址和当前页数称为日志节点信息,在日志初始化时,SSD控制器会从STT-MRAM中获取日志节点信息,在DRAM中恢复日志节点信息,而后在每次将日志写入STT-MRAM中时,会更新日志节点信息中的当前页数,以便下次将日志写入STT-MRAM中时,知道写入哪一页。同样,在每次将DRAM中存储的日志文件保存到STT-MRAM中,在STT-MRAM中也更新日志节点信息中的当前页数。
经过上述步骤,在将DRAM中存储的日志文件保存到STT-MRAM中时,就可以知道写入到哪一页。此外,由于在STT-MRAM中也保存了日志节点信息,则在掉电后再上电时,可以从STT-MRAM中获取日志节点信息,在日志节点信息读入到DRAM中,实现日志初始化,以便SSD在需要将DRAM中存储的日志文件保存到STT-MRAM中时,就可以知道写入到哪一页。
需要说明的是,本实施例日志节点信息
步骤102、在收到下电命令或遭到异常掉电时,将DRAM中存放的还未保存的日志强制保存到STT-MRAM中,更新STT-MRAM中的日志节点信息。
在系统工作时,遇到掉电的情况(如系统关机、异常掉电等),需要将DRAM中存放的还未保存的日志文件保存。本实施例在收到断电信号或遭到异常掉电时,将DRAM中存放的还未保存的日志文件强制保存到STT-MRAM中。即SSD控制器首先把存放于DRAM中的还未下刷的缓存日志,强行下刷至MRAM中,同样,在强制保存到STT-MRAM中时,还更新日志节点信息,如图3所示。由于MRAM的IO的低延时高带宽,整个压缩耗时为ns级别,可以忽略。
由于是在掉电的情况下,本实施例只需在STT-MRAM中更新日志节点信息,主要是更新日志节点信息中当前页数。DRAM中掉电后数据将丢失。以便在掉电后再上电时,可以从STT-MRAM中获取日志节点信息,在日志节点信息读入到DRAM中,实现日志初始化,以便SSD在需要将DRAM中存储的日志文件保存到STT-MRAM中时,就可以知道写入到哪一页。
步骤103、在上电启动时,从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。
在上电过程中,初始化硬件后,由于MRAM掉电不会丢失数据,MRAM中保存完整的日志文件,根据保存的日志节点信息进行日志初始化操作,即根据STT-MARM中记录的日志节点信息,在DRAM中恢复日志节点信息。日志节点信息指的是日志保存在MRAM中的起始地址与结束地址、当前页数等信息,如图4所示。
本实施例将原本记录在数据库中的日志文件的日志节点信息从数据库中剥离,保存在MRAM中,减少与数据库之间交互的操作,达到日志文件模块与数据库模块解耦的目的,在上电的过程中不再依赖数据库的初始化,可以将日志模块在上电流程中的位置提前。
如图5所示,传统的上电过程,由于日志是保存在数据库中,日志初始化必须在数据库初始化之后。而本实施例如图6所示,日志与数据库解耦,日志初始化在数据库初始化之前就可以进行,带来的好处是不需要从flash中读取日志节点信息,提高了启动速度。此外可以增加对数据库初始化时的日志记录,日志记录的内容更多,有利于后续根据日志记录进行故障分析等。
此外,本实施例的日志保存在STT-MRAM中,当需要读取日志来进行故障分析时,直接从STT-MRAM中读取,由于STT-MRAM的IO的低延时高带宽特性,读取的速度很快。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1.一种基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,所述固态存储器件包括系统内存DRAM和磁性随机存储器STT-MRAM,其特征在于,所述基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,包括:
在固态存储器件启动完成后的正常工作状态下,将日志写入到DRAM中存储,并按照设定的条件将DRAM中存储的日志保存到STT-MRAM中,更新DRAM和STT-MRAM中的日志节点信息;
在收到下电命令或遭到异常掉电时,将DRAM中存放的还未保存的日志强制保存到STT-MRAM中,更新STT-MRAM中的日志节点信息;
在上电启动时,从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。
2.根据权利要求1所述的基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,其特征在于,所述日志节点信息包括STT-MRAM中保存日志文件的起始地址、结束地址和当前页数。
3.根据权利要求2所述的基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,其特征在于,所述按照设定的条件将DRAM中存储的日志保存到STT-MRAM中,更新DRAM和STT-MRAM中的日志节点信息,包括:
更新日志节点信息中的当前页数。
4.根据权利要求2所述的基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,其特征在于,所述将DRAM中存放的还未保存的日志强制保存到STT-MRAM中,更新STT-MRAM中的日志节点信息,包括:
在STT-MRAM中更新记录的日志节点信息中的当前页数。
5.根据权利要求1所述的基于STT-MRAM加速固态存储器件日志文件保存恢复的方法,其特征在于,所述在上电启动时,从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志,包括:
初始化硬件;
从STT-MRAM中读取日志节点信息,在DRAM中恢复日志节点信息,开始记录日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754935.7A CN108959589B (zh) | 2018-07-11 | 2018-07-11 | 基于stt-mram加速固态存储器件日志文件保存恢复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754935.7A CN108959589B (zh) | 2018-07-11 | 2018-07-11 | 基于stt-mram加速固态存储器件日志文件保存恢复的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959589A true CN108959589A (zh) | 2018-12-07 |
CN108959589B CN108959589B (zh) | 2021-08-10 |
Family
ID=64482970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810754935.7A Active CN108959589B (zh) | 2018-07-11 | 2018-07-11 | 基于stt-mram加速固态存储器件日志文件保存恢复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959589B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618892A (zh) * | 2019-09-19 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的bug定位方法、装置、电子设备及介质 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
CN111796996A (zh) * | 2020-07-03 | 2020-10-20 | 深圳大普微电子科技有限公司 | 一种固态硬盘日志处理方法、固态硬盘和电子设备 |
CN112954525A (zh) * | 2021-02-02 | 2021-06-11 | 致真存储(北京)科技有限公司 | 一种tws耳机及其断电恢复的方法和装置 |
CN113868156A (zh) * | 2021-12-01 | 2021-12-31 | 荣耀终端有限公司 | 系统升级掉电保护方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058539A1 (en) * | 2013-08-22 | 2015-02-26 | CNEXLABS, Inc. | Method and Apparatus for Restoring Flash Translation Layer (FTL) in Non-Volatile Storage device |
CN105630404A (zh) * | 2015-04-02 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种使用mram的固态硬盘及读写方法 |
CN106294226A (zh) * | 2016-07-27 | 2017-01-04 | 中电海康集团有限公司 | 基于嵌入式stt‑mram的ssd控制器芯片、固态硬盘 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储系统掉电保护方法、存储控制器及电子设备 |
CN108182154A (zh) * | 2017-12-22 | 2018-06-19 | 深圳大普微电子科技有限公司 | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 |
-
2018
- 2018-07-11 CN CN201810754935.7A patent/CN108959589B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058539A1 (en) * | 2013-08-22 | 2015-02-26 | CNEXLABS, Inc. | Method and Apparatus for Restoring Flash Translation Layer (FTL) in Non-Volatile Storage device |
CN105630404A (zh) * | 2015-04-02 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种使用mram的固态硬盘及读写方法 |
CN106294226A (zh) * | 2016-07-27 | 2017-01-04 | 中电海康集团有限公司 | 基于嵌入式stt‑mram的ssd控制器芯片、固态硬盘 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储系统掉电保护方法、存储控制器及电子设备 |
CN108182154A (zh) * | 2017-12-22 | 2018-06-19 | 深圳大普微电子科技有限公司 | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618892A (zh) * | 2019-09-19 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的bug定位方法、装置、电子设备及介质 |
CN110618892B (zh) * | 2019-09-19 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的bug定位方法、装置、电子设备及介质 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
CN111796996A (zh) * | 2020-07-03 | 2020-10-20 | 深圳大普微电子科技有限公司 | 一种固态硬盘日志处理方法、固态硬盘和电子设备 |
CN112954525A (zh) * | 2021-02-02 | 2021-06-11 | 致真存储(北京)科技有限公司 | 一种tws耳机及其断电恢复的方法和装置 |
CN113868156A (zh) * | 2021-12-01 | 2021-12-31 | 荣耀终端有限公司 | 系统升级掉电保护方法、电子设备及存储介质 |
CN113868156B (zh) * | 2021-12-01 | 2022-04-12 | 荣耀终端有限公司 | 系统升级掉电保护方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108959589B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959589A (zh) | 基于stt-mram加速固态存储器件日志文件保存恢复的方法 | |
US7483228B2 (en) | Hard disk drive with reduced power consumption, related data processing apparatus, and I/O method | |
US7130962B2 (en) | Writing cache lines on a disk drive | |
US20070016725A1 (en) | System and method for selective write to flash memory in HDD | |
US20080177935A1 (en) | Method and system for facilitating fast wake-up of a flash memory system | |
CN103455449B (zh) | 非易失性存储介质访问方法、数据更新方法及设备 | |
WO2014004731A1 (en) | Optimized context drop for a solid state drive (ssd) | |
CN103270500A (zh) | 事务日志恢复 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
CN111752487A (zh) | 一种数据恢复方法、装置及固态硬盘 | |
US20180143886A1 (en) | Method for Rebuilding a Mapping Table of a Solid State Disk | |
CN109144899A (zh) | 用于管理表恢复的方法 | |
CN108804344A (zh) | 带文件系统的闪存存储方法及装置 | |
CN109491592A (zh) | 存储设备及其数据写入方法、存储装置 | |
CN109284070B (zh) | 一种基于stt-mram固态存储器件断电恢复方法 | |
CN102323907A (zh) | 嵌入式arm处理器对nandflash数据存储和删除方法 | |
CN111475114A (zh) | 一种数据下刷系统、方法及计算机可读存储介质 | |
Leventhal | Flash Storage Today: Can flash memory become the foundation for a new tier in the storage hierarchy? | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
CN115826882B (zh) | 一种存储方法、装置、设备及存储介质 | |
CN109032843B (zh) | 一种基于stt-mram加速固态存储器件启动的方法 | |
CN101807212B (zh) | 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置 | |
CN105761756A (zh) | 一种利用高性能非挥发固态存储器提高海量固态硬盘性能及可靠性的方案 | |
CN109814804A (zh) | 一种降低分布式存储系统能耗的方法和装置 | |
CN105589912A (zh) | 一种利用mram处理频写文件的方法及存储结构 |
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 |