CN1245689C - 以非破坏性方式升级驱动器固件的方法和系统 - Google Patents

以非破坏性方式升级驱动器固件的方法和系统 Download PDF

Info

Publication number
CN1245689C
CN1245689C CNB031498442A CN03149844A CN1245689C CN 1245689 C CN1245689 C CN 1245689C CN B031498442 A CNB031498442 A CN B031498442A CN 03149844 A CN03149844 A CN 03149844A CN 1245689 C CN1245689 C CN 1245689C
Authority
CN
China
Prior art keywords
storage device
electronic storage
data
module
main electronic
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.)
Expired - Fee Related
Application number
CNB031498442A
Other languages
English (en)
Other versions
CN1482547A (zh
Inventor
D·A·伯顿
N·S·奥特尼斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1482547A publication Critical patent/CN1482547A/zh
Application granted granted Critical
Publication of CN1245689C publication Critical patent/CN1245689C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Abstract

本发明提出了一种以对主机系统操作透明和非破坏性的方式升级分布式数据存储系统内的驱动器上的驱动器固件的方法和系统。这种方法和系统在固件升级过程期间通过更改控制器读、写策略即使在主磁盘驱动器离线时也允许出现正常的读、写操作。在一个临时存储设备上生成一个映射文件,以减小升级过程必需的时间。在一个镜像存储系统内或者在一个具有备用驱动器的系统内,通过生成一个日志文件存储在升级过程期间从主磁盘驱动器转向的数据,进一步减少这段时间。

Description

以非破坏性方式升级驱动器固件的方法和系统
技术领域
本发明属存储系统技术领域,具体地说涉及冗余磁盘阵列的存储控制器固件。
背景技术
当前大型计算机系统主要关注的是计算机系统内数据存储的可靠性。由于这种关注,制造厂家已经生产出称为独立磁盘冗余阵列(RAID)的存储系统。RAID系统使用多个磁盘驱动器,以形成冗余的存储数据的方式排列。
存储系统可靠性最为重要的两个方面是可用性和可访问性。数据可用性要求数据至少存储在一个主驱动器上、存储在一个镜像驱动器上或者编码在多个驱动器上以被认为对主机系统是可用。可以认为数据随着它的各个准确的或编码的拷贝的增多而更容易得到。因此,可用性取决于冗余度。
数据的可访问性涉及主机系统通过直接从一个主驱动器或镜像驱动器检索数据或者通过从在某些其他驱动器或驱动器条(drivestrip)上用奇偶检错和纠错码(ECC)编码的信息中再生原数据来访问可用的存储数据的能力。
随着时间的过去,经常需要更新阵列存储系统内各个磁盘驱动器的固件。可以用新的固件来减少数据访问时间、提高磁盘驱动器性能或增强整个阵列存储系统的可靠性的其他一些方面。
当前在磁盘驱动器固件更新过程中所遇到的一个困难是执行固件更新要用比较长的时间。在更新磁盘驱动器固件期间,磁盘驱动器通常无法为主机的I/O请求服务。这对于设计成可以连续工作的海量存储系统来说可是至关紧要的。
现有技术试图处理这个问题的一种方式涉及在主机系统内用一个专用的设备驱动器。这个专用的设备驱动器配置成将主机I/O命令一直保持到驱动器更新完成后控制器准备好接受这些命令。这种解决方案有一个突出的问题,这个专有的设备驱动器存在于主机系统内部,与实际的阵列存储系统不在一起。此外,这些专有的设备驱动器可能与存储区域网(SAN)系统内其他现有的(传统)部件不兼容。
另一个试图解决方案涉及采用一个配置成在驱动器升级期间一直以对用户透明的方式继续接受主机的I/O命令的专有磁盘驱动器。然而,同样这些专用磁盘驱动器可能与SAN系统内的其他传统部件不兼容。
这两个现有技术的配置共同的限制是对非专有的主机系统或磁盘驱动器这部分没有考虑更新的先验知识。此外,在非专有系统内和在由专有和非专有部件组成的系统内没有保证磁盘驱动器在磁盘驱动器固件升级期间的可用性或可访问性。
因此,所需要的是一种使存储系统控制器在分布式数据存储系统的磁盘驱动器固件升级过程期间能以可靠和非破坏性的方式接受和执行主机I/O命令的方法和系统。这样的方法和系统如果与传统的主机系统和磁盘驱动器可兼容那将会更为有益。这样的方法和系统如果它考虑到逐个或同时对多个磁盘驱动器升级以减少升级所有的驱动器所需的总时间那将也是有益的。
发明内容
根据本发明的一个方面,提供一种更新在包括一个存储系统控制器、一个主电子存储设备和一个临时电子存储设备的分布式数据存储系统的电子存储设备内的控制指令的方法,所述方法包括下列步骤:
使原来指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
产生至少一个从主电子存储设备改向的写操作数据的部分映射文件;
在使写操作数据被改向的同时更新主电子存储设备内的控制指令;以及
在主电子存储设备上重建至少被改向的写操作数据,这包括下列步骤:
将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
根据本发明的另一个方面,提供一种更新在包括一个存储系统控制器、和一个主电子存储设备的分布式数据存储系统的电子存储设备内的控制指令的方法,所述方法包括下列步骤:
确定备用驱动器的可用性;
指定一个临时电子存储设备;
确定镜像驱动器的可用性;
改变分布式数据存储系统的读策略,以允许在控制指令更新周期期间出现正常的读操作;
改变分布式数据存储系统的写策略,以允许在控制指令更新周期期间出现正常的写操作;
限制主机系统访问主电子存储设备;
在改变读、写策略的同时更新主电子存储设备内的控制指令;
重建主电子存储设备上的写操作数据;其中重建步骤包括:
将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据;以及恢复主机系统对主电子存储设备的访问。
根据本发明的再一个方面,提供一种供存储系统控制器用的驱动器更新模块,所述驱动器更新模块能更新一个主电子存储设备内的控制指令,配置成更新在分布式数据存储系统内的电子存储设备内的控制指令,所述驱动器更新模块包括:
一个写策略更改模块,配置成使指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
一个映射模块,配置成生成至少一个从主电子存储设备改向的写操作数据的部分映射文件;
一个控制指令更新模块,配置成更新主电子存储设备内的控制指令;以及
一个驱动器重建模块,配置成在主电子存储设备上重建至少包括被改向的写操作数据,驱动器重建模块包括:
一个镜像驱动器重建模块,配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
一个日志文件重建模块,配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
一个再生重建模块,配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
根据本发明的又一个方面,提供一种具有更新能力的分布式数据存储系统,所述分布式数据存储系统包括:
一个主电子存储设备;
一个存储系统控制器;
一个临时电子存储设备;
一个写策略更改模块,配置成使指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
一个映射模块,配置成生成至少一个从主电子存储设备改向的写操作数据的部分映射文件;
一个控制指令更新模块,配置成更新主电子存储设备内的控制指令;以及
一个驱动器重建模块,配置成在主电子存储设备上重建至少包括被改向的写操作数据,驱动器重建模块包括:
一个镜像驱动器重建模块,配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
一个日志文件重建模块,配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
一个再生重建模块,配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
根据本发明的又一个方面,提供一种分布式数据存储设备,所述分布式数据存储设备包括:
一个电子存储设备;以及
一个存储系统控制器,所述存储系统控制器包括:
使原来指向主电子存储设备的写操作数据改向到其它存储设备上的装置所述其它存储设备包括镜像电子存储设备,临时电子存储设备上的一个日志文件;
生成至少一个从主电子存储设备改向的写操作数据的部分映射文件的装置;
在使写操作数据转向的同时更新主电子存储设备内的控制指令的装置;以及
一个配置成在主电子存储设备上重建至少包括被改向的写操作数据驱动器重建装置,该驱动器重建装置包括:
一个配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备的镜像驱动器重建装置;以及
一个配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区的日志文件重建装置;以及
一个配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据的再生重建装置。
本发明是根据该技术领域的现阶段技术状况特别是根据在该技术领域内现行的主机系统、磁盘驱动器和存储系统控制器还没有完全解决的问题和需要开发的。因此,本发明的总体目的是提供一种改进的方法和系统,以非破坏性的方式升级驱动器固件,克服以上所讨论的在该技术领域内的许多或所有缺点。
为了达到上述目的,按照如在优选实施例中所体现的和在这里概括说明的本发明,提供了一种改进的存储系统控制器,配置成以非破坏性的方式升级驱动器固件。
这种存储系统控制器配有一个驱动器更新模块,它具有包括多个配置成执行升级过程的各个步骤的模块的固件。在所说明的这些实施例中的这些模块包括一个驱动器更新启动模块、一个备用驱动器可用性模块、一个备用驱动器更新模块、一个临时存储指定模块、一个镜像驱动器可用性模块、一个读策略更改模块、一个写策略更改模块、一个控制指令更新模块、一个驱动器重建模块和一个驱动器更新完成模块。
在一个实施例中,存储系统控制器配置成允许同时升级多个主磁盘驱动器上的控制指令。在另一个实施例中,分布式数据存储系统可以包括多个配置成并行工作的存储系统控制器,使得一个控制器处理主机系统命令,同时另一个控制器执行磁盘驱动器的固件升级。
系统还优选地配置成与各种主机服务器和磁盘驱动器兼容,因此固件升级可以与现有的硬件或软件无关。这种无关性遵从开放性存储区域网需要,增强了与各式各样的其他存储区域网产品的兼容性。
在这个优选实施例中,系统允许同时对多个主磁盘驱动器上的固件升级。然而,系统也可以允许对个别磁盘驱动器升级。
还介绍了本发明的一种更新分布式数据存储系统的电子存储设备内的控制指令的方法。过程启动后,控制器执行检验,评估存储阵列内备用磁盘驱动器的可用性。对所有可用的备用磁盘驱动器上的固件进行升级。在这个优选实施例中,将可用的备用磁盘驱动器指定为映射文件和日志文件的临时存储单元。映射文件含有主磁盘驱动器的在升级过程期间已经写了的扇区。日志文件含有在升级过程期间从主磁盘驱动器转来的数据。
在没有设置备用磁盘驱动器的系统中,可以用主机系统的高速缓存器作为映射文件的临时存储单元。在这种情况下,不建立日志文件。在这个优选实施例中,临时存储单元配有诸如电池之类的辅助电源,以便维护系统的冗余度。
一旦指定了临时存储器和建立了适当的映射文件和日志文件,控制器就确定了任何镜像磁盘驱动器的可用性。这种驱动器通常在RAID1配置的分布式数据存储系统或者在其他基于(至少部分基于)RAID1阵列结构的系统内是可用的。
在固件实际升级前,控制器改变读、写策略,使得在升级过程期间主机系统发出的读、写操作不会访问要升级的主磁盘驱动器。读策略按照镜像驱动器的可用性改变成或者访问奇偶校验驱动器、再生所请求的数据,或者访问镜像驱动器。写策略改变成访问日志文件或镜像驱动器,以实现写操作。如果日志文件和镜像磁盘驱动器都不可用,写策略就生成奇偶校验码,将这码写入奇偶校验驱动器。在任何情况下,如果这个映射文件可用的话,写策略还将预定的主磁盘驱动器的写扇区存储在映射文件内。
在这个优选实施例中,控制器在读、写策略改变后使主磁盘驱动器离线,因此限制在升级过程期间访问这个磁盘驱动器。虽然磁盘驱动器离线,它所属的RAID组仍处于一个临界模式。
然后对固件进行升级。在完成固件升级后,控制器在主磁盘驱动器上重建数据,恢复原来的读、写策略,使驱动器返回在线,结束升级过程。重建步骤可取地包括将数据从日志文件或镜像驱动器拷贝到主磁盘驱动器上。如果日志文件和镜像驱动器都不可用,重建步骤包括通过执行纠错码从奇偶校验驱动器再生数据,将数据存储到主磁盘驱动器上。
在这个优选实施例中,这种方法对主机系统是透明的,不需要用户手动干预。然而,在这种方法的一些实施例中允许用户在过程前、过程中或过程后手动干预。
本发明的这些和其他目的、特征和优点从以下说明和所附权利要求书中可以清楚看出,也可以通过实践以下所提出的本发明来认识。
附图说明
为了更容易理解获得本发明的优点和达到本发明的目的方式,将结合附图所示的本发明的具体实施例给出上面简要所述的本发明的更为具体的说明。可以理解,这些附图只示出了本发明的典型实施例,因此不应认为对本发明的专利保护范围有所限制,本发明将结合附图予以具体和详细的说明和解释,在这些附图中:
图1为例示按照本发明设计的典型RAID网络的一个实施例的原理方框图;
图1a为例示按照本发明设计的典型分布式数据存储系统的一个实施例的原理方框图;
图2为例示按照本发明设计的典型分布式数据存储系统的一个实施例的原理方框图;
图3为按照本发明设计的典型存储系统控制器内的典型驱动器更新模块的一个实施例的原理方框图;
图3a为例示按照本发明设计的典型临时存储器指定模块的一个实施例的示意方框图;
图3b为例示按照本发明设计的典型读策略更改模块的一个实施例的示意方框图;
图3c为例示按照本发明设计的典型写策略更改模块的一个实施例的示意方框图;
图3d为例示按照本发明设计的典型驱动器重建模块的一个实施例的示意方框图;
图4为例示本发明的驱动器更新方法的一个实施例的示意流程图;
图5为例示图4方法的一个具体例子的示意流程图;
图6为例示图4方法的一个具体例子的图5示意流程图的后续部分;
图7为例示图4方法的一个具体例子的图5示意流程图的后续部分;
图8为例示图4方法的一个具体例子的图5示意流程图的后续部分;以及
图9为例示图4方法的一个具体例子的图5示意流程图的后续部分。
优选实施例详细说明
本说明书中所说明的功能单元许多都标为模块,以便特别强调它们实现的独立性。例如,一个模块可以实现为一个包括定制VLSI电路或门阵列、诸如逻辑芯片之类的现成半导体、晶体管或其他分立元件的硬件电路。一个模块也可以用诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件之类的可编程硬件器件实现。
模块也可以用由各种类型的处理器执行的软件实现。一个所标识的可执行码的模块例如可以包括一个或多个可以例如组织成一个对象、程序或功能的计算机指令的物理或逻辑块。然而,一个所标识的模块的可执行部分没有必要物理上设置在一起,而是可以包括一些存储在不同位置的无联系的指令,在这些指令逻辑上联接在一起时就构成了这个模块,可以实现所述的模块功能。
确实,一个可执行码模块可以是单个指令或许多指令,甚至可以分布在几个不同的代码段上、不同的程序之中和横贯几个存储设备。同样,可以在模块内标识和例示操作数据,这些操作数据可以体现成任何适当的形式,组织在任何适当类型的数据结构内。可以将操作数据聚集为单个数据集,也可以分布到不同的单元(包括分布到不同的存储设备上),而且还可以(至少部分)只作为系统或网络上的电子信号存在。
图1示出了一个适合采用本发明的典型RAID网络100。RAID网络100包括多个工作站102和一些由局域网106连接的主机服务器104。在所示的这个实施例中,主机服务器104由存储区域网110连接到一个或多个分布式数据存储系统108上。存储区域网110可以体现在一个局域网或广域网配置内。主机服务器104在没有存储区域网110的情况下可以直接与分布式数据存储系统108连接。
图1a为例示分布式数据存储系统120的一个实施例的方框图。分布式数据存储系统108以类似于如上所述的方式连接到一个存储区域网110上。所示的分布式数据存储系统108包括两个存储系统控制器122A和122B,提供针对可能故障的冗余度。
分布式数据存储系统108内是多个电子存储设备124,通过驱动器互连信道126连接到存储系统控制器上。
图2为示出本发明的分布式数据存储系统108的一个实施例的方框图。在所示的这个实施例中,分布式数据存储系统108包括一个存储系统控制器202和一个电子存储阵列204。存储系统控制器202与上面所说明的存储系统控制器122A和122B类似。电子存储阵列204包括多个电子存储设备124。
存储系统控制器202包括控制器CPU206、I/O处理器208、高速缓存器210和非易失性(NV)存储器212。高速缓存器210可以构成可供映射文件213使用的存储空间。NV存储器212包括一个控制指令集214,其中含有在电子存储设备124的控制指令更新过程中使用的命令。
电子存储阵列204的一个优选实施例包括一个或多个以下电子存储设备124:主电子存储设备216、镜像电子存储设备218和备用电子存储设备220。这些电子存储设备124各包括一个由控制指令222、228和230构成的集合。在相应电子存储设备124的控制指令集内,在产生更高效或更全面的算法时控制指令222、228和230必需更新。
在一个RAID1或RAID1+0分布式数据存储系统或者一个基于RAID1阵列结构的RAID分布式数据存储系统内典型的是包括一个或多个镜像电子存储设备218。相反,一个典型的RAID3或RAID5分布式数据存储系统不包括任何镜像电子存储设备218。
所介绍的电子存储阵列204包括备用电子存储设备220。在这种系统内,备用电子存储设备220可以构成可供映射文件224和日志文件226使用的存储空间。映射文件224在结构上与映射文件213类似。
在这里说明的方法和系统主要集中在更新主电子存储设备216内的控制指令222。然而,这种方法和系统可以扩展到包括更新镜像电子存储设备218内的控制指令228。此外,这种方法和系统可以包括更新备用电子存储设备220内的控制指令230。从在这里给出的讨论中可以清楚地看到进行这种更新的方式。
图3示出了存储系统控制器202的控制指令214的一个实施例的示意方框图。这些控制指令214优选地包括指定从电子存储阵列204检索数据的过程的读策略301a。控制指令214优选地还包括指定将数据写入电子存储阵列204的过程的写策略301b。
除了读策略301a和写策略301b,控制指令214优选地还包括一个驱动器更新模块302。驱动器更新模块302如图所示含有一个驱动器更新启动模块304,配置成启动对主电子存储设备216内控制指令222的更新。还包括一个备用驱动器可用性模块306,配置成确定电子存储阵列204内任何备用电子存储设备220的可用性。如果有一个备用电子存储设备220可用,就将备用驱动器更新模块308配置成更新这个可用的备用电子存储设备220内的控制指令230。
所示的驱动器更新模块302还包括一个临时存储指定模块310,用来将一个可用的备用电子存储设备220或可用的控制器高速缓存器210指定为在更新主电子存储设备216上的控制指令222期间的临时电子存储设备。
还有一个镜像驱动器可用性模块312,优选地配置成确定电子存储阵列204内镜像电子存储设备218的可用性。确定镜像驱动器可用性对于按照镜像驱动器可用性模块312的结果不同地实现读策略更改模块314和写策略更改模块316的驱动器更新过程来说是关键性的。下面列出了一些具体差异。
总的来说,读策略更改模块314改变存储系统控制器202的读策略301a,使得主机服务器104的读操作在更新主电子存储设备216内的控制指令222期间得到不同的处理。类似,写策略更改模块316改变存储系统控制器202的写策略301b,使得主机服务器104的写操作在更新主电子存储设备216内的控制指令222期间得到不同的处理。存储系统控制器202的读策略301a和写策略301b的这些更改使读、写操作以对主机服务器104透明和维护电子存储阵列204内的冗余度的方式执行。
一旦驱动器更新模块302结束了上面所列出的这些处理项目,驱动器更新模块302就开始通过执行控制指令更新模块318实际更新主电子存储设备216内的控制指令222。控制指令222更新后,驱动器更新模块302内的驱动器重建模块320至少重建在更新控制指令222期间要写入主电子存储设备216的数据。驱动器重建模块320完工后,驱动器更新完成模块322就结束更新过程。
图3a示出了包含在驱动器更新模块302内的临时存储指定模块310的一个实施例的示意图。所示的临时存储指定模块优选地含有一个备用驱动器指定模块330和一个控制器高速缓存器指定模块332。
备用驱动器指定模块330用来将一个可用的备用电子存储设备220指定为在更新主电子存储设备216的控制指令220期间的临时电子存储设备。控制器高速缓存器指定模块332用来将存储系统控制器202内的可用的高速缓存器指定为在同样的更新周期期间的临时电子存储设备。
图3b示出了包含在驱动器更新模块302内的读策略更改模块314的一个实施例的示意图。所示的读策略更改模块314优选地含有一个镜像驱动器更新模块340、一个日志文件读出模块342和一个再生读出模块344。
镜像驱动器更新模块340配置成通过访问镜像电子存储设备218上的所请求的数据而不是访问主电子存储设备216来处理主机服务器104发出的读操作命令。类似,日志文件读出模块342配置成通过访问位于临时电子存储设备的日志文件上的所请求的数据而不是访问主电子存储设备216来处理主机服务器104发出的读操作命令。
再生读出模块344以不同的方式执行主机服务器104发出的读操作命令。再生读出模块344访问奇偶校验电子存储设备上的数据用纠错码再生所请求的数据,而不是访问主电子存储设备216。
图3c示出了包含在驱动器更新模块302内的写策略更改模块316的一个实施例的示意图。所示的写策略更改模块316优选地包括一个映射模块350、一个镜像驱动器写入模块352、一个日志文件写入模块354和一个奇偶校验驱动器写入模块356。
映射模块350配置成通过将写操作命令所指向的主电子存储设备216的预定扇区写至优选地设置在临时电子存储设备上的映射文件来处理主机服务器104发出的写操作命令。所请求的数据写至由临时存储指定模块310指定的一个优选地设置在临时电子存储设备上的映射文件。
镜像驱动器写入模块352配置成通过将所请求的数据写至一个镜像电子存储设备218而不是将数据写至主电子存储设备216来处理主机服务器104发出的写操作命令。以类似的方式,日志文件写入模块354配置成将所请求的数据写至一个优选地设置在一个备用电子存储设备220上的日志文件。
奇偶校验驱动器写入模块356配置成通过将适当的纠错码写至一个设置在电子存储阵列204内的相应奇偶校验驱动器而不是将数据写至主电子存储设备216来处理主机服务器104发出的写操作命令。
图3d示出了包含在驱动器更新模块302内的驱动器重建模块320的一个实施例的示意图。所示的驱动器重建模块320优选地含有一个镜像驱动器重建模块360、一个日志文件重建模块362和一个再生重建模块364。
镜像驱动器重建模块360配置成将写至一个镜像电子存储设备218的数据从这个镜像电子存储设备218拷贝给主电子存储设备216。类似,日志文件重建模块362配置成将写至一个设置在一个临时电子存储设备上的日志文件的数据从这个日志文件拷贝给主电子存储设备216。
再生重建模块364配置成将数据用纠错码写至主电子存储设备216和将数据写到电子存储阵列204内的一个奇偶校验驱动器。
图4为例示驱动器更新方法400的一个实施例的示意流程图。所示的概括性的驱动器更新方法400可以利用图3的驱动器更新模块302,但是也可以独立执行而与在这里对驱动器更新模块302所讨论的实施例无关。
驱动器更新方法400最好由驱动器更新启动模块304启动,如方框402所示。接着,执行备用驱动器可用性模块306和备用驱动器更新模块308,分别如方框404和方框406所示。方框408为指定临时存储设备,最好用临时存储指定模块310执行。指定临时存储装置后,镜像驱动器可用性模块312确定电子存储阵列204内任何镜像电子存储设备218的可用性,如方框410所示。
驱动器更新方法400通过执行读策略更改模块314和写策略更改模块316改变存储系统控制器202内的读策略301a和写策略301b而继续进行。执行读策略更改模块314以方框412示出,执行写策略更改模块以方框414示出。
接着,更新主电子存储设备216上的控制指令222,如方框416所示,最好用控制指令更新模块318执行。更新控制指令222后,执行驱动器重建模块320,重建主电子存储设备216。这个步骤示于方框418。最后,方框420表示终止驱动器更新模块302,这最好用驱动器更新完成模块322执行。
图5为作为执行驱动器更新方法400的方法的一个更为具体的例子的驱动器更新方法500的示意流程图。驱动器更新方法500从驱动器更新启动开始,如方框502所示。这个步骤基本上与方框402的步骤类似。接着,驱动器更新方法500确定任何备用电子存储设备220的可用性,如判决方框504所示。如果不存在备用电子存储设备,驱动器更新方法500确定控制器高速缓存器210的可用性,如判决方框506所示。如果控制器高速缓存器210不可用,驱动器更新方法500就进至图6的步骤602。
如果在判决方框504确定备用电子存储设备220可用,驱动器更新方法500就更新可用的备用电子存储设备220,如方框508所示。接着,将这个备用电子存储设备220指定为临时电子存储设备,如方框510所示。驱动器更新方法500进至在备用电子存储设备220内生成映射文件224,如方框512所示,和生成日志文件226,如方框514所示。然后,驱动器更新方法500进至图8的步骤802。
如果在判决方框506确定控制器高速缓存器210可用,驱动器更新方法500就将这个控制器高速缓存器210指定为临时电子存储设备,如方框516所示,在这以后,生成映射文件213,如方框518所示。映射文件213最好基本上与在方框512生成的映射文件224类似,但它设置在控制器高速缓存器210上而不是在备用电子存储设备220上。然后,驱动器更新方法500进至图7的步骤702。
图6示出了作为图5的示意流程图所示的驱动器更新方法500的后续部分的驱动器更新方法后续部分600。在驱动器更新方法后续部分600内所示的这些步骤具体处理已经确定既没有备用电子存储设备220也没有控制器高速缓存器210可用的情况。
驱动器更新方法后续部分600确定镜像电子存储设备218的可用性,如方框602所示。如果在判决方框602确定镜像电子存储设备218不可用,如在RAID3或RAID5阵列结构中那样,驱动器更新方法600进至方框604,改变存储系统控制器202的读策略301a。读策略301a改变成使得存储系统控制器202通过用纠错码再生来自电子存储阵列204内的奇偶校验驱动器的所请求的数据来处理主机服务器104发出的读操作命令。存储系统控制器不直接从主电子存储设备216读出数据。
接着,驱动器更新方法后续部分600进至方框608,将存储系统控制器202的写策略301更改为使得存储系统控制器202通过将适当的奇偶码写至电子存储阵列204内的奇偶校验驱动器来处理来自主机服务器104的写操作命令。存储系统控制器通常不直接将数据写至主电子存储设备216。
方框604的读策略更改和方框608的写策略更改允许驱动器更新模块后续部分600使主电子存储设备216离线,如方框612所示,使得存储系统控制器202不能为主机服务器104发起的读、写操作访问主电子存储设备216。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框614所示。
在更新控制指令222后,驱动器更新方法后续部分600进至用来自电子存储阵列204内的奇偶校验驱动器的纠错码和数据重建主电子存储设备216上的所有数据,如方框616所示。在方框616这个步骤,重建主电子存储设备216上的所有扇区。驱动器重建后,驱动器更新方法后续部分600就进至图9的步骤902。
如果在判决方框602确定镜像电子存储设备218可用,如在RAID1或RAID1+0阵列结构中那样,驱动器更新方法后续部分600进至方框618,改变存储系统控制器202的读策略301a。读策略301a改变成使存储系统控制器202通过访问电子存储阵列204内的镜像电子存储设备218而不是直接从主电子存储设备216读出数据来处理来自主机服务器104的读操作命令。
随后,驱动器更新方法后续部分600进至方框622,改变存储系统控制器202的写策略301b。读策略301b改变成使得存储系统控制器202通过将数据写至镜像电子存储设备218而不是直接将数据写至主电子存储设备216来处理来自主机服务器104的写操作命令。
方框618的读策略更改和方框622的写策略更改允许驱动器更新模块后续部分600使主电子存储设备216离线,如方框626所示。方框626的步骤最好基本上与方框612的步骤类似。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框628所示。方框628的步骤最好基本上与方框614的步骤类似。
在控制指令222更新后,驱动器更新方法后续部分600进至通过将镜像电子存储设备218上的所有数据拷贝给主电子存储设备216重建主电子存储设备216上的所有数据,如方框630所示。在方框630这个步骤,重建主电子存储设备216上的所有扇区。驱动器重建后,驱动器更新方法后续部分600就进至图9的步骤902。
图7示出了作为图5的示意流程图所示的驱动器更新方法500的后续部分的驱动器更新方法后续部分700。在驱动器更新方法后续部分700内所示的这些步骤具体处理已经确定没有备用电子存储设备220但主机服务器104的高速缓存器可用的情况。
驱动器更新方法700确定镜像电子存储设备218的可用性,如方框702所示。如果在判决方框702确定镜像电子存储设备218不可用,如在RAID3或RAID5阵列结构中那样,驱动器更新方法后续部分700进至方框704,改变存储系统控制器202的读策略301a。方框704的步骤最好基本上与方框604的步骤类似。
接着,驱动器更新方法后续部分700进至方框708,改变存储系统控制器202的写策略301b。方框708的步骤最好基本上与方框608的步骤类似。此外,如方框710所示,写策略301b改变成映射写操作数据所指向的主电子存储设备216的扇区。将这个扇区映射入在控制器高速缓存器210上生成的映射文件213,如方框518所示。
方框704的读策略更改和方框708和710的写策略更改允许驱动器更新模块后续部分700使主电子存储设备216离线,如方框712所示。方框712的步骤最好基本上与方框612的步骤类似。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框714所示。方框714的步骤最好基本上与方框614的步骤类似。
在控制指令222更新后,驱动器更新方法后续部分700进至重建主电子存储设备216的扇区上的数据,如方框716所示,这些扇区与映射入映射文件213的主电子存储设备216的扇区相应,如方框710所示。重建最好用来自电子存储阵列204内的奇偶校验驱动器的纠错码和数据执行,在方框716的这个步骤,只重建映射入映射文件213的主电子存储设备216的扇区。驱动器重建后,驱动器更新方法后续部分700就进至图9的步骤902。
如果在判决方框702确定镜像电子存储设备218可用,如在RAID1或RAID1+0阵列结构中那样,驱动器更新方法后续部分700如方框718所示那样继续进行,改变存储系统控制器202的读策略301a。方框718的步骤最好基本上与方框618的步骤类似。
接着,驱动器更新方法后续部分700进至方框722,改变存储系统控制器202的写策略301b。方框722的步骤最好基本上与方框622的步骤类似。此外,如方框724所示,写策略301b改变成映射写操作数据所指向的主电子存储设备216的扇区。将这个扇区映射入在控制器高速缓存器210上生成的映射文件213,如方框518所示。
方框718的读策略更改和方框722和724的写策略更改允许驱动器更新模块后续部分700使主电子存储设备216离线,如方框726所示。方框726的步骤最好基本上与方框612的步骤类似。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框728所示。方框728的步骤最好基本上与方框614的步骤类似。
在控制指令222更新后,驱动器更新方法后续部分700进至重建主电子存储设备216的扇区上的数据。这些扇区与映射入映射文件213的主电子存储设备216的扇区相应,如方框724所示。重建通过将在所映射的镜像电子存储设备218的扇区上的数据拷贝给相应的主电子存储设备216的扇区进行,如方框730所示。在方框730的这个步骤,只重建映射入映射文件213的主电子存储设备216的扇区。驱动器重建后,驱动器更新方法后续部分700就进至图9的步骤902。
图8示出了作为图5的示意流程图所示的驱动器更新方法500的后续部分的驱动器更新方法后续部分800。在驱动器更新方法后续部分800内所示的这些步骤具体处理已经确定备用电子存储设备220可用的情况。
驱动器更新方法后续部分800确定镜像电子存储设备218的可用性,如判决方框802所示。如果在判决方框802确定镜像电子存储设备218不可用,如在RAID3或RAID5阵列结构中那样,驱动器更新方法后续部分800进至方框804,改变存储系统控制器202的读策略301a。方框804的步骤最好基本上与方框604的步骤类似。
接着,驱动器更新方法后续部分800进至方框806,改变存储系统控制器202的写策略301b。写策略301b改变成使得存储系统控制器202通过如方框514所示将数据写至在备用电子存储设备220上生成的日志文件226而不是将数据直接写至主电子存储设备216来处理来自主机服务器104的写操作命令。写策略301b还如方框808所示以基本上与方框608的步骤类似的方式改变。此外,如方框810所示,写策略301b改变成映射写操作数据所指向的主电子存储设备216的扇区。该扇区映射入在备用电子存储设备220上生成的映射文件224,如方框512所示。
方框804的读策略更改和方框806、808和810的写策略更改允许驱动器更新模块800使主电子存储设备216离线,如方框812所示。方框812的步骤最好基本上与方框612的步骤类似。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框814所示。方框814的步骤最好基本上与方框614的步骤类似。
在控制指令222更新后,驱动器更新方法后续部分800进至重建主电子存储设备216的扇区上的数据,如方框816所示,这些扇区与如方框810所示映射入映射文件224的主电子存储设备216的扇区相应,重建是将在如方框514所示生成的日志文件226内的数据拷贝给相应的所映射的主电子存储设备216的扇区。在方框816的这个步骤,只重建映射入映射文件224的主电子存储设备216的扇区。驱动器重建后,驱动器更新方法后续部分800就进至图9的步骤902。
如果在判决方框802确定镜像电子存储设备218可用,如在RAID1或RAID1+0阵列结构中那样,驱动器更新方法后续部分800进至方框818,改变存储系统控制器202的读策略301a。方框818的步骤最好基本上与方框618的步骤类似。
接着,驱动器更新方法后续部分800进至方框820和822,改变存储系统控制器202的写策略301b。方框820和822的步骤最好基本上分别与方框806和622的步骤类似。此外,如方框824所示,写策略301b改变成映射写操作数据所指向的主电子存储设备216的扇区。这个扇区映射入在备用电子存储设备220上生成的映射文件224,如方框512所示。方框824的步骤最好基本上与方框810的步骤类似。
方框818的读策略更改和方框820、822和824的写策略更改允许驱动器更新模块后续部分800使主电子存储设备216离线,如方框826所示。方框826的步骤最好基本上与方框612的步骤类似。主电子存储设备216一离线,就执行更新主电子存储设备216内的控制指令222,如方框828所示。方框828的步骤最好基本上与方框614的步骤类似。
控制指令222更新后,驱动器更新方法后续部分800进至重建主电子存储设备216的扇区上的数据,如先前所说明的方框816所示。驱动器重建后,驱动器更新方法后续部分800就进至图9的步骤902。
图9示出了作为图5的示意流程图所示的驱动器更新方法500的后续部分的驱动器更新方法后续部分900。在驱动器更新方法后续部分900内所示的这些步骤具体处理在主电子存储设备216内的控制指令222已经更新和主电子存储设备216已经重建后的最后一些步骤。
方框616、630、716、730或816的主电子存储设备216重建过程后,驱动器更新方法后续部分900恢复存储系统控制器202原来的写策略301b,如方框902所示,恢复存储系统控制器202的原来的读策略301a,如方框904所示。
此时,使主电子存储设备216在线,如方框906所示,使得存储系统控制器202可以为主机服务器104发起的读或写操作访问主电子存储设备216。最后,驱动器更新方法后续部分900以及整个驱动器更新过程500在完成驱动器更新过程后结束,如方框908所示。
本发明可以在不背离它的精神或基本特征的情况下体现为其他具体形式。因此,所说明的这些实施例就各种情况来说都是例示性的而不是限制性的。因此,本发明的专利保护范围由所附权利要求书而不是由上述说明给出。所有在与权利要求书的含意和范围相当的范围内的改变都应列入本发明的专利保护范围。

Claims (26)

1.一种更新在包括一个存储系统控制器、一个主电子存储设备和一个临时电子存储设备的分布式数据存储系统的电子存储设备内的控制指令的方法,所述方法包括下列步骤:
使原来指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
产生至少一个从主电子存储设备改向的写操作数据的部分映射文件;
在使写操作数据被改向的同时更新主电子存储设备内的控制指令;以及
在主电子存储设备上重建至少被改向的写操作数据,这包括下列步骤:
将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
2.权利要求1的方法,其中所述写操作数据包括至少一个主电子存储设备扇区。
3.权利要求1的方法,所述方法还包括确定备用电子存储设备的可用性。
4.权利要求1的方法,所述方法还包括更新任何可用的备用电子存储设备上的控制指令。
5.权利要求1的方法,所述方法还包括指定临时电子存储设备,这包括下列步骤:
将一个备用电子存储设备指定为临时电子存储设备;以及
如果没有备用电子存储设备可用,将一个控制器高速缓存器指定为临时电子存储设备。
6.权利要求1的方法,所述方法还包括确定镜像电子存储设备的可用性。
7.权利要求1的方法,所述方法还包括改变分布式数据存储系统在主电子存储设备的控制指令更新期间的读策略,这包括下列步骤:
从一个镜像电子存储设备读出所请求的数据;
从临时电子存储设备上的一个日志文件读出所请求的数据;以及
如果镜像和临时电子存储设备都不可用,用纠错码从奇偶校验驱动器再生所请求的读数据。
8.权利要求1的方法,其中所述使写操作数据转向的步骤还包括改变分布式数据存储系统在更新主电子存储设备内的控制指令期间的写策略,这包括将一个主电子存储设备的写扇区映射入临时电子存储设备上的映射文件。
9.权利要求8的方法,所述方法还包括将数据写至临时电子存储设备上的一个日志文件。
10.权利要求1的方法,所述方法还包括将数据写至一个镜像电子存储设备。
11.权利要求1的方法,其中所述更新主电子存储设备内的控制指令的步骤还包括允许在控制指令更新周期期间出现正常的读、写操作。
12.一种更新在包括一个存储系统控制器、和一个主电子存储设备的分布式数据存储系统的电子存储设备内的控制指令的方法,所述方法包括下列步骤:
确定备用驱动器的可用性;
指定一个临时电子存储设备;
确定镜像驱动器的可用性;
改变分布式数据存储系统的读策略,以允许在控制指令更新周期期间出现正常的读操作;
改变分布式数据存储系统的写策略,以允许在控制指令更新周期期间出现正常的写操作;
限制主机系统访问主电子存储设备;
在改变读、写策略的同时更新主电子存储设备内的控制指令;
重建主电子存储设备上的写操作数据;其中重建步骤包括:
将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据;以及
恢复主机系统对主电子存储设备的访问。
13.一种供存储系统控制器用的驱动器更新模块,所述驱动器更新模块能更新一个主电子存储设备内的控制指令,配置成更新在分布式数据存储系统内的电子存储设备内的控制指令,所述驱动器更新模块包括:
一个写策略更改模块,配置成使指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
一个映射模块,配置成生成至少一个从主电子存储设备改向的写操作数据的部分映射文件;
一个控制指令更新模块,配置成更新主电子存储设备内的控制指令;以及
一个驱动器重建模块,配置成在主电子存储设备上重建至少包括被改向的写操作数据,驱动器重建模块包括:
一个镜像驱动器重建模块,配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
一个日志文件重建模块,配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
一个再生重建模块,配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
14.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个驱动器更新启动模块,配置成启动主电子存储设备内的控制指令更新。
15.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个备用驱动器可用性模块,配置成确定备用电子存储设备的可用性。
16.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个备用驱动器更新模块,配置成更新备用电子存储设备内的控制指令。
17.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个临时存储指定模块,配置成指定临时电子存储设备,所述临时存储指定模块包括:
一个备用驱动器指定模块,配置成将一个备用电子存储设备指定为临时电子存储设备;以及
一个控制器高速缓存器指定模块,配置成如果没有备用电子存储设备可用就将一个控制器高速缓存器指定为临时电子存储设备。
18.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个镜像驱动器可用性模块,配置成确定镜像电子存储设备的可用性。
19.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个读策略更改模块,配置成改变分布式数据存储系统在主电子存储设备内的控制指令更新期间的读策略,所述读策略更改模块包括:
一个镜像驱动器读出模块,配置成从一个镜像电子存储设备读出所请求的数据;
一个日志文件读出模块,配置成如果镜像电子存储设备不可用就从一个临时电子存储设备上的一个日志文件读出所请求的数据;以及
一个再生读出模块,配置成如果镜像和临时电子存储设备都不可用就用纠错码从奇偶校验驱动器再生所请求的读数据。
20.权利要求13的驱动器更新模块,配置成将升级的驱动器的写扇区映射入一个临时电子存储设备上的一个映射文件。
21.权利要求13的驱动器更新模块,所述写策略更改模块还包括一个日志文件写入模块,配置成将数据写至一个临时电子存储设备上的一个日志文件。
22.权利要求13的驱动器更新模块,所述写策略更改模块还包括一个镜像驱动器写入模块,配置成将数据写至一个镜像电子存储设备。
23.权利要求14的驱动器更新模块,其中所述控制指令更新模块配置成允许在控制指令更新周期期间出现正常的读、写操作。
24.权利要求13的驱动器更新模块,所述驱动器更新模块还包括一个驱动器更新完成模块,配置成完成主电子存储设备内的控制指令更新。
25.一种具有更新能力的分布式数据存储系统,所述分布式数据存储系统包括:
一个主电子存储设备;
一个存储系统控制器;
一个临时电子存储设备;
一个写策略更改模块,配置成使指向主电子存储设备的写操作数据改向到其它存储设备,所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
一个映射模块,配置成生成至少一个从主电子存储设备改向的写操作数据的部分映射文件;
一个控制指令更新模块,配置成更新主电子存储设备内的控制指令;以及
一个驱动器重建模块,配置成在主电子存储设备上重建至少包括被改向的写操作数据,驱动器重建模块包括:
一个镜像驱动器重建模块,配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备;以及
一个日志文件重建模块,配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区;以及
一个再生重建模块,配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据。
26.一种分布式数据存储设备,所述分布式数据存储设备包括:
一个电子存储设备;以及
一个存储系统控制器,所述存储系统控制器包括:
使原来指向主电子存储设备的写操作数据改向到其它存储设备上的装置所述其它存储设备包括镜像电子存储设备、临时电子存储设备上的一个日志文件;
生成至少一个从主电子存储设备改向的写操作数据的部分映射文件的装置;
在使写操作数据转向的同时更新主电子存储设备内的控制指令的装置;以及
一个配置成在主电子存储设备上重建至少包括被改向的写操作数据驱动器重建装置,该驱动器重建装置包括:
一个配置成将写至一个镜像电子存储设备的数据从这个镜像电子存储设备拷贝给主电子存储设备的镜像驱动器重建装置;以及
一个配置成如果镜像电子存储设备不可用,将写至临时电子存储设备上的一个日志文件的数据从这个日志文件拷贝给相应的主电子存储设备的被映射入映射文件的扇区的日志文件重建装置;以及
一个配置成如果镜像电子存储设备和日志文件都不可用,在主电子存储设备的被映射到映射文件的扇区处再生主电子存储设备上的写数据的再生重建装置。
CNB031498442A 2002-07-29 2003-07-28 以非破坏性方式升级驱动器固件的方法和系统 Expired - Fee Related CN1245689C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/208,373 2002-07-29
US10/208,373 US6907504B2 (en) 2002-07-29 2002-07-29 Method and system for upgrading drive firmware in a non-disruptive manner

Publications (2)

Publication Number Publication Date
CN1482547A CN1482547A (zh) 2004-03-17
CN1245689C true CN1245689C (zh) 2006-03-15

Family

ID=30770556

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031498442A Expired - Fee Related CN1245689C (zh) 2002-07-29 2003-07-28 以非破坏性方式升级驱动器固件的方法和系统

Country Status (3)

Country Link
US (1) US6907504B2 (zh)
CN (1) CN1245689C (zh)
TW (1) TWI223146B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234056B2 (en) * 2002-09-24 2007-06-19 Inrange Technologies Corp. Method and apparatus for downloading executable code in a non-disruptive manner
US7231493B2 (en) * 2004-01-09 2007-06-12 Dell Products L.P. System and method for updating firmware of a storage drive in a storage network
US7428557B2 (en) * 2004-03-22 2008-09-23 Microsoft Corporation Efficient data transfer to/from storage medium of computing device
US7171518B2 (en) * 2004-04-02 2007-01-30 Lsi Logic Corporation Data storage system recovery from disk failure during system off-line condition
US7340642B1 (en) * 2004-04-30 2008-03-04 Network Appliance, Inc. Method and an apparatus to maintain storage devices in a storage system
CN100366116C (zh) * 2004-08-29 2008-01-30 华为技术有限公司 通信设备子系统升级方法
US7404184B2 (en) * 2004-09-13 2008-07-22 International Business Machines Corporation Efficient firmware update for hierarchical data storage systems
US7827544B2 (en) * 2004-11-18 2010-11-02 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with parallel activation
US7747573B2 (en) * 2004-11-18 2010-06-29 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with serial activation
US7558915B2 (en) * 2005-06-06 2009-07-07 Dell Products L.P. System and method for updating the firmware of a device in a storage network
US7543287B2 (en) * 2005-06-30 2009-06-02 Intel Corporation Using a block device interface to invoke device controller functionality
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
US7752387B2 (en) * 2006-03-21 2010-07-06 International Business Machines Corporation Offloading firmware update tasks from RAID adapter to distributed service processors in switched drive connection network enclosure
JP2008046791A (ja) * 2006-08-14 2008-02-28 Fujitsu Ltd 記憶装置、ファームウェア更新方法、及び制御装置
JP2008084291A (ja) * 2006-08-28 2008-04-10 Fujitsu Ltd 記憶装置、制御方法及び制御装置
US7730295B1 (en) * 2006-09-05 2010-06-01 Western Digital Technologies, Inc. Updating firmware of a peripheral device
US9202087B2 (en) * 2006-10-31 2015-12-01 Verizon Patent And Licensing Inc. Method and apparatus for controlling access to local storage devices
US8145610B1 (en) * 2007-09-27 2012-03-27 Emc Corporation Passing information between server and client using a data package
JP4530059B2 (ja) * 2008-02-18 2010-08-25 日本電気株式会社 ディスクアレイ装置、ファームウェア交換方法およびファームウェア交換プログラム
CN103984587B (zh) * 2008-06-12 2017-10-20 普安科技股份有限公司 储存虚拟化系统中更新实体储存装置的控制程序的方法
US8010648B2 (en) * 2008-10-24 2011-08-30 Microsoft Corporation Replica placement in a distributed storage system
US8578145B2 (en) 2010-10-13 2013-11-05 International Business Machines Corporation Port throttling across an operating system restart during a hot upgrade
CN102033765B (zh) * 2010-12-03 2014-07-09 深圳市元征软件开发有限公司 一种bcm程序升级方法和车载电控系统升级方法
CN102012830A (zh) * 2010-12-03 2011-04-13 深圳市元征软件开发有限公司 一种设备自动升级方法及设备
US8726261B2 (en) * 2011-04-06 2014-05-13 Hewlett-Packard Development Company, L.P. Zero downtime hard disk firmware update
US8966466B2 (en) 2012-04-04 2015-02-24 Avago Technologies General Ip (Singapore) Pte. Ltd. System for performing firmware updates on a number of drives in an array with minimum interruption to drive I/O operations
US9875094B2 (en) 2012-08-29 2018-01-23 International Business Machines Corporation Microcode upgrade in a storage system
TWI490689B (zh) * 2013-05-17 2015-07-01 英業達股份有限公司 不間斷自動更新測試命令之系統及方法
CN105718207A (zh) * 2014-12-03 2016-06-29 华为技术有限公司 一种数据处理方法、数据读写装置和存储系统
US20160170841A1 (en) * 2014-12-12 2016-06-16 Netapp, Inc. Non-Disruptive Online Storage Device Firmware Updating
JP6532240B2 (ja) * 2015-02-09 2019-06-19 キヤノン株式会社 情報処理装置およびその制御方法
CN105786405B (zh) * 2016-02-25 2018-11-13 华为技术有限公司 一种在线升级方法、装置及系统
US10606826B2 (en) * 2016-12-08 2020-03-31 International Business Machines Corporation Fixing anomalies in a preserved data structure used to generate a temporary data structure during system initialization
CN106970812B (zh) * 2017-03-31 2020-04-10 Oppo广东移动通信有限公司 升级文件处理、装置及终端
CN109213509A (zh) * 2018-08-31 2019-01-15 郑州云海信息技术有限公司 一种raid卡的升级方法、升级系统及相关装置
TWI726502B (zh) * 2019-11-26 2021-05-01 神雲科技股份有限公司 更新韌體不需斷電的伺服器及主機板模組

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US6012123A (en) * 1997-06-10 2000-01-04 Adaptec Inc External I/O controller system for an independent access parity disk array
US6016553A (en) * 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
JP3575964B2 (ja) * 1997-10-30 2004-10-13 富士通株式会社 ディスクアレイ装置
AU4547099A (en) * 1998-06-05 1999-12-20 Mylex Corporation Snapshot backup strategy
US6260124B1 (en) * 1998-08-13 2001-07-10 International Business Machines Corporation System and method for dynamically resynchronizing backup data
JP2002318666A (ja) * 2001-04-20 2002-10-31 Hitachi Ltd ディスクアレイ装置に実装されたハードディスクユニットのファームウエアの更新方法およびこの更新方法を実行する機能を備えたディスクアレイ装置
US6820211B2 (en) * 2001-06-28 2004-11-16 International Business Machines Corporation System and method for servicing requests to a storage array
US6728833B2 (en) * 2002-02-28 2004-04-27 International Business Machines Corporation Upgrading firmware on disks of the raid storage system without deactivating the server
US6816950B2 (en) * 2002-05-08 2004-11-09 Lsi Logic Corporation Method and apparatus for upgrading disk drive firmware in a RAID storage system

Also Published As

Publication number Publication date
CN1482547A (zh) 2004-03-17
TW200401975A (en) 2004-02-01
US6907504B2 (en) 2005-06-14
US20040019752A1 (en) 2004-01-29
TWI223146B (en) 2004-11-01

Similar Documents

Publication Publication Date Title
CN1245689C (zh) 以非破坏性方式升级驱动器固件的方法和系统
CN1149480C (zh) 文件存储装置
CN1145889C (zh) 用盘片记录和再现信息的方法与设备
CN1191518C (zh) 用于分级存储管理系统的转换廉价磁盘冗余阵列
CN1786921A (zh) 复制控制器及其方法
CN1296835C (zh) 用于控制计算机系统的引导操作的装置和方法
CN1848070A (zh) 数据存储设备、重构控制设备、重构控制方法与存储介质
CN1955940A (zh) Raid系统、raid控制器及其重建/拷回处理方法
CN1904858A (zh) 数据存储设备、数据存储方法以及记录/再现系统
CN1808367A (zh) 存储系统
CN1881167A (zh) 存储控制装置及其控制方法
CN1908907A (zh) 改善资料写入效率的方法以及实施此方法的子系统与系统
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
CN1248335A (zh) 闪速存储器系统
CN1808611A (zh) 检测不准确数据的设备和方法
CN1866163A (zh) 具有高功率和低功率磁盘驱动器的多磁盘驱动器系统
CN101046771A (zh) 使用闪存的存储系统及其平均读写方法和平均读写程序
CN1622008A (zh) 抑制驱动器工作时间的磁盘阵列
CN1820319A (zh) 信息记录装置
CN1679000A (zh) 在raid数据重建和转移中使用文件系统信息
CN1278356A (zh) 在面向对象的数据存储装置上的对象重建
CN1655127A (zh) 用于储存系统的介质扫描操作方法及其装置
CN1794162A (zh) 储存虚拟化控制器、子系统及系统与方法
CN1645516A (zh) 用于闪速存储器的数据恢复设备和方法
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee