一种快速启动固态硬盘的方法及其系统技术方案

技术编号:20074555 阅读:26 留言:0更新日期:2019-01-15 00:29
本发明专利技术涉及一种快速启动固态硬盘的方法及其系统;其中,快速启动固态硬盘的方法,包括以下步骤:S1,当处于掉电时,触发“掉电通知”信号,停止CPU运行;S2,将CPU寄存器存储到NVRAM中;S3,当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;S4,启动CPU运行。本发明专利技术通过将程序保存、运行在NVRAM中,掉电后内容不丢失,故而上电后立刻进入程序运行状态,极大地降低了延迟,提升了固态硬盘的启动速度,降低了固态硬盘启动所耗费的时间。

A Method and System for Quick Starting Solid State Hard Disk

The invention relates to a method and system for fast starting solid-state hard disk, in which the method for fast starting solid-state hard disk includes the following steps: S1, triggering \power-off notification\ signal when power-off, stopping CPU operation; S2, storing CPU registers into NVRAM; S3, loading corresponding information from NVRAM to CPU internal registers when power-on; S4, starting CPU operation; \u3002 The invention saves and runs the program in NVRAM, and does not lose the content after power failure, so it enters the program running state immediately after power-up, greatly reduces the delay, improves the starting speed of solid-state hard disk, and reduces the time spent on starting solid-state hard disk.

