CN107291207B - 一种电源切换方法及系统 - Google Patents
一种电源切换方法及系统 Download PDFInfo
- Publication number
- CN107291207B CN107291207B CN201710525274.6A CN201710525274A CN107291207B CN 107291207 B CN107291207 B CN 107291207B CN 201710525274 A CN201710525274 A CN 201710525274A CN 107291207 B CN107291207 B CN 107291207B
- Authority
- CN
- China
- Prior art keywords
- state
- pin
- cpld
- power
- power supply
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims description 62
- 238000012360 testing method Methods 0.000 claims description 38
- 238000012790 confirmation Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种电源切换方法及系统,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换。本发明采用CPLD硬件平台执行掉电监测,能够通过并行流水的优化方式控制各个功能硬件模块的电源,从而改善功能模块上电掉电实时性,与通用处理器CPU硬件控制电源模块相比,本发明采用C语言开发并与CPLD协处理器协同工作,能够有效的改善电源控制实现效率,减少电源控制实现的开发周期。
Description
技术领域
本发明涉及存储系统技术领域,特别是涉及一种电源切换方法及系统。
背景技术
在云计算时代,存储系统在技术领域中占据的地位愈加的明显,存储系统在运行过程中,确保数据的有效性,实时性以及稳定性。而对于存储系统最主要的方面一是主程序的可靠性,另外就是存储系统硬件电源的可靠性。而电源是存储系统最基础的保证,如果在存储系统中电源供电出现异常,而运行过程中未对该异常进行监测或监测到未进行有效的处理,存储系统会停止处理当前业务,丢失客户的数据资料,给客户造成重大损失。
发明内容
本发明的目的在于提出一种电源切换方法及系统。
基于上述问题,本发明提出了一种存储系统电源掉电监测的机制,通过采用硬件CPLD进行初级电源掉电监测,切换备用电源供电,缩短电源掉电处理流程的时间,从而有效确保存储系统对掉电异常实时处理的有效性。
为达到上述目的,本发明提供了以下技术方案:
一种电源切换方法,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述方法包括:
检测主电源侧的掉电信号;
当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源;
从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域。
优选的,在所述检测主电源侧的掉电信号之前,还包括:
所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态。
其中,所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态,包括:
所述主电源正常工作状态下,所述CPLD上电初始化管脚状态,当检测到所述主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则所述CPLD从所述关闭状态启动到标准预处理状态;
所述CPLD进入所述标准预处理状态,检测PCH上电管脚的状态,当所述PCH上电管脚为有效信号时,则所述CPLD从所述标准预处理状态启动到标准状态;
所述CPLD进入所述标准状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当所述延时管脚和所述系统上电管脚均为有效信号时,则所述CPLD从所述标准状态启动到全功能预处理状态;
所述CPLD进入所述全功能预处理状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测系统所有PSU上电管脚和系统上电转储失败管脚,当所有PSU上电管脚和所述系统上电转储失败管脚均为无效信号时,则所述CPLD从所述全功能预处理状态启动到全功能状态;
所述CPLD进入所述全功能状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测所述延时管脚的状态,当所述延时管脚为无效信号时,则所述CPLD从所述全功能状态进入到标准状态。
其中,所述当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源,包括:
将所述CPLD的转储初始化管脚设置为有效信号,所述CPLD从全功能状态进入到转储初始化状态;
所述CPLD进入所述转储初始化状态,检测所述系统上电转储失败管脚和所述PSU上电管脚的状态,当所述系统上电转储失败管脚为有效信号,且所述PSU上电管脚为无效信号时,则所述CPLD从所述转储初始化状态进入到转储预处理状态;
当检测到所述系统所有上电管脚和所述延时管脚均为无效信号,则所述CPLD从所述转储预处理状态进入到备用电池测试延时状态;
所述CPLD进入所述备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,所述PSU上电管脚为无效信号、所述系统上电转储失败管脚为有效信号且所述备电测试管脚为有效信号时,延迟第二预设时间后返回到所述转储初始化状态;
所述存储系统进入所述转储初始化状态,则所述存储系统进行IO预处理操作,所述CPLD将电源从所述主电源切换至所述备用电源。
其中,所述从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域,包括:
所述存储系统进入所述转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当所述PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化所述CPLD进入所述转储初始化状态;
所述CPLD进入所述转储初始化状态,则检测所述系统掉电确认管脚的状态,当所述系统掉电确认管脚为有效信号时,所述CPLD进入转储状态;
当所述存储系统进入所述转储状态时,则所述存储系统进行数据安全保护状态,所述CPLD切换到所述备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的所述存储区域。
一种电源切换系统,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述系统包括:
检测单元,用于检测主电源侧的掉电信号;
切换单元,用于当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源;
存储单元,用于从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域。
优选的,还包括:
CPLD启动单元,用于所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态。
其中,所述CPLD启动单元包括:
第一启动单元,用于所述主电源正常工作状态下,所述CPLD上电初始化管脚状态,当检测到所述主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则所述CPLD从所述关闭状态启动到标准预处理状态;
第二启动单元,用于所述CPLD进入所述标准预处理状态,检测PCH上电管脚的状态,当所述PCH上电管脚为有效信号时,则所述CPLD从所述标准预处理状态启动到标准状态;
第三启动单元,用于所述CPLD进入所述标准状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当所述延时管脚和所述系统上电管脚均为有效信号时,则所述CPLD从所述标准状态启动到全功能预处理状态;
第四启动单元,用于所述CPLD进入所述全功能预处理状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测系统所有PSU上电管脚和系统上电转储失败管脚,当所有PSU上电管脚和所述系统上电转储失败管脚均为无效信号时,则所述CPLD从所述全功能预处理状态启动到全功能状态;
第五启动单元,用于所述CPLD进入所述全功能状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测所述延时管脚的状态,当所述延时管脚为无效信号时,则所述CPLD从所述全功能状态进入到标准状态。
其中,所述切换单元包括:
第一切换单元,用于将所述CPLD的转储初始化管脚设置为有效信号,所述CPLD从全功能状态进入到转储初始化状态;
第二切换单元,用于所述CPLD进入所述转储初始化状态,检测所述系统上电转储失败管脚和所述PSU上电管脚的状态,当所述系统上电转储失败管脚为有效信号,且所述PSU上电管脚为无效信号时,则所述CPLD从所述转储初始化状态进入到转储预处理状态;
第三切换单元,用于当检测到所述系统所有上电管脚和所述延时管脚均为无效信号,则所述CPLD从所述转储预处理状态进入到备用电池测试延时状态;
第四切换单元,用于所述CPLD进入所述备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,所述PSU上电管脚为无效信号、所述系统上电转储失败管脚为有效信号且所述备电测试管脚为有效信号时,延迟第二预设时间后返回到所述转储初始化状态;
第五切换单元,用于所述存储系统进入所述转储初始化状态,则所述存储系统进行IO预处理操作,所述CPLD将电源从所述主电源切换至所述备用电源。
其中,所述存储单元包括:
第一转换单元,用于所述存储系统进入所述转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当所述PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化所述CPLD进入所述转储初始化状态;
第二转换单元,用于所述CPLD进入所述转储初始化状态,则检测所述系统掉电确认管脚的状态,当所述系统掉电确认管脚为有效信号时,所述CPLD进入转储状态;
存储子单元,用于当所述存储系统进入所述转储状态时,则所述存储系统进行数据安全保护状态,所述CPLD切换到所述备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的所述存储区域。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种电源切换方法及系统,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,本发明采用CPLD硬件平台执行掉电监测,能够通过并行流水的优化方式控制各个功能硬件模块的电源,从而改善功能模块上电掉电实时性,与通用处理器CPU硬件控制电源模块相比,本发明采用C语言开发并与CPLD协处理器协同工作,能够有效的改善电源控制实现效率,减少电源控制实现的开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种电源切换方法的流程示意图;
图2为本发明实施例面向存储系统电源掉电检测方法实现过程示意图;
图3为本发明实施例提供的一种电源切换系统的结构示意图。
具体实施方式
缩略词解释:
PSU(Power Supply Unit,电源供电设备);
CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件);
GPIO(General-Purpose Input/Output Ports,通用I/O端口)。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明采用C高级语言进行硬件电源掉电监测的描述,使用通用处理器CPU进行主机端运行主程序,CPLD作为协处理器进行电源监测的硬件加速单元,通过Linux内核驱动对硬件进行实施有效的监测,并确保软件上层进行掉电保护机制处理的有效性。使用CPLD作为协处理器,能够有效的提升硬件监测的执行性能,同时这种实现方式能够有效缩短硬件掉电信号到基于CPLD的切换备电及CPU处理的时间,提高存储系统异常处理的能力。
具体实施过程如下:采用C高级语言完成监测机制的描述,分别生成在通用处理器CPU上运行的主机端程序,以及监测CPLD信号的内核Kernel驱动程序。然后采用GCC编译器对主机端程序及驱动进行编译,生成可在通用处理器上执行的可执行程序文件和驱动程序文件;采用Quartus工具对CPLD上程序进行编译,生成可以运行POF文件。最后,烧写CPLD的程序并在通用处理器CPU上插入内核驱动模块,运行主机端的程序,CPU与CPLD之间采用通用GPIO连接,进行信号传递。
请参阅附图1,图1为本发明实施例提供的一种电源切换方法的流程示意图。如图1所示,本实施例提供了一种电源切换方法,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述方法具体包括如下步骤:
S101、检测主电源侧的掉电信号。
需要说明的是,在该步骤之前还包括:
主电源正常工作状态下,上电启动CPLD,将CPLD从关闭状态启动到全功能状态。
具体的,主电源正常工作状态下,上电启动CPLD,将CPLD从关闭状态启动到全功能状态,具体包括:
主电源正常工作状态下,CPLD上电初始化管脚状态,当检测到主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则CPLD从所述关闭状态启动到标准预处理状态;
CPLD进入标准预处理状态,检测PCH上电管脚的状态,当PCH上电管脚为有效信号时,则CPLD从标准预处理状态启动到标准状态;
CPLD进入标准状态,检测PSU上电管脚的状态,当PSU上电管脚为无效信号时,则CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当延时管脚和系统上电管脚均为有效信号时,则CPLD从标准状态启动到全功能预处理状态;
CPLD进入全功能预处理状态,检测PSU上电管脚的状态,当PSU上电管脚为无效信号时,则CPLD进入关闭状态,检测系统所有PSU上电管脚和系统上电转储失败管脚,当所有PSU上电管脚和系统上电转储失败管脚均为无效信号时,则CPLD从全功能预处理状态启动到全功能状态;
CPLD进入全功能状态,检测PSU上电管脚的状态,当PSU上电管脚为无效信号时,则CPLD进入关闭状态,检测延时管脚的状态,当延时管脚为无效信号时,则CPLD从全功能状态进入到标准状态。
S102、当检测主电源侧的掉电信号为有效信号时,CPLD将电源从主电源切换至备用电源。
需要说明的是,当检测主电源侧的掉电信号为有效信号时,CPLD将电源从主电源切换至备用电源,具体包括:
将CPLD的转储初始化管脚设置为有效信号,CPLD从全功能状态进入到转储初始化状态;
CPLD进入转储初始化状态,检测系统上电转储失败管脚和PSU上电管脚的状态,当系统上电转储失败管脚为有效信号,且PSU上电管脚为无效信号时,则CPLD从转储初始化状态进入到转储预处理状态;
当检测到系统所有上电管脚和延时管脚均为无效信号,则CPLD从转储预处理状态进入到备用电池测试延时状态;
CPLD进入备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,PSU上电管脚为无效信号、系统上电转储失败管脚为有效信号且备电测试管脚为有效信号时,延迟第二预设时间后返回到转储初始化状态;
存储系统进入转储初始化状态,则存储系统进行IO预处理操作,CPLD将电源从主电源切换至所述备用电源。
S103、从主电源切换至备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域。
需要说明的是,从主电源切换至备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域,具体包括:
存储系统进入转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化CPLD进入转储初始化状态;
CPLD进入转储初始化状态,则检测系统掉电确认管脚的状态,当系统掉电确认管脚为有效信号时,CPLD进入转储状态;
当存储系统进入转储状态时,则存储系统进行数据安全保护状态,CPLD切换到备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的存储区域。
具体的,请参阅附图2,图2为本发明实施例面向存储系统电源掉电检测方法实现过程示意图。
主机端内核驱动模块及程序实现时主要包括以下步骤:
需要说明的是,以下描述的内容中有效信号对应图2中的管脚为1则表明为有效信号,管脚为0则表明为无效信号。
1、CPLD上电初始化管脚状态,监测AC上电PSU掉电管脚(ac_good_n)有效和PSU在位PSU在位管脚(psu_presnet_n)有效时,CPLD从关机阶段进入标准预处理阶段;
2、CPLD进入标准预处理阶段后,检测PCH上电管脚(pwrgd_pch_apwrok_pld)的状态,如果PCH上电管脚(pwrgd_pch_apwrok_pld)为有效时,CPLD从标准预处理阶段进入标准阶段,否则持续等待;
3、CPLD进入标准阶段后,.检测PSU掉电管脚(ac_good_n)的状态,如过PSU掉电管脚(ac_good_n)的状态为无效时,CPLD进入关机阶段;检测硬件延时管脚(fm_slps3_n_flt)和系统上电管脚(sys_pwrup),两个管脚均为有效时,CPLD从标准阶段进入全功能预处理阶段,否则等待;
4、CPLD进入全功能预处理阶段后,检测PSU掉电管脚(ac_good_n)的状态,如过PSU掉电管脚(ac_good_n)的状态为无效时,CPLD进入关机阶段;检测系统全部上电管脚(pwrgd_all)和系统上电转储失败管脚(pwrgd_undumped_fail)均为有效时,CPLD进入全功能阶段;
5、CPLD进入全功能阶段后,检测PSU掉电管脚(ac_good_n)的状态,如过PSU掉电管脚(ac_good_n)的状态为无效时,CPLD进入关机阶段;如果硬件延时管脚(fm_slps3_n_flt)为无效,则进入标准阶段;
6、内核驱动模块,初始化IO定时器,把IO定时器添加到内核定时器处理队列中,创建IO定时器设备文件/dev/module_name;
7、主机端程序打开设备文件/dev/module_name,创建电源掉电监测队列,主机端程序创建掉电监测线程,并初始化IO管脚,等待电源掉电监测队列事件;
8、主机端程序把转储初始化管脚(dump_armed_n_flt)设置为有效,促使CPLD从全功能阶段进入转储初始化阶段。当CPLD进入此阶段时,主机程序已经全速运行,并实时检测掉电信号;
9、CPLD进入转储初始化阶段后,此阶段为最终阶段,也就是掉电监测最后一个重要环节。在此环节中,当系统上电转储失败管脚(pwrgd_undumped_fail)为有效时,PSU掉电管脚(ac_good_n)为无效时,存储系统进入转储预处理阶段;如果系统掉电确认管脚(ok_redunce_pwr_flt)为有效,则存储系统进入转储阶段;如果系统全部上电管脚(pwrgd_all)为无效,硬件延时管脚(fm_slps3_n_flt)为无效则进入标准阶段;如果备电测试管脚(bbu_test_n_flt)为无效,则进入备用电池测试延时阶段;
10、如果存储系统进入电池测试延时阶段,则系统根据延时10s后进入正式备用电池测试阶段。该阶段会测试备用电池的可靠性,并根据电池测试延时管脚(bat_test_timeout)有效,PSU掉电管脚(ac_good_n)无效,系统上电转储失败管脚(pwrgd_undumped_fail)有效,bbu_test_n_flt有效,延迟55s后重新回到转储初始化阶段;
11、如果存储系统进入转储预处理阶段,则存储系统进行IO预处理操作,CPLD切换备用电源。该阶段在5S内每个50ms进行IO掉电循环监测,当PSU掉电管脚(ac_good_n)为有效时,则系统进入转储初始化延时阶段并重新进入初始化CPLD进入转储初始化阶段;如果此时系统掉电确认管脚(ok_redunce_pwr_flt)为有效,则进入转储阶段;
12、存储系统如果进入转储阶段,则存储系统进行数据安全保护阶段,CPLD切换备用电源,主程序对数据进行现场保护,把当前内存中所有的数据写入到磁盘中,写入完毕后系统进入重启,进入关闭阶段。
本发明提供了一种电源切换方法,该方法采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,本发明采用CPLD硬件平台执行掉电监测,能够通过并行流水的优化方式控制各个功能硬件模块的电源,从而改善功能模块上电掉电实时性,与通用处理器CPU硬件控制电源模块相比,本发明采用C语言开发并与CPLD协处理器协同工作,能够有效的改善电源控制实现效率,减少电源控制实现的开发周期。
本发明在上述公开的方法的基础上,还公开了对应的系统。
下面对本发明实施例提供的内存垃圾回收系统进行介绍,需要说明的是,有关该内存垃圾回收系统的说明可参照上文提供的内存垃圾回收方法,以下并不做赘述。
请参阅附图3,图3为本发明实施例提供的一种电源切换系统的结构示意图。如图3所示,本实施例提供了一种电源切换系统,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述系统结构具体包括如下:
检测单元301,用于检测主电源侧的掉电信号;
切换单元302,用于当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源;
存储单元303,用于从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域。
具体的,该系统还包括:
CPLD启动单元,用于所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态。
具体的,所述CPLD启动单元包括:
第一启动单元,用于所述主电源正常工作状态下,所述CPLD上电初始化管脚状态,当检测到所述主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则所述CPLD从所述关闭状态启动到标准预处理状态;
第二启动单元,用于所述CPLD进入所述标准预处理状态,检测PCH上电管脚的状态,当所述PCH上电管脚为有效信号时,则所述CPLD从所述标准预处理状态启动到标准状态;
第三启动单元,用于所述CPLD进入所述标准状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当所述延时管脚和所述系统上电管脚均为有效信号时,则所述CPLD从所述标准状态启动到全功能预处理状态;
第四启动单元,用于所述CPLD进入所述全功能预处理状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测系统所有PSU上电管脚和系统上电转储失败管脚,当所有PSU上电管脚和所述系统上电转储失败管脚均为无效信号时,则所述CPLD从所述全功能预处理状态启动到全功能状态;
第五启动单元,用于所述CPLD进入所述全功能状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测所述延时管脚的状态,当所述延时管脚为无效信号时,则所述CPLD从所述全功能状态进入到标准状态。
具体的,所述切换单元302包括:
第一切换单元,用于将所述CPLD的转储初始化管脚设置为有效信号,所述CPLD从全功能状态进入到转储初始化状态;
第二切换单元,用于所述CPLD进入所述转储初始化状态,检测所述系统上电转储失败管脚和所述PSU上电管脚的状态,当所述系统上电转储失败管脚为有效信号,且所述PSU上电管脚为无效信号时,则所述CPLD从所述转储初始化状态进入到转储预处理状态;
第三切换单元,用于当检测到所述系统所有上电管脚和所述延时管脚均为无效信号,则所述CPLD从所述转储预处理状态进入到备用电池测试延时状态;
第四切换单元,用于所述CPLD进入所述备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,所述PSU上电管脚为无效信号、所述系统上电转储失败管脚为有效信号且所述备电测试管脚为有效信号时,延迟第二预设时间后返回到所述转储初始化状态;
第五切换单元,用于所述存储系统进入所述转储初始化状态,则所述存储系统进行IO预处理操作,所述CPLD将电源从所述主电源切换至所述备用电源。
具体的,所述存储单元303包括:
第一转换单元,用于所述存储系统进入所述转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当所述PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化所述CPLD进入所述转储初始化状态;
第二转换单元,用于所述CPLD进入所述转储初始化状态,则检测所述系统掉电确认管脚的状态,当所述系统掉电确认管脚为有效信号时,所述CPLD进入转储状态;
存储子单元,用于当所述存储系统进入所述转储状态时,则所述存储系统进行数据安全保护状态,所述CPLD切换到所述备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的所述存储区域。
本发明提供了一种电源切换系统,该系统采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,本发明采用CPLD硬件平台执行掉电监测,能够通过并行流水的优化方式控制各个功能硬件模块的电源,从而改善功能模块上电掉电实时性,与通用处理器CPU硬件控制电源模块相比,本发明采用C语言开发并与CPLD协处理器协同工作,能够有效的改善电源控制实现效率,减少电源控制实现的开发周期。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和特点相一致的最宽的范围。
Claims (6)
1.一种电源切换方法,其特征在于,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述方法包括:
所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态;
检测主电源侧的掉电信号;
当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源;
从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域;
其中,所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态,包括:
所述主电源正常工作状态下,所述CPLD上电初始化管脚状态,当检测到所述主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则所述CPLD从所述关闭状态启动到标准预处理状态;
所述CPLD进入所述标准预处理状态,检测PCH上电管脚的状态,当所述PCH上电管脚为有效信号时,则所述CPLD从所述标准预处理状态启动到标准状态;
所述CPLD进入所述标准状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当所述延时管脚和所述系统上电管脚均为有效信号时,则所述CPLD从所述标准状态启动到全功能预处理状态;
所述CPLD进入所述全功能预处理状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测系统上电转储失败管脚和系统所有PSU上电管脚,当所述系统上电转储失败管脚和所述系统所有PSU上电管脚均为无效信号时,则所述CPLD从所述全功能预处理状态启动到全功能状态;
所述CPLD进入所述全功能状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测所述延时管脚的状态,当所述延时管脚为无效信号时,则所述CPLD从所述全功能状态进入到标准状态。
2.根据权利要求1所述的电源切换方法,其特征在于,所述当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源,包括:
将所述CPLD的转储初始化管脚设置为有效信号,所述CPLD从全功能状态进入到转储初始化状态;
所述CPLD进入所述转储初始化状态,检测所述系统上电转储失败管脚和所述PSU上电管脚的状态,当所述系统上电转储失败管脚为有效信号,且所述PSU上电管脚为无效信号时,则所述CPLD从所述转储初始化状态进入到转储预处理状态;
当检测到所述延时管脚和所述系统所有PSU上电管脚均为无效信号,则所述CPLD从所述转储预处理状态进入到备用电池测试延时状态;
所述CPLD进入所述备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,所述PSU上电管脚为无效信号、所述系统上电转储失败管脚为有效信号且备电测试管脚为有效信号时,延迟第二预设时间后返回到所述转储初始化状态;
所述存储系统进入所述转储初始化状态,则所述存储系统进行IO预处理操作,所述CPLD将电源从所述主电源切换至所述备用电源。
3.根据权利要求2所述的电源切换方法,其特征在于,所述从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域,包括:
所述存储系统进入所述转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当所述PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化所述CPLD进入所述转储初始化状态;
所述CPLD进入所述转储初始化状态,则检测所述系统掉电确认管脚的状态,当所述系统掉电确认管脚为有效信号时,所述CPLD进入转储状态;
当所述存储系统进入所述转储状态时,则所述存储系统进行数据安全保护状态,所述CPLD切换到所述备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的所述存储区域。
4.一种电源切换系统,其特征在于,采用CPLD复杂可编程逻辑处理器作为协处理器进行电源检测,实现主电源和备用电源的切换,所述系统包括:
CPLD启动单元,用于所述主电源正常工作状态下,上电启动所述CPLD,将所述CPLD从关闭状态启动到全功能状态;
检测单元,用于检测主电源侧的掉电信号;
切换单元,用于当检测所述主电源侧的掉电信号为有效信号时,所述CPLD将电源从所述主电源切换至所述备用电源;
存储单元,用于从所述主电源切换至所述备用电源的同时,将当前内存中所有的数据存储至磁盘上的存储区域;
其中,所述CPLD启动单元包括:
第一启动单元,用于所述主电源正常工作状态下,所述CPLD上电初始化管脚状态,当检测到所述主电源的PSU掉电管脚和PSU在位管脚为有效信号时,则所述CPLD从所述关闭状态启动到标准预处理状态;
第二启动单元,用于所述CPLD进入所述标准预处理状态,检测PCH上电管脚的状态,当所述PCH上电管脚为有效信号时,则所述CPLD从所述标准预处理状态启动到标准状态;
第三启动单元,用于所述CPLD进入所述标准状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测延时管脚和系统上电管脚,当所述延时管脚和所述系统上电管脚均为有效信号时,则所述CPLD从所述标准状态启动到全功能预处理状态;
第四启动单元,用于所述CPLD进入所述全功能预处理状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测系统上电转储失败管脚和系统所有PSU上电管脚,当所述系统上电转储失败管脚和所述系统所有PSU上电管脚均为无效信号时,则所述CPLD从所述全功能预处理状态启动到全功能状态;
第五启动单元,用于所述CPLD进入所述全功能状态,检测所述PSU上电管脚的状态,当所述PSU上电管脚为无效信号时,则所述CPLD进入所述关闭状态,检测所述延时管脚的状态,当所述延时管脚为无效信号时,则所述CPLD从所述全功能状态进入到标准状态。
5.根据权利要求4所述的电源切换系统,其特征在于,所述切换单元包括:
第一切换单元,用于将所述CPLD的转储初始化管脚设置为有效信号,所述CPLD从全功能状态进入到转储初始化状态;
第二切换单元,用于所述CPLD进入所述转储初始化状态,检测所述系统上电转储失败管脚和所述PSU上电管脚的状态,当所述系统上电转储失败管脚为有效信号,且所述PSU上电管脚为无效信号时,则所述CPLD从所述转储初始化状态进入到转储预处理状态;
第三切换单元,用于当检测到所述延时管脚和所述系统所有PSU上电管脚均为无效信号,则所述CPLD从所述转储预处理状态进入到备用电池测试延时状态;
第四切换单元,用于所述CPLD进入所述备用电池测试延时状态,则系统根据第一预设时间延时后进入备用电池测试状态,当检测到电池测试延时管脚为有效信号,所述PSU上电管脚为无效信号、所述系统上电转储失败管脚为有效信号且备电测试管脚为有效信号时,延迟第二预设时间后返回到所述转储初始化状态;
第五切换单元,用于所述存储系统进入所述转储初始化状态,则所述存储系统进行IO预处理操作,所述CPLD将电源从所述主电源切换至所述备用电源。
6.根据权利要求5所述的电源切换系统,其特征在于,所述存储单元包括:
第一转换单元,用于所述存储系统进入所述转储初始化状态,按照预设时间间隔进行IO掉电循环监测,当所述PSU上电管脚为有效信号时,则存储系统进入转储初始化延时状态并重新进入初始化所述CPLD进入所述转储初始化状态;
第二转换单元,用于所述CPLD进入所述转储初始化状态,则检测所述系统掉电确认管脚的状态,当所述系统掉电确认管脚为有效信号时,所述CPLD进入转储状态;
存储子单元,用于当所述存储系统进入所述转储状态时,则所述存储系统进行数据安全保护状态,所述CPLD切换到所述备用电源,将当前内存中所有的数据存储至磁盘上的存储区域磁盘上的所述存储区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710525274.6A CN107291207B (zh) | 2017-06-30 | 2017-06-30 | 一种电源切换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710525274.6A CN107291207B (zh) | 2017-06-30 | 2017-06-30 | 一种电源切换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291207A CN107291207A (zh) | 2017-10-24 |
CN107291207B true CN107291207B (zh) | 2020-03-06 |
Family
ID=60098295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710525274.6A Active CN107291207B (zh) | 2017-06-30 | 2017-06-30 | 一种电源切换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291207B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108983940B (zh) * | 2018-03-19 | 2021-06-01 | 超越科技股份有限公司 | 一种双控存储掉电保护系统 |
CN108802627B (zh) * | 2018-06-26 | 2021-05-25 | 郑州云海信息技术有限公司 | Bbu独立供电的测试方法、装置、系统及可读存储介质 |
CN109065085A (zh) * | 2018-08-23 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种存储设备的供电电路及方法 |
CN114564096B (zh) * | 2022-02-28 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种备电保护的控制方法、系统及相关组件 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106300638A (zh) * | 2016-08-30 | 2017-01-04 | 株洲中车时代电气股份有限公司 | 一种低电压掉电延时控制装置及控制方法 |
CN106655459A (zh) * | 2016-12-06 | 2017-05-10 | 河南省安耐德电力设备有限公司 | 一种双电源切换控制装置 |
CN106888100A (zh) * | 2017-03-31 | 2017-06-23 | 新华三技术有限公司 | 以太网供电交换机及其供电方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9755822B2 (en) * | 2013-06-19 | 2017-09-05 | Cryptography Research, Inc. | Countermeasure to power analysis attacks through time-varying impedance of power delivery networks |
CN106557143B (zh) * | 2015-09-28 | 2020-02-28 | 伊姆西Ip控股有限责任公司 | 用于数据存储设备的装置和方法 |
-
2017
- 2017-06-30 CN CN201710525274.6A patent/CN107291207B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106300638A (zh) * | 2016-08-30 | 2017-01-04 | 株洲中车时代电气股份有限公司 | 一种低电压掉电延时控制装置及控制方法 |
CN106655459A (zh) * | 2016-12-06 | 2017-05-10 | 河南省安耐德电力设备有限公司 | 一种双电源切换控制装置 |
CN106888100A (zh) * | 2017-03-31 | 2017-06-23 | 新华三技术有限公司 | 以太网供电交换机及其供电方法 |
Non-Patent Citations (1)
Title |
---|
《DWDM系统中OSC信号处理的研究》;庞琳娜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107291207A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291207B (zh) | 一种电源切换方法及系统 | |
US20240086269A1 (en) | Method, Apparatus and System for Locating Fault of Server, and Computer-readable Storage Medium | |
US8381034B2 (en) | Method for testing server supporting intelligent platform management interface | |
CN107122321B (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
US7774648B2 (en) | Microprocessor supervision in a special purpose computer system | |
US8489932B2 (en) | Server system and crash dump collection method | |
CN102103406B (zh) | 操作系统无关的网络事件处理 | |
US20120079328A1 (en) | Information processing apparatus | |
JP2004152304A (ja) | Ac電源障害の場合にスタンバイ状態にあるパーソナルコンピュータの状態データを保持するためのシステムおよび方法 | |
WO2018045922A1 (zh) | 一种备电方法及装置 | |
CN103729220A (zh) | 一种利用ec rom恢复bios rom的方法及装置 | |
CN101937344B (zh) | 一种计算机快速启动的装置及方法 | |
CA2787412A1 (en) | Method and system for programmable power state change in a system-on-a-chip device | |
JP2011258032A (ja) | 情報処理装置 | |
KR20200002603A (ko) | 지속적 메모리가 인에이블된 플랫폼들에 대한 전원 버튼 오버라이드 | |
CN115237644B (zh) | 系统故障处理方法、中央运算单元以及车辆 | |
CN105389525A (zh) | 刀片服务器的管理方法和系统 | |
CN104969190A (zh) | 多核心二进制转换任务处理 | |
CN1584847B (zh) | 在交流电源不存在时的操作状态保存的方法和系统 | |
US9971535B2 (en) | Conversion method for reducing power consumption and computing apparatus using the same | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN101436097B (zh) | 电子装置及其唤醒方法 | |
CN104360935A (zh) | 一种服务器系统崩溃转储收集的方法 | |
US20160179626A1 (en) | Computer system, adaptable hibernation control module and control method thereof | |
JP2013149128A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |