CN101876910A - 双控制器磁盘存储阵列,及其升级固件方法和控制器 - Google Patents

双控制器磁盘存储阵列,及其升级固件方法和控制器 Download PDF

Info

Publication number
CN101876910A
CN101876910A CN2009102367546A CN200910236754A CN101876910A CN 101876910 A CN101876910 A CN 101876910A CN 2009102367546 A CN2009102367546 A CN 2009102367546A CN 200910236754 A CN200910236754 A CN 200910236754A CN 101876910 A CN101876910 A CN 101876910A
Authority
CN
China
Prior art keywords
controller
firmware
firmware upgrade
slave
double
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
Application number
CN2009102367546A
Other languages
English (en)
Inventor
黄文俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Innovation And Technology Storage Technology Co Ltd
Original Assignee
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Innovation And Technology Storage Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd, Innovation And Technology Storage Technology Co Ltd filed Critical CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN2009102367546A priority Critical patent/CN101876910A/zh
Publication of CN101876910A publication Critical patent/CN101876910A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种双控制器磁盘存储阵列的固件升级方法,在任一控制器进行固件升级之前,将该磁盘存储阵列的主控制权以及所有的数据应用服务转交到另一个控制器,在固件升级过程中可以通过一个控制器继续提供数据应用服务,从而可以实现不停机的固件升级。本发明还公开了一种可以实现上述方法的双控制器磁盘存储阵列以及一种控制器。

Description

