CN107589969A - 一种基于NVDIMM的Linux操作系统休眠快速启动方法 - Google Patents
一种基于NVDIMM的Linux操作系统休眠快速启动方法 Download PDFInfo
- Publication number
- CN107589969A CN107589969A CN201710795980.2A CN201710795980A CN107589969A CN 107589969 A CN107589969 A CN 107589969A CN 201710795980 A CN201710795980 A CN 201710795980A CN 107589969 A CN107589969 A CN 107589969A
- Authority
- CN
- China
- Prior art keywords
- nvdimm
- swap
- dormancy
- subregions
- media
- 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
Landscapes
- Power Sources (AREA)
Abstract
本发明公开一种基于NVDIMM的Linux操作系统休眠快速启动方法,涉及存储技术利用领域;使用NVDIMM介质,将系统原本要保存到SWAP磁盘分区的休眠镜像保存到NVDIMM介质上,再将NVDIMM内存介质模拟划分为磁盘分区,将相应的磁盘分区设置为SWAP分区,当系统STD休眠时是将镜像保存在NVDIMM内存介质中,利用NVDIMM内存介质的读写速度优于磁盘介质,当系统被唤醒时快速提升启动速度。
Description
技术领域
本发明公开一种操作系统休眠快速启动方法,涉及存储技术利用领域,具体的说是一种基于NVDIMM的Linux操作系统休眠快速启动方法。
背景技术
NVDIMM是一种集成了DRAM +非易失性内存芯片的内存条规格,能够在完全断电的时候依然保存完整内存数据。在性能上,NVDIMM正好弥补了SSD和DRAM之间的性能差距。磁盘缓存是为了减少CPU透过I/O读写磁盘的次数,提升磁盘I/O的效率,用一部分内存来储存访问较频繁的磁盘内容。磁盘缓存的存在对于数据访问的一致性带来了问题,尤其是采用write-back策略的写缓存导致异常掉电情况下内存中更新的数据未能及时写入磁盘而丢失。而NVDIMM是写缓存的最佳存储介质。它的随机访问性质能让CPU和操作系统直接访问管理,并且非易失性保证数据在异常掉电情况下得以保护。
目前,针对RAID控制器的写缓存NVDIMM已逐渐被接受。对于带有板级RAID控制芯片或者采用软件RAID方案的计算机,缺乏写缓存,NVDIMM可以直接用做系统主存,配合操作系统,完成写缓存任务。还有一类PCIE接口的RAID控制卡,它们采用普通的带电池后备的内存条作为缓存使用,NVDIMM可以直接替代这些内存条。
Linux操作系统下的磁盘挂起STD(Suspend To Disk)是通过swsusp机制实现的:将系统当前状态保存的内存后,再把内存内容写入交换分区(swap)。交换分区容量最好大于内存容量。本发明提供一种基于NVDIMM的Linux操作系统休眠快速启动方法,使用NVDIMM介质,将系统原本要保存到SWAP磁盘分区的休眠镜像保存到NVDIMM介质上,再将NVDIMM内存介质模拟划分为磁盘分区,将相应的磁盘分区设置为SWAP分区,当系统STD休眠时是将镜像保存在NVDIMM内存介质中,利用NVDIMM内存介质的读写速度优于磁盘介质,当系统被唤醒时快速提升启动速度。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于NVDIMM的Linux操作系统休眠快速启动方法,提升了系统被唤醒时的速度。
一种基于NVDIMM的Linux操作系统休眠快速启动方法,基于NVDIMM,在Linux操作系统启动时,将NVDIMM介质进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质上swap分区,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质中读取镜像,并恢复运行。
所述的方法中将NVDIMM介质进行swap分区的过程:利用ramdisk工具启用集成NVDIMM驱动内核,在初始化脚本中,将制定的ramdisk分区设置为swap分区,判断再NVDIMM介质上swap分区设置是否成功,成功则进行swap分区激活。
所述的方法中当系统接收到休眠命令:echo shutdown > /sys/power/disk及echo disk > /sys/power/state 后,将系统信息压缩打包存放到NVDIMM介质上swap分区,系统进入休眠。
所述的方法中系统信息包括系统硬件信息、设备信息以及进程信息。
一种基于NVDIMM的休眠快速启动的Linux操作系统,包括NVDIMM介质模块,
在Linux操作系统启动时,将NVDIMM介质模块进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质模块上swap分区,,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质模块上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质模块中读取镜像,并恢复运行。
所述的系统中将NVDIMM介质模块进行swap分区:利用ramdisk工具启用集成NVDIMM驱动内核,在初始化脚本中,将制定的ramdisk分区设置为swap分区,判断再NVDIMM介质模块上swap分区设置是否成功,成功则进行swap分区激活。
所述的系统中当系统接收到休眠命令:echo shutdown > /sys/power/disk及echo disk > /sys/power/state 后,将系统信息压缩打包存放到NVDIMM介质模块上swap分区,系统进入休眠。
所述的系统中系统信息包括系统硬件信息、设备信息以及进程信息。
本发明与现有技术相比具有的有益效果是:
本发明提供一种基于NVDIMM的Linux操作系统休眠快速启动方法,使用NVDIMM介质,将系统原本要保存到SWAP磁盘分区的休眠镜像保存到NVDIMM介质上,再将NVDIMM内存介质模拟划分为磁盘分区,将相应的磁盘分区设置为SWAP分区,当系统STD休眠时是将镜像保存在NVDIMM内存介质中,利用NVDIMM内存介质的读写速度优于磁盘介质,当系统被唤醒时快速提升启动速度。
附图说明
图1本发明中将NVDIMM介质进行swap分区流程示意图;
图2 本发明中Linux操作系统休眠流程示意图。
具体实施方式
本发明提供一种基于NVDIMM的Linux操作系统休眠快速启动方法,基于NVDIMM,在Linux操作系统启动时,将NVDIMM介质进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质上swap分区,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质中读取镜像,并恢复运行。
同时提供一种基于NVDIMM的休眠快速启动的Linux操作系统,包括NVDIMM介质模块,
在Linux操作系统启动时,将NVDIMM介质模块进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质模块上swap分区,,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质模块上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质模块中读取镜像,并恢复运行。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明进一步详细说明。
STD(Suspend To Disk),即挂起到硬盘,也即休眠。计算机自动关机,关机前将当前数据存储在硬盘上,用户下次按开关键开机时计算机将无须启动操作系统,直接从硬盘读取数据,恢复原来状态。
利用本发明方法,基于NVDIMM,在Linux操作系统启动时,将NVDIMM介质进行swap分区:下载安装ramdisk,利用ramdisk工具启用集成NVDIMM驱动内核,在初始化脚本中,将制定的ramdisk分区设置为swap分区,判断再NVDIMM介质上swap分区设置是否成功,成功则进行swap分区激活,若激活不成功在日志中打印错误信息;不成功则在日志中直接打印错误信息;可以再利用ramdisk进行下次swap分区设置;将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质上swap分区,
当系统接收到休眠命令后,:echo shutdown > /sys/power/disk及echo disk > /sys/power/state 后,将系统信息包括系统硬件信息、设备信息以及进程信息等信息压缩打包存放到NVDIMM介质上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质中读取镜像,并恢复运行。
利用本发明方法,利用NVDIMM介质的读写速度优于磁盘介质,所以当系统被唤醒时能够快速提升启动速度。
Claims (8)
1.一种基于NVDIMM的Linux操作系统休眠快速启动方法,其特征在于基于NVDIMM,在Linux操作系统启动时,将NVDIMM介质进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质上swap分区,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质中读取镜像,并恢复运行。
2.根据权利要求1所述的方法,其特征在于将NVDIMM介质进行swap分区的过程:利用ramdisk工具启用集成NVDIMM驱动内核,在初始化脚本中,将制定的ramdisk分区设置为swap分区,判断再NVDIMM介质上swap分区设置是否成功,成功则进行swap分区激活。
3.根据权利要求1或2所述的方法,其特征在于当系统接收到休眠命令:echo shutdown> /sys/power/disk及echo disk > /sys/power/state 后,将系统信息压缩打包存放到NVDIMM介质上swap分区,系统进入休眠。
4.根据权利要求3所述的方法,其特征在于系统信息包括系统硬件信息、设备信息以及进程信息。
5.一种基于NVDIMM的休眠快速启动的Linux操作系统,其特征在于包括NVDIMM介质模块,
在Linux操作系统启动时,将NVDIMM介质模块进行swap分区,将原有要配置到swap磁盘分区的休眠镜像配置到NVDIMM介质模块上swap分区,,
当系统接收到休眠命令后,将系统信息存放到NVDIMM介质模块上swap分区,系统进入休眠,
当系统再次上电后,休眠唤醒,系统从NVDIMM介质模块中读取镜像,并恢复运行。
6.根据权利要求5所述的系统,其特征在于将NVDIMM介质模块进行swap分区:利用ramdisk工具启用集成NVDIMM驱动内核,在初始化脚本中,将制定的ramdisk分区设置为swap分区,判断再NVDIMM介质模块上swap分区设置是否成功,成功则进行swap分区激活。
7.根据权利要求5或6所述的系统,其特征在于当系统接收到休眠命令:echo shutdown> /sys/power/disk及echo disk > /sys/power/state 后,将系统信息压缩打包存放到NVDIMM介质模块上swap分区,系统进入休眠。
8.根据权利要求7所述的系统,其特征在于系统信息包括系统硬件信息、设备信息以及进程信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710795980.2A CN107589969A (zh) | 2017-09-06 | 2017-09-06 | 一种基于NVDIMM的Linux操作系统休眠快速启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710795980.2A CN107589969A (zh) | 2017-09-06 | 2017-09-06 | 一种基于NVDIMM的Linux操作系统休眠快速启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107589969A true CN107589969A (zh) | 2018-01-16 |
Family
ID=61051135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710795980.2A Pending CN107589969A (zh) | 2017-09-06 | 2017-09-06 | 一种基于NVDIMM的Linux操作系统休眠快速启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107589969A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885343A (zh) * | 2019-02-25 | 2019-06-14 | 深圳忆联信息系统有限公司 | 一种控制器低功耗启动方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN105739982A (zh) * | 2016-01-29 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种系统休眠的方法及装置 |
CN106294019A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种操作系统镜像保存和恢复方法及装置 |
-
2017
- 2017-09-06 CN CN201710795980.2A patent/CN107589969A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN105739982A (zh) * | 2016-01-29 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种系统休眠的方法及装置 |
CN106294019A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种操作系统镜像保存和恢复方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885343A (zh) * | 2019-02-25 | 2019-06-14 | 深圳忆联信息系统有限公司 | 一种控制器低功耗启动方法、装置、计算机设备及存储介质 |
CN109885343B (zh) * | 2019-02-25 | 2022-03-29 | 深圳忆联信息系统有限公司 | 一种控制器低功耗启动方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8892831B2 (en) | Memory subsystem hibernation | |
KR101736384B1 (ko) | 비휘발성 메모리 시스템 | |
TWI407300B (zh) | 電源管理控制器與方法 | |
CN100530071C (zh) | 一种包括读写缓存的存储设备及缓存实现方法 | |
JP2007058840A5 (zh) | ||
JP2009187062A (ja) | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 | |
US20230016888A1 (en) | Memory mapping for hibernation | |
US20110099339A1 (en) | Information processing apparatus, method for controlling information processing apparatus and storage medium | |
CN101634884A (zh) | 电源管理控制器与方法 | |
JP2011028430A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
CN102736928B (zh) | 快速唤醒计算机系统方法与计算机系统 | |
TWI375170B (en) | Non-volatile memory device and auxiliary circuit thereof | |
CN107589969A (zh) | 一种基于NVDIMM的Linux操作系统休眠快速启动方法 | |
GB2531105A (en) | Implementing enhanced performance with read before write to phase change memory to avoid write cancellations | |
JP2002099390A (ja) | ディスク制御装置 | |
JP3541349B2 (ja) | キャッシュメモリ・バックアップシステム | |
JP2015041262A (ja) | 情報記録装置 | |
JP2008059007A (ja) | 半導体記憶装置 | |
CN113050896A (zh) | 一种支持nvdimm的国产飞腾服务器及数据保护方法 | |
JP2012168871A (ja) | 計算機、消費電力低減方法およびプログラム | |
JP5661313B2 (ja) | 記憶装置 | |
JP2003122644A (ja) | 計算機及びその記憶装置 | |
JP2000081921A (ja) | コンピュ―タシステム | |
KR20110034436A (ko) | 하이브리드 메모리 구조 및 데이터 저장 방법 | |
CN112148365B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180116 |