【技术实现步骤摘要】
一种快速启动固态硬盘的方法及其系统
本专利技术涉及固态硬盘启动领域,更具体地说是指一种快速启动固态硬盘的方法及其系统。
技术介绍
SSD(固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘,随着PC产业的发展,其对于存储的性能要求越来越高,不光是带电工作时的读写性能,对于上电后的响应延迟也有极致的要求,从以往的秒级到现在的毫秒级,这对SSD固件设计提出了很大的挑战。现有常规的固态硬盘的控制器程序运行在掉电易失的内部存储器中,上电后需要从外部存储设备(如NAND)上重新加载初始化,响应时间很慢;在这个过程中,由于NAND需要初始化,程序加载,程序运行状态初始化等等一系列动作,需要消耗几十毫秒的时间,这对于快速启动需求来说是无法满足的。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种快速启动固态硬盘的方法及其系统。为实现上述目的,本专利技术采用于下技术方案:一种快速启动固态硬盘的方法,包括以下步骤:S1,当处于掉电时,触发“掉电通知”信号,停止CPU运行;S2,将CPU寄存器存储到NVRAM中;S3,当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;S4,启动CPU运行。其进一步技术方案为:所述S1包括:S11,当处于掉电时,触发“掉电通知”信号;S12,掉上电逻辑停止CPU运行。其进一步技术方案为:所述S3中,包括:当重新上电时,掉上电逻辑接管,使CPU暂不运行,掉上电逻辑从NVRAM寄存器备份区域加载对应信息到CPU内部寄存器。其进一步技术方案为:所述S3之后,还包括:掉上电逻辑标识数据Cache,及指令Cache均为无效。其进一步技术方案为:所述NVRAM包括:数据区域,用于存放数据信息;指令区域,用于存放指令信息;寄存器备份区域,用于在掉电时刻存储CPU内部寄存器。其进一步技术方案为:所述S4之后,还包括以下步骤:S5,CPU发起数据访问请求;S6,判断CPU发起的是数据访问还是指令访问;如果是数据访问,则进入S7,如果是指令访问,则进入S8;S7,判断数据Cache是否命中;如果是,则返回S5,如果否,则进入S9;S8,判断指令Cache是否命中;如果是,则返回S5,如果否,则进入S9;S9,从NVRAM对应的数据区域,或指令区域获取数据,更新对应的数据Cache,或指令Cache,并将对应的数据反馈至CPU。一种快速启动固态硬盘的系统,包括触发停止单元,存储单元,加载单元,及启动单元;所述触发停止单元,用于当处于掉电时,触发“掉电通知”信号,停止CPU运行;所述存储单元,用于将CPU寄存器存储到NVRAM中;所述加载单元,用于当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;所述启动单元,用于启动CPU运行。其进一步技术方案为:所述触发停止单元包括触发模块和停止模块;所述触发模块,用于当处于掉电时,触发“掉电通知”信号;所述停止模块,用于停止CPU运行。其进一步技术方案为:还包括标识单元,用于标识数据Cache,及指令Cache均为无效。其进一步技术方案为:还包括请求单元,判断访问单元,判断数据单元,判断指令单元,及获取反馈单元;所述请求单元,用于CPU发起数据访问请求;所述判断访问单元,用于判断CPU发起的是数据访问还是指令访问;所述判断数据单元,用于判断数据Cache是否命中;所述判断指令单元,用于判断指令Cache是否命中;所述获取反馈单元,用于从NVRAM对应的数据区域,或指令区域获取数据,更新对应的数据Cache,或指令Cache,并将对应的数据反馈至CPU。本专利技术与现有技术相比的有益效果是:通过将程序保存、运行在NVRAM中,掉电后内容不丢失,故而上电后立刻进入程序运行状态,极大地降低了延迟,提升了固态硬盘的启动速度,降低了固态硬盘启动所耗费的时间。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为现有固态硬盘内部的模块组织示意图;图2为本专利技术一种快速启动固态硬盘的方法的流程图;图3为图2中S4之后的流程图;图4为本专利技术中固态硬盘的体系结构示意图;图5为NVRAM的分区示意图;图6为本专利技术一种快速启动固态硬盘的系统方框图。10触发停止单元11触发模块12停止模块20存储单元30加载单元40标识单元50启动单元60请求单元70判断访问单元80判断数据单元90判断指令单元100获取反馈单元具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。如图1到图6所示的具体实施例,其中,如图1所示,现有固态硬盘内部的模块组织示意图,SSD(固态硬盘)内部主控,表现为一个独立的芯片,其内具备:CPU,中央处理器,执行对应的指令;数据存储器,内部快速内存,用于存储运算、控制变量;指令存储器,内部快速内存,用于存储可执行程序代码;数据Cache,用于加速对外部慢速设备的数据访问;指令Cache,用于加速对外部慢速设备的指令访问。其中,DRAM为外部随机访问存储器,用于存放大的变量,如数据缓冲区、映射表等,掉电后数据丢失。其中,NAND为SSD中主要的掉电非易失存储设备,用于存储可执行程序代码、用户数据、映射表等。在传统架构中,SOC内部的所有的内存在掉电后数据都会丢失,所以在上电后需要从外部存储设备(如NAND)上重新加载程序运行,在这个过程中,由于NAND需要初始化,程序加载,程序运行状态初始化等等一系列动作,需要消耗几十毫秒的时间,这对于现在的快速启动需求来说是一笔无法避免的开销。如图2至图5所示,本专利技术公开了一种快速启动固态硬盘的方法,包括以下步骤:S1,当处于掉电时,触发“掉电通知”信号,停止CPU运行;S2,将CPU寄存器存储到NVRAM(掉电非易失存储器,如SCM)中;S3,当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;S4,启动CPU运行。进一步地,S1包括:S11,当处于掉电时,触发“掉电通知”信号;S12,掉上电逻辑停止CPU运行。其中,在S3中,包括:当重新上电时,掉上电逻辑接管,使CPU暂不运行,掉上电逻辑从NVRAM寄存器备份区域加载对应信息到CPU内部寄存器。其中,在S3之后,还包括:掉上电逻辑标识数据Cache,及指令Cache均为无效。如图4所示,本专利技术中固态硬盘的体系结构示意图,去除了数据Cache,指令Cache,由NVRAM代替。NVRAM具备快速的随机字节访问特性,且在掉电后能够保持数据。去除了NAND上的固件备份,增加“掉电通知”中断输入信号,可以由外部设备监控输入电压的下降,当低于预设的阈值时,触发该信号。增加“掉上电逻辑”模块,用于处理掉电和上电时刻的CPU运行状态的保存和恢复。由于NVRAM具备掉电后数据不丢失的特性,故在出厂时将程序烧录到NVRAM后,在其后的使用周期中,可不用重新加载。借助“掉电通知”以及掉上电逻辑”模块,只需要将几十个寄存器进行快速的保存、恢复,即可随时运行,故而彻底消除了传统SOC体系中的数十毫秒的延迟。如图5所示,NVRAM包括:数据区域,用于存放传统体系结构中的数据存储器所存放的信息,如程序运行、控制所依赖的变量;指令区域,用于存放传统体系结构中的指令存储器所存放的信本文档来自技高网
...

【技术保护点】
1.一种快速启动固态硬盘的方法,其特征在于,包括以下步骤:S1,当处于掉电时,触发“掉电通知”信号,停止CPU运行;S2,将CPU寄存器存储到NVRAM中;S3,当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;S4,启动CPU运行。

【技术特征摘要】
1.一种快速启动固态硬盘的方法,其特征在于,包括以下步骤:S1,当处于掉电时,触发“掉电通知”信号,停止CPU运行;S2,将CPU寄存器存储到NVRAM中;S3,当重新上电时,从NVRAM加载对应信息到CPU内部寄存器;S4,启动CPU运行。2.根据权利要求1所述的一种快速启动固态硬盘的方法,其特征在于,所述S1包括:S11,当处于掉电时,触发“掉电通知”信号;S12,掉上电逻辑停止CPU运行。3.根据权利要求1所述的一种快速启动固态硬盘的方法,其特征在于,所述S3中,包括:当重新上电时,掉上电逻辑接管,使CPU暂不运行,掉上电逻辑从NVRAM寄存器备份区域加载对应信息到CPU内部寄存器。4.根据权利要求1所述的一种快速启动固态硬盘的方法,其特征在于,所述S3之后,还包括:掉上电逻辑标识数据Cache,及指令Cache均为无效。5.根据权利要求1所述的一种快速启动固态硬盘的方法,其特征在于,所述NVRAM包括:数据区域,用于存放数据信息;指令区域,用于存放指令信息;寄存器备份区域,用于在掉电时刻存储CPU内部寄存器。6.根据权利要求1所述的一种快速启动固态硬盘的方法,其特征在于,所述S4之后,还包括以下步骤:S5,CPU发起数据访问请求;S6,判断CPU发起的是数据访问还是指令访问;如果是数据访问,则进入S7,如果是指令访问,则进入S8;S7,判断数据Cache是否命中;如果是,则返回S5,如果否,则进入S9;S8,判断指令Cache是否命中;如果是,则返回S5,...

【专利技术属性】
技术研发人员:王猛徐伟华方浩俊
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1