双控制器磁盘存储阵列,及其升级固件方法和控制器
技术领域
本发明涉及计算机存储技术领域,特别涉及一种双控制器磁盘存储阵列,及其升级固件方法和控制器。
背景技术
磁盘存储阵列是把多个磁盘组成一个阵列当作单一磁盘使用,它将数据以条带(striping)的方式储存在不同的磁盘中。存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘存储阵列通常用于作为计算机系统中各种重要数据的存放处,要求能够提供极高的可靠性,保证数据的安全和稳定,同时,要求磁盘存储阵列能够提供常年全天24小时的不中断数据服务。
磁盘存储阵列为了达到高可靠和不中断服务的特性,通常采用了双控制器架构。图1为现有技术的双控制器磁盘存储阵列的基本架构示意图。双控制器磁盘存储阵列包括一台主机101,两台交换机(分别是交换机102和交换机103),两台控制器(分别是控制器104和控制器105,或称控制器A和控制器B),以及后端的物理磁盘组。两个控制器共同管理物理磁盘组。主机101中运行多路径输入输出(Multipath Input/Output,MPIO)软件,可以通过任一台交换机以及控制器访问物理磁盘组。根据应用需求,物理磁盘组将被划分成若干逻辑卷,每一个逻辑卷相当于一个虚拟磁盘,以逻辑单元号(Logical Unit Number,LUN)作为标识。交换机102和交换机103之间,以及控制器A和控制器B之间都是相互备份的关系。主机101可以通过其中任一个交换机以及控制器访问逻辑卷。
在双控制器架构下,当其中一个控制器发生了软件或硬件故障,另一控制器能够立即接过控制权,在不影响用户的情况下继续对外提供数据应用服务,同时通知系统管理员处理发生问题的控制器以解决故障。
图2所示为现有技术磁盘存储阵列控制器的硬件结构框图。控制器A内部包括控制单元A201、固件存储器A203和基板管理控制器(BaseboardManagement Controller,BMC)A204。其中控制单元201中还包括定时器A202。控制器B的内部结构与控制器A相同,包括控制单元B206、固件存储器B208和基板管理控制器B209,控制单元B206中还包括定时器B207。通讯接口205实现控制单元A201和控制单元B206之间的信息交互。固件存储器A203用于存储控制器A的升级固件,固件存储器B208用以存储控制器B的升级固件。
在磁盘存储阵列需要进行固件升级时,通常情况下不得不暂时停止服务,停机进行固件升级,同时在升级后,需要进行一定时间的测试运行,以保证固件升级的成功。这种情况中断了磁盘存储阵列的数据服务,使其不能做到常年全天24小时不中断服务。在很多有极高要求的应用场合,如银行、电视台、视频监控中心等,这种服务中断是不可接受的。因此要求磁盘存储阵列能有一套可靠、高效、无需停止服务的固件升级方法。
发明内容
有鉴于此,本发明的目的在于,提出一种双控制器磁盘存储阵列的固件升级方法,可以在不停止服务的情况下实现固件升级。所述双控制器包括主控制器和从控制器,该方法包括如下步骤:
A、接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;
B、从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务;
C、主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;
D、主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;
E、主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;
F、从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;
G、从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服务。
较佳地,所述步骤A包括:
A1、从控制器接收来自外部的固件升级命令,将所述固件升级命令转发至主控制器;
A2、主控制器接收来自外部的新固件,并将所述新固件写入自身的固件存储器中。
步骤A中,在子步骤A2之后进一步包括:A3、主控制器向从控制器发出进行固件升级的通知,从控制器设定自身计时器的超时时间长度,并使该计时器开始计时;
所述步骤C之后且步骤D之前,进一步包括:
从控制器判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定主控制器固件升级成功,转至所述步骤D;否则,判定主控制器固件升级失败,执行如下步骤:
从控制器将自身存储的旧固件写入主控制器;
主控制器载入所述旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。
所述步骤E进一步包括:主控制器设定从控制器的固件升级时间长度,并启动自身的计时器;
所述步骤F之后且步骤G之前,进一步包括:
主控制器判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制器是否实现了硬件重启,若是,判定从控制器固件升级成功,执行所述步骤G;否则,判定从控制器固件升级失败,转至步骤E。
较佳地,所述判定从控制器固件升级失败之后,执行如下步骤:
主控制器判断从控制器固件升级失败的次数是否达到预定值,若是则主控制器发出固件升级未完成信号。否则转至步骤E。
本发明的目的还在于,提出一种用于实现上述方法的双控制器磁盘存储阵列,所述双控制器包括主控制器和从控制器,所述主控制器具有该双控制器磁盘存储阵列的主控制权;
所述主控制器用于接收来自外部的固件升级命令和新固件,并保存所述新固件;将双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交到从控制器后,进行硬件重启,读取自身存储的新固件进行固件升级;固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务,并将新固件写入从控制器,通知从控制器进行固件升级;在从控制器固件升级成功后,将具有从控制器标识的数据应用服务转交给从控制器;
所述从控制器用于在主控制器进行固件升级之前,接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务,在主控制器成功进行固件升级后,将双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务转交给主控制器,接收来自主控制器的新固件并进行固件升级,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;在从控制器成功进行固件升级后,从主控制器接管具有从控制器标识的数据应用服务。
所述从控制器还用于在收到来自外部的固件升级命令后,将所述固件升级命令转发至主控制器。
较佳地,所述主控制器将双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交到从控制器时,向从控制器发出进行固件升级的通知;
所述从控制器进一步包括定时器B,在从控制器收到来自主控制器的进行固件升级的通知后,设定计时器B的超时时间长度,并使计时器B开始计时;从控制器进一步用于判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定主控制器固件升级成功;否则,判定主控制器固件升级失败,将自身存储的旧固件写入主控制器;
主控制器进一步用于,在固件升级失败后,载入来自从控制器的旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。
较佳地,所述主控制器进一步包括计时器A,在主控制器将新固件写入从控制器,通知从控制器进行固件升级后,设定从控制器的固件升级时间长度,并启动计时器A;
主控制器进一步用于判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制器是否实现了硬件重启,若是,判定从控制器固件升级成功;否则,判定从控制器固件升级失败,再次将新固件写入从控制器,通知从控制器进行固件升级。
本发明实施例还提出一种双控制器磁盘存储阵列中的控制器,所述控制器包括控制单元、固件存储器和基板管理控制器;
控制器单元具有的功能包括:命令的执行,数据应用服务的执行和对该双控制器磁盘存储阵列进行控制;固件存储器用于存储本地控制器的固件;基板管理控制器用于实现本地控制器的硬件重启,加载本地固件存储器中的固件进行固件升级;
所述控制单元、固件存储器和基板管理控制器统一接入数据总线,且所述数据总线连接该双控制器磁盘存储阵列中的对端控制器;
所述控制器作为该双控制器磁盘存储阵列的主控制器时,所述控制单元接收来自外部的固件升级命令和新固件,并将所述新固件保存在本地固件存储器中,将双控制器磁盘存储阵列的主控制权以及本控制器的数据应用服务通过所述数据总线转交到对端控制器;在本地基板管理控制器成功实现固件升级后,所述控制单元接管双控制器磁盘存储阵列的主控制权以及对端控制器上的全部数据应用服务,并将本地固件存储器中的新固件通过所述数据总线写入对端控制器,通知对端控制器进行固件升级;在对端控制器固件升级成功后,通过所述数据总线将属于对端控制器的数据应用服务转交给对端控制器。
所述控制器进一步包括计时器,当控制单元将本地固件存储器中的新固件通过所述数据总线写入对端控制器,通知对端控制器进行固件升级后,设定固件升级时间长度,并启动所述计时器;
控制单元进一步用于判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,对端控制器是否实现了硬件重启,若是,判定对端控制器固件升级成功;否则,判定对端控制器固件升级失败,再次将新固件写入对端控制器,通知对端控制器进行固件升级。
若所述基板管理控制器固件升级失败;
则所述固件存储器进一步用于通过所述数据总线接收来自对端控制器的旧固件;所述基板管理控制器进一步用于载入所述旧固件,并还原到固件升级之前的状态;所述控制单元用于通过所述数据总线从对端控制器接管双控制器磁盘存储阵列的主控制权以及原属于本地的数据应用服务。
本发明实施例还提出另一种双控制器磁盘存储阵列中的控制器,所述控制器包括控制单元、固件存储器和基板管理控制器;
控制器单元具有的功能包括:命令的执行,数据应用服务的执行和对该双控制器磁盘存储阵列进行控制;固件存储器用于存储本地控制器的固件;基板管理控制器用于实现本地控制器的硬件重启,加载本地固件存储器中的固件进行固件升级;
所述控制单元、固件存储器和基板管理控制器统一接入数据总线,且所述数据总线连接该双控制器磁盘存储阵列中的对端控制器;
所述控制器作为该双控制器磁盘存储阵列的从控制器时,所述控制单元用于在对端控制器进行固件升级之前,通过所述数据总线接管该双控制器磁盘存储阵列的主控制权以及对端控制器上的数据应用服务;在对端控制器成功进行固件升级后,将双控制器磁盘存储阵列的主控制权以及本地所有的数据应用服务转交给对端控制器;固件存储器通过所述数据总线接收并存储来自对端控制器的新固件;基板管理控制器进行硬件重启并加载所述新固件进行固件升级;在成功进行固件升级后,所述控制单元通过所述数据总线从对端控制器接管原属于本地控制器的数据应用服务。
所述控制单元进一步用于在收到来自外部的固件升级命令后,将所述固件升级命令通过所述数据总线转发至对端控制器。
所述控制单元进一步包括计时器,所述控制单元收到来自对端控制器的进行固件升级的通知后,设定计时器的超时时间长度,并使计时器开始计时;控制单元进一步用于判断所述计时器的计时长度达到超时时间长度之前,对端控制器是否实现了硬件重启,若是,判定对端控制器固件升级成功;否则,判定对端控制器固件升级失败,将本地固件存储器中存储的旧固件通过所述数据总线写入对端控制器。
从以上技术方案可以看出,在任一控制器进行固件升级之前,将该磁盘存储阵列的主控制权以及所有的数据应用服务转交到另一个控制器,在固件升级过程中可以通过一个控制器继续提供数据应用服务,从而可以实现不停机的固件升级。
附图说明
图1为现有技术的双控制器磁盘存储阵列的基本架构示意图;
图2为现有技术双控制器磁盘存储阵列控制器的硬件结构框图;
图3为本发明实施例的双控制器磁盘存储阵列控制器的硬件结构框图;
图4为本发明实施例的双控制器磁盘存储阵列进行固件升级的基本流程图;
图5为本发明实施例的双控制器磁盘存储阵列的完整固件升级流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
针对磁盘存储阵列所要求的高可靠性和高可用性,本发明提出了一种磁盘存储阵列的固件升级方法,满足磁盘存储阵列在进行固件升级时无需停机,自动检测升级成功性,无需中断服务的要求。
图3示出了本发明实施例的磁盘存储阵列控制器的硬件结构,包括两块控制器:控制器A和控制器B。每个控制器包括带有计时器的控制单元、固件存储器A和BMC控制器。与现有技术不同的是,控制器A和控制器B之间的通信不是通过控制单元之间的通讯接口,而是通过连接这两个控制器的数据总线来实现。
具体地说,控制器A包括控制单元A301、固件存储器A303和BMC控制器A304。控制单元301中包括计时器A302。控制器B包括控制单元B305、固件存储器B307和BMC控制器B308。控制单元305中包括计时器B306。控制器A和控制器B的上述各个模块统一接入数据总线309。
在这种情况下,总线309形成跨越控制器A和控制器B的数据通路,使得一端控制器的控制单元能够操作另一端控制器的固件存储器和BMC控制器。
控制器单元A301和控制单元B305负责命令的执行,数据应用服务的执行,对该双控制器磁盘存储阵列进行控制。
计时器A302和计时器B306为控制单元内用于时间测量的控制设备,当设定了计时时间且时间运行到时,能出发控制单元执行一定操作。在本实施例中主要负责升级时间的计时。
固件存储器A303和固件存储器B307为系统固件存放之处,每块控制器对应的固件存储器分别存储控制器自身的固件。
BMC控制器A304和BMC控制器B308为基板管理控制器,用于控制系统电源加载,系统重置,硬件监控等操作。
以下假设控制器A为主控制器,控制器B为从控制器进行描述。
控制单元A301接收来自外部的固件升级命令和新固件,并将所述新固件保存在固件存储器A303中,将双控制器磁盘存储阵列的主控制权以及控制器A的数据应用服务通过数据总线309转交到控制器B;在BMC控制器A304成功实现固件升级后,控制单元A301接管双控制器磁盘存储阵列的主控制权以及控制器B上的全部数据应用服务,并将固件存储器A303中的新固件通过数据总线309写入控制器B,通知控制器B进行固件升级;在控制器B固件升级成功后,通过数据总线309将属于控制器B的数据应用服务转交给控制器B。
其中,当控制单元A301将固件存储器A303中的新固件通过数据总线309写入控制器B,通知控制器B进行固件升级后,设定固件升级时间长度,并启动所述计时器A302;
控制单元A301进一步用于判断在计时器A302的计时长度达到所设定的固件升级时间长度之前,控制器B是否实现硬件重启,若是,判定控制器B固件升级成功;否则,判定控制器B固件升级失败,再次将新固件写入控制器B,通知控制器B进行固件升级。
若所述BMC控制器A304固件升级失败;
则所述固件存储器303A进一步用于通过数据总线309接收来自控制器B的旧固件;所述BMC控制器304A进一步用于载入所述旧固件,并还原到固件升级之前的状态;控制单元A301用于通过数据总线309从控制器B接管双控制器磁盘存储阵列的主控制权以及原属于本地的数据应用服务。
所述控制单元B305用于在控制器A进行固件升级之前,通过数据总线309接管该双控制器磁盘存储阵列的主控制权以及控制器A上的数据应用服务;在控制器A成功进行固件升级后,将双控制器磁盘存储阵列的主控制权以及本地所有的数据应用服务转交给控制器A;固件存储器B307通过数据总线309接收并存储来自控制器A的新固件;BMC控制器B308进行硬件重启并加载所述新固件进行固件升级;在成功进行固件升级后,控制单元B305通过所述数据总线309从控制器A接管原属于控制器B的数据应用服务。
所述控制单元B305进一步用于在收到来自外部的固件升级命令后,将所述固件升级命令通过所述数据总线309转发至控制器A。
较佳地,所述控制单元B305进一步包括计时器B306,控制单元B305收到来自控制器A的进行固件升级的通知后,设定计时器B306的超时时间长度,并使计时器B306开始计时;控制单元B305进一步用于判断所述计时器B306的计时长度达到超时时间长度之前,控制器A是否实现了硬件重启,若是,判定控制器A固件升级成功;否则,判定控制器A固件升级失败,将固件存储器B307中存储的旧固件通过所述数据总线309写入控制器A。
本发明实施例提出一种双控制器磁盘存储阵列的升级固件方法,该方法的基本流程如图4所示,包括如下步骤:
步骤401:接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;
步骤402:从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务;
步骤403:主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;
步骤404:主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;
步骤405:主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;
步骤406:从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;
步骤407:从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服务。较佳地,所述步骤401包括:
A1、从控制器接收来自外部的固件升级命令,将所述固件升级命令转发至主控制器;
A2、主控制器接收来自外部的新固件,并将所述新固件写入自身的固件存储器中。
上述流程中没有考虑到升级失败的情况。如果要对升级失败的情况进行处理,则在步骤401中,在子步骤A2之后还可以进一步包括:A3、主控制器向从控制器发出进行固件升级的通知,从控制器设定自身计时器的超时时间长度,并使该计时器开始计时;
所述步骤403之后且步骤404之前,还可以进一步包括:
从控制器判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定主控制器固件升级成功,转至所述步骤404;否则,判定主控制器固件升级失败,执行如下步骤:
从控制器将自身存储的旧固件写入主控制器;
主控制器载入所述旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。
较佳地,所述步骤405还可以进一步包括:主控制器设定从控制器的固件升级时间长度,并启动自身的计时器;
所述步骤406之后且步骤407之前,进一步包括:
主控制器判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制器是否实现了硬件重启,若是,判定从控制器固件升级成功,执行所述步骤407;否则,判定从控制器固件升级失败,转至步骤406。
较佳地,所述判定从控制器固件升级失败之后,执行如下步骤:
主控制器判断从控制器固件升级失败的次数是否达到预定值,若是则主控制器发出固件升级未完成信号。否则转至步骤405。
假设控制器A作为系统主控制器,控制器B为系统从控制器,如图5所示为一个双控制器磁盘存储阵列的完整固件升级流程,包括如下步骤:
步骤501:接收来自外部的固件升级命令。若升级命令从控制器B传入,则控制器B将其转发至主控制器即控制器A,确保由系统主控制器接收并执行命令。
步骤502:控制器A接收外部传入的新固件,并将新固件写入自身对应的固件存储器A。完成写入后,通知控制器B进行固件升级,并通知控制器B设定计时器的超时时间。
步骤503:控制器B接管系统主控制权,并接管控制器A上的数据应用服务,确保在固件升级期间能保证提供数据应用服务。
具体实现方式可以为:控制器B通知主机端的MPIO软件使用连接至控制器B的回路,以不中断方式接管控制器A上的数据应用服务。所述具体实现方式只是为了使本领域技术人员进一步了解本发明方案,并不用以限制本发明。
步骤504:控制器A向本地BMC控制器发出进行硬件重启的指令,所述BMC控制器读取固件存储器A中的固件进行固件升级,若控制器A升级固件成功,系统开始运行,转入步骤505。若控制器A升级固件失败,控制器A无法成功运行系统,转入步骤514。
步骤505:控制器A成功运行起升级后的系统,从控制器B处接管系统主控制权,接管控制器B上的数据应用服务。
步骤506:控制器A将固件存储器A中的新固件写入固件存储器B,在计时器A中设定控制器B的固件升级时间,并发送升级命令通知控制器B进行固件升级。
步骤507:控制器B接受固件升级命令,通过BMC控制器进行硬件重启,开始使用对应的固件存储器B内的新固件进行升级。
步骤508:控制器B开始进行固件升级,若控制器B升级固件成功,系统开始运行,转入步骤509。若控制器B升级固件失败,无法成功运行系统,转入步骤511。
步骤509:控制器B成功运行起系统,从控制器A处接管原属于自身的数据应用服务,恢复升级前工作状态。
步骤510:控制器A接受控制器B成功运行信号后,对外发送升级成功完成信号。
步骤511:控制器B无法运行系统,在控制器A计时时间到后,控制器A判定控制器B升级失败。
步骤512:控制器A判定是否控制器B已升级失败多次,若次数已到规定次数,转入步骤513,若次数还未到规定次数,重新尝试对控制器B进行升级操作,转入步骤506。
步骤513:控制器B经过多次尝试无法升级成功,控制器A发出升级未成功完成信号,要求用户处理。
步骤514:控制器A无法运行系统,在控制器B计时时间到后,控制器B判定控制器A升级失败。
步骤515:控制器B将自身的固件存储器B内的旧固件写入固件存储器A内,通过BMC控制器重置控制器A。
步骤516:控制器A载入固件存储器A内的旧固件,还原升级前状态,接管系统主控制权和原有的数据应用服务。
步骤517:控制器A发出未进行升级,升级失败信号,要求用户处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种双控制器磁盘存储阵列的升级固件方法,所述双控制器包括主控制器和从控制器,其特征在于,该方法包括如下步骤:
A、接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;
B、从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务;
C、主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;
D、主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;
E、主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;
F、从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;
G、从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服务。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括:
A1、从控制器接收来自外部的固件升级命令,将所述固件升级命令转发至主控制器;
A2、主控制器接收来自外部的新固件,并将所述新固件写入自身的固件存储器中。
3.根据权利要求1所述的方法,其特征在于,步骤A中,在子步骤A2之后进一步包括:A3、主控制器向从控制器发出进行固件升级的通知,从控制器设定自身计时器的超时时间长度,并使该计时器开始计时;
所述步骤C之后且步骤D之前,进一步包括:
从控制器判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定主控制器固件升级成功,转至所述步骤D;否则,判定主控制器固件升级失败,执行如下步骤:
从控制器将自身存储的旧固件写入主控制器;
主控制器载入所述旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。
4.根据权利要求1、2或3所述的方法,其特征在于,所述步骤E进一步包括:主控制器设定从控制器的固件升级时间长度,并启动自身的计时器;
所述步骤F之后且步骤G之前,进一步包括:
主控制器判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制器是否实现了硬件重启,若是,判定从控制器固件升级成功,执行所述步骤G;否则,判定从控制器固件升级失败,转至步骤E。
5.根据权利要求4所述的方法,其特征在于,所述判定从控制器固件升级失败之后,执行如下步骤:
主控制器判断从控制器固件升级失败的次数是否达到预定值,若是则主控制器发出固件升级未完成信号。否则转至步骤E。
6.一种双控制器磁盘存储阵列,所述双控制器包括主控制器和从控制器,所述主控制器具有该双控制器磁盘存储阵列的主控制权;其特征在于,
所述主控制器用于接收来自外部的固件升级命令和新固件,并保存所述新固件;将双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交到从控制器后,进行硬件重启,读取自身存储的新固件进行固件升级;固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务,并将新固件写入从控制器,通知从控制器进行固件升级;在从控制器固件升级成功后,将具有从控制器标识的数据应用服务转交给从控制器;
所述从控制器用于在主控制器进行固件升级之前,接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务,在主控制器成功进行固件升级后,将双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务转交给主控制器,接收来自主控制器的新固件并进行固件升级,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;在从控制器成功进行固件升级后,从主控制器接管具有从控制器标识的数据应用服务。
7.根据权利要求6所述的双控制器磁盘存储阵列,其特征在于,所述从控制器还用于在收到来自外部的固件升级命令后,将所述固件升级命令转发至主控制器。
8.根据权利要求6所述的双控制器磁盘存储阵列,其特征在于,所述主控制器将双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交到从控制器时,向从控制器发出进行固件升级的通知;
所述从控制器进一步包括定时器B,在从控制器收到来自主控制器的进行固件升级的通知后,设定计时器B的超时时间长度,并使计时器B开始计时;从控制器进一步用于判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定主控制器固件升级成功;否则,判定主控制器固件升级失败,将自身存储的旧固件写入主控制器;
主控制器进一步用于,在固件升级失败后,载入来自从控制器的旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。
9.根据权利要求6、7或8所述的双控制器磁盘存储阵列,其特征在于,所述主控制器进一步包括计时器A,在主控制器将新固件写入从控制器,通知从控制器进行固件升级后,设定从控制器的固件升级时间长度,并启动计时器A;
主控制器进一步用于判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制器是否实现了硬件重启,若是,判定从控制器固件升级成功;否则,判定从控制器固件升级失败,再次将新固件写入从控制器,通知从控制器进行固件升级。
10.一种双控制器磁盘存储阵列中的控制器,所述控制器包括控制单元、固件存储器和基板管理控制器;
控制器单元具有的功能包括:命令的执行,数据应用服务的执行和对该双控制器磁盘存储阵列进行控制;固件存储器用于存储本地控制器的固件;基板管理控制器用于实现本地控制器的硬件重启,加载本地固件存储器中的固件进行固件升级;
其特征在于,
所述控制单元、固件存储器和基板管理控制器统一接入数据总线,且所述数据总线连接该双控制器磁盘存储阵列中的对端控制器;
所述控制器作为该双控制器磁盘存储阵列的主控制器时,所述控制单元接收来自外部的固件升级命令和新固件,并将所述新固件保存在本地固件存储器中,将双控制器磁盘存储阵列的主控制权以及本控制器的数据应用服务通过所述数据总线转交到对端控制器;在本地基板管理控制器成功实现固件升级后,所述控制单元接管双控制器磁盘存储阵列的主控制权以及对端控制器上的全部数据应用服务,并将本地固件存储器中的新固件通过所述数据总线写入对端控制器,通知对端控制器进行固件升级;在对端控制器固件升级成功后,通过所述数据总线将属于对端控制器的数据应用服务转交给对端控制器。
11.根据权利要求10所述的控制器,其特征在于,所述控制器进一步包括计时器,当控制单元将本地固件存储器中的新固件通过所述数据总线写入对端控制器,通知对端控制器进行固件升级后,设定固件升级时间长度,并启动所述计时器;
控制单元进一步用于判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,对端控制器是否实现了硬件重启,若是,判定对端控制器固件升级成功;否则,判定对端控制器固件升级失败,再次将新固件写入对端控制器,通知对端控制器进行固件升级。
12.根据权利要求11或12所述的控制器,其特征在于,若所述基板管理控制器固件升级失败;
则所述固件存储器进一步用于通过所述数据总线接收来自对端控制器的旧固件;所述基板管理控制器进一步用于载入所述旧固件,并还原到固件升级之前的状态;所述控制单元用于通过所述数据总线从对端控制器接管双控制器磁盘存储阵列的主控制权以及原属于本地的数据应用服务。
13.一种双控制器磁盘存储阵列中的控制器,所述控制器包括控制单元、固件存储器和基板管理控制器;
控制器单元具有的功能包括:命令的执行,数据应用服务的执行和对该双控制器磁盘存储阵列进行控制;固件存储器用于存储本地控制器的固件;基板管理控制器用于实现本地控制器的硬件重启,加载本地固件存储器中的固件进行固件升级;
其特征在于,
所述控制单元、固件存储器和基板管理控制器统一接入数据总线,且所述数据总线连接该双控制器磁盘存储阵列中的对端控制器;
所述控制器作为该双控制器磁盘存储阵列的从控制器时,所述控制单元用于在对端控制器进行固件升级之前,通过所述数据总线接管该双控制器磁盘存储阵列的主控制权以及对端控制器上的数据应用服务;在对端控制器成功进行固件升级后,将双控制器磁盘存储阵列的主控制权以及本地所有的数据应用服务转交给对端控制器;固件存储器通过所述数据总线接收并存储来自对端控制器的新固件;基板管理控制器进行硬件重启并加载所述新固件进行固件升级;在成功进行固件升级后,所述控制单元通过所述数据总线从对端控制器接管原属于本地控制器的数据应用服务。
14.根据权利要求13所述的控制器,其特征在于,所述控制单元进一步用于在收到来自外部的固件升级命令后,将所述固件升级命令通过所述数据总线转发至对端控制器。
15.根据权利要求13或14所述的控制器,其特征在于,所述控制单元进一步包括计时器,所述控制单元收到来自对端控制器的进行固件升级的通知后,设定计时器的超时时间长度,并使计时器开始计时;控制单元进一步用于判断所述计时器的计时长度达到超时时间长度之前,对端控制器是否实现了硬件重启,若是,判定对端控制器固件升级成功;否则,判定对端控制器固件升级失败,将本地固件存储器中存储的旧固件通过所述数据总线写入对端控制器。
CN2009102367546A 2009-10-28 2009-10-28 双控制器磁盘存储阵列,及其升级固件方法和控制器 Pending CN101876910A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102367546A CN101876910A (zh) 2009-10-28 2009-10-28 双控制器磁盘存储阵列,及其升级固件方法和控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102367546A CN101876910A (zh) 2009-10-28 2009-10-28 双控制器磁盘存储阵列,及其升级固件方法和控制器

Publications (1)

Publication Number Publication Date
CN101876910A true CN101876910A (zh) 2010-11-03

Family

ID=43019472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102367546A Pending CN101876910A (zh) 2009-10-28 2009-10-28 双控制器磁盘存储阵列,及其升级固件方法和控制器

Country Status (1)

Country Link
CN (1) CN101876910A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894052A (zh) * 2010-03-04 2010-11-24 成都市华为赛门铁克科技有限公司 一种升级方法、系统和控制器
CN103488494A (zh) * 2013-08-12 2014-01-01 浪潮电子信息产业股份有限公司 一种刀片服务器多固件同步更新升级方法
CN103713925A (zh) * 2013-12-26 2014-04-09 北海创新科存储技术有限公司 避免存储阵列在升级过程的业务中断方法和装置
CN105144005A (zh) * 2013-04-22 2015-12-09 三菱电机株式会社 可编程逻辑控制器系统以及可编程逻辑控制器
CN105159713A (zh) * 2015-09-02 2015-12-16 Tcl移动通信科技(宁波)有限公司 一种显示屏固件升级方法及系统
CN105259806A (zh) * 2015-10-16 2016-01-20 珠海格力电器股份有限公司 控制器升级方法和系统及主控制器和从控制器
CN105718207A (zh) * 2014-12-03 2016-06-29 华为技术有限公司 一种数据处理方法、数据读写装置和存储系统
CN106201773A (zh) * 2016-06-24 2016-12-07 北京海誉动想科技股份有限公司 实例系统、云系统及实例系统的升级或恢复方法
CN106502453A (zh) * 2016-10-14 2017-03-15 惠州Tcl移动通信有限公司 一种基于移动终端防止触摸屏失灵的方法及系统
CN106533817A (zh) * 2017-01-23 2017-03-22 郑州云海信息技术有限公司 一种设置bmc属性信息的方法及装置
CN106528213A (zh) * 2016-10-31 2017-03-22 中冶华天南京工程技术有限公司 嵌入式终端设备固件升级方法及系统
CN106685688A (zh) * 2016-09-26 2017-05-17 深圳市潮流网络技术有限公司 一种集群计算机设备同步升级方法
CN107589955A (zh) * 2017-09-19 2018-01-16 郑州云海信息技术有限公司 一种双cmc固件版本的升级方法及系统
CN107992423A (zh) * 2017-12-14 2018-05-04 郑州云海信息技术有限公司 一种双控存储系统固件升降级的测试方法及装置
CN109491688A (zh) * 2018-11-16 2019-03-19 珠海云洲智能科技有限公司 对无人船的控制设备进行固件升级的方法、装置及系统
CN110821633A (zh) * 2019-10-28 2020-02-21 奇瑞汽车股份有限公司 一种无级风扇在发动机控制器更新软件过程中的控制方法
CN111880825A (zh) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 一种固件升级方法、装置及电子设备和存储介质
CN113851155A (zh) * 2021-09-17 2021-12-28 苏州浪潮智能科技有限公司 一种存储设备和控制存储器锁紧的方法
WO2022021854A1 (zh) * 2020-07-28 2022-02-03 苏州浪潮智能科技有限公司 一种存储系统的控制器升级方法及相关装置
CN114442924A (zh) * 2021-12-06 2022-05-06 北京航空航天大学 一种不规则控制器的控制方法及装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894052A (zh) * 2010-03-04 2010-11-24 成都市华为赛门铁克科技有限公司 一种升级方法、系统和控制器
CN101894052B (zh) * 2010-03-04 2012-12-12 华为数字技术(成都)有限公司 一种升级方法、系统和控制器
CN105144005A (zh) * 2013-04-22 2015-12-09 三菱电机株式会社 可编程逻辑控制器系统以及可编程逻辑控制器
CN103488494A (zh) * 2013-08-12 2014-01-01 浪潮电子信息产业股份有限公司 一种刀片服务器多固件同步更新升级方法
CN103713925A (zh) * 2013-12-26 2014-04-09 北海创新科存储技术有限公司 避免存储阵列在升级过程的业务中断方法和装置
CN105718207A (zh) * 2014-12-03 2016-06-29 华为技术有限公司 一种数据处理方法、数据读写装置和存储系统
CN105159713A (zh) * 2015-09-02 2015-12-16 Tcl移动通信科技(宁波)有限公司 一种显示屏固件升级方法及系统
CN105259806A (zh) * 2015-10-16 2016-01-20 珠海格力电器股份有限公司 控制器升级方法和系统及主控制器和从控制器
CN105259806B (zh) * 2015-10-16 2018-01-23 珠海格力电器股份有限公司 控制器升级方法和系统及主控制器和从控制器
CN106201773A (zh) * 2016-06-24 2016-12-07 北京海誉动想科技股份有限公司 实例系统、云系统及实例系统的升级或恢复方法
CN106685688A (zh) * 2016-09-26 2017-05-17 深圳市潮流网络技术有限公司 一种集群计算机设备同步升级方法
CN106502453B (zh) * 2016-10-14 2020-08-11 惠州Tcl移动通信有限公司 一种基于移动终端防止触摸屏失灵的方法及系统
CN106502453A (zh) * 2016-10-14 2017-03-15 惠州Tcl移动通信有限公司 一种基于移动终端防止触摸屏失灵的方法及系统
CN106528213A (zh) * 2016-10-31 2017-03-22 中冶华天南京工程技术有限公司 嵌入式终端设备固件升级方法及系统
CN106533817A (zh) * 2017-01-23 2017-03-22 郑州云海信息技术有限公司 一种设置bmc属性信息的方法及装置
CN107589955B (zh) * 2017-09-19 2021-06-25 郑州云海信息技术有限公司 一种双cmc固件版本的升级方法及系统
CN107589955A (zh) * 2017-09-19 2018-01-16 郑州云海信息技术有限公司 一种双cmc固件版本的升级方法及系统
CN107992423A (zh) * 2017-12-14 2018-05-04 郑州云海信息技术有限公司 一种双控存储系统固件升降级的测试方法及装置
CN109491688A (zh) * 2018-11-16 2019-03-19 珠海云洲智能科技有限公司 对无人船的控制设备进行固件升级的方法、装置及系统
CN110821633A (zh) * 2019-10-28 2020-02-21 奇瑞汽车股份有限公司 一种无级风扇在发动机控制器更新软件过程中的控制方法
CN111880825A (zh) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 一种固件升级方法、装置及电子设备和存储介质
CN111880825B (zh) * 2020-07-24 2022-06-10 北京浪潮数据技术有限公司 一种固件升级方法、装置及电子设备和存储介质
WO2022021854A1 (zh) * 2020-07-28 2022-02-03 苏州浪潮智能科技有限公司 一种存储系统的控制器升级方法及相关装置
CN113851155A (zh) * 2021-09-17 2021-12-28 苏州浪潮智能科技有限公司 一种存储设备和控制存储器锁紧的方法
CN114442924A (zh) * 2021-12-06 2022-05-06 北京航空航天大学 一种不规则控制器的控制方法及装置
CN114442924B (zh) * 2021-12-06 2024-03-15 北京航空航天大学 一种不规则控制器的控制方法及装置

Similar Documents

Publication Publication Date Title
CN101876910A (zh) 双控制器磁盘存储阵列,及其升级固件方法和控制器
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
US7213102B2 (en) Apparatus method and system for alternate control of a RAID array
CN101322105B (zh) 用于重新配置存储阵列的装置和方法
US8812913B2 (en) Method and apparatus for isolating storage devices to facilitate reliable communication
EP1397744B1 (en) Recovery computer for a plurality of networked computers
CN108616382A (zh) 升级网卡固件的方法、装置、网卡和设备
US7216258B2 (en) Method and apparatus for recovering from a non-fatal fault during background operations
US20060159115A1 (en) Method of controlling information processing system, information processing system, direct memory access control device and program
WO2020113669A1 (zh) 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法
CN108880898B (zh) 主备容器系统切换方法及装置
CN103782279A (zh) 文件管理系统和文件管理方法
CN101271332A (zh) 紧凑型一体化冗余控制器及其控制方法
CN103713925A (zh) 避免存储阵列在升级过程的业务中断方法和装置
CN101325610A (zh) 虚拟磁带库备份系统以及磁盘电源控制方法
US20170199760A1 (en) Multi-transactional system using transactional memory logs
WO2007141180A2 (en) Apparatus and method for cluster recovery
CN110286852A (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
CN113515316A (zh) 一种新型边缘云操作系统
CN101515834B (zh) 一种主控卡、基于多备份主控卡的切换系统及其切换方法
CN101556542B (zh) 一种成对冗余结构中器件的升级方法及设备
US9207741B2 (en) Storage apparatus, controller module, and storage apparatus control method
CN108874422A (zh) 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱
US20240103971A1 (en) Systems and methods for error recovery in rebootless firmware updates
KR20110091614A (ko) 독립 드라이브 전력 제어

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20101103