CN100409198C - 容错数据存储设备 - Google Patents
容错数据存储设备 Download PDFInfo
- Publication number
- CN100409198C CN100409198C CNB2005100566956A CN200510056695A CN100409198C CN 100409198 C CN100409198 C CN 100409198C CN B2005100566956 A CNB2005100566956 A CN B2005100566956A CN 200510056695 A CN200510056695 A CN 200510056695A CN 100409198 C CN100409198 C CN 100409198C
- Authority
- CN
- China
- Prior art keywords
- data storage
- data
- library information
- hard disk
- partition table
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在数据存储设备的一个或多个数据存储驱动器中提供容错数据恢复的系统及方法。该在数据存储设备中实现容错的方法可包括将与一个或多个数据库相关的信息存储进数据存储设备的一个或多个数据存储驱动器的一个或多个分区的一个或多个库信息块中。当该实现容错的系统利用一个或多个数据存储驱动器实现一个或多个数据库时,该系统包括内存、驻存在该内存中的软件、及能执行该软件的处理器。
Description
技术领域
本发明涉及一种具有容错功能的数据存储设备。
背景技术
当数据存储设备的任何分区被更新,更新流程中出现的任何中断可带来严重的后果,特别是当更新是在元数据上执行时。元数据的更新可以经由在该数据存储设备上的更新程序来完成。令人遗憾地,在一些情形下,这样的更新程序可能被中断,存储于该数据存储设备的数据可能包含有被破坏的数据。当执行该更新程序时,中断可能是由电子或物理原因所引起。例如,在更新程序的过程中,电源故障可能会破坏正被写入该数据存储设备的一个或多个数据存储驱动器内的数据。另外,从该数据存储设备物理地移动一个或多个数据存储驱动器可能会中断该更新程序,从而导致对元数据一个或多个错误。当出现这样的元数据错误时,访问存储数据的能力会受到消极影响,因为所述存储数据是依赖于元数据的。
通过将这样的系统与本发明进行比较,对本领域的普通技术人员来说,传统方案的其它缺点和局限性是显而易见的。以下将参考附图对本发明进行阐述。
发明内容
本发明涉及一种当利用数据存储设备实现数据存储系统时提供容错的系统及方法。本发明提供用于一个或多个数据存储驱动器的分区、或一个或多个扇区的一部分的冗余编码。当错误的出现损坏了存储在一个或多个数据存储驱动器中的数据时,该冗余编码可以被采用。前述的方面可结合至少一个下述的附图被充分显示及描述,如在权利要求中更完全的陈述。
根据本发明的一方面,提供一种在数据存储设备中实现容错的方法,所述数据存储设备包括一个或多个数据存储驱动器,所述方法包括,
首先,将与一个或多个数据库的实现相关的信息存储进所述一个或多个数据存储驱动器的一个或多个分区的一个或多个第一库信息块中;及
其次,将所述与一个或多个数据库的实现相关的信息存储进所述一个或多个数据存储驱动器的一个或多个分区的一个或多个第二库信息块中;
其中,所述第一库信息块是所述第二库信息块的镜像,且所述第一和第二库信息块用来链接或连接一个或多个用于创建或形成数据库的分区。
优选地,当对所述一个或多个第一库信息块及所述一个或多个第二库信息块进行数据更新时,在所述一个或多个第一库信息块及所述一个或多个第二库信息块中可能出现数据错误,利用由所述一个或多个第一库信息块及所述一个或多个第二库信息块提供的备份排除该数据错误。
优选地,所述数据错误是由于电源中断所产生。
优选地,所述数据错误是由于当对所述一个或多个第一及/或第二库信息块的数据进行更新时,移动一个或多个数据驱动器所产生。
优选地,该方法包括执行对所述一个或多个第一和第二库信息块中的一个或多个第一库信息块或一个或多个第二库信息块的更新。
优选地,所述更新的一个或多个第一库信息块或所述一个或多个第二库信息块处于静止状态。
优选地,所述方法还包括:
首先,将与一个或多个分区的大小和位置相关的信息存储进所述一个或多个数据存储驱动器的一个或多个第一分区表中;及
其次,将所述与一个或多个分区的大小和位置相关的信息存储进所述一个或多个数据存储驱动器的一个或多个第二分区表中;
其中所述第一分区表是所述第二分区表的镜像。
优选地,由所述一个或多个第一分区表及所述一个或多个第二分区表提供的冗余被用于排除数据错误,该数据错误可能在对所述一个或多个第一及第二分区表进行更新时出现。
优选地,所述数据错误由电源中断所产生。
优选地,所述数据错误由当对所述一个或多个第一分区表或所述一个或多个第二分区表的数据进行更新时,移动一个或多个数据驱动器所产生。
优选地,该方法包括当所述一个或多个第一分区表或所述一个或多个第二分区表中的分区表处于静止状态时,执行对所述分区表的更新。
优选地,所述方法还包括将第一分区表设定为静止分区表,并将第二分区表设定为活动分区表,当更新两个或多个数据存储驱动器的分区表时,执行以下步骤:
访问所述两个或多个分区表的一个或多个静止分区表;
在所述一个或多个静止分区表中写入新的数据;及
采用来自所述一个或多个静止分区表的所述新的数据,在所述的两个或多个分区表的一个或多个活动分区表中写入所述新的数据,此后所述一个或多个活动分区表变成静止。
优选地,在本发明的所述方法中,所述一个或多个数据存储驱动器为一个或多个硬盘驱动器,所述第一库信息块和第二库信息块中包括一个或多个硬盘驱动器的盘头的盘名称区段,在对所述硬盘驱动器重命名时,执行以下步骤:
当所述一个或多个硬盘驱动器中一个盘头的盘名称区段中包含错误时,执行驻存在所述数据存储设备的内存中的软件指令集,所述错误在所述重命名过程中出现;
首先,定位在所述硬盘驱动器的一个分区的第一库信息块中的第一区段;
其次,定位在所述硬盘驱动器的一个分区的第二库信息块中的第二区段;
首先,识别在所述第一区段中的第一硬盘名称;
再次,识别在所述第二区段中的第二硬盘名称;
比较所述第一硬盘名称与第二硬盘名称;及
如果所述第一硬盘名称与第二硬盘名称相同,将所述第一硬盘名称写入到所述硬盘驱动器的所述盘头的所述盘的名称区段中。
优选地,所述第一区段及所述第二区段包括窗格分区说明区段(panepartition specification fields)。
优选地,在本发明的方法中,所述一个或多个数据存储驱动器为一个或多个硬盘驱动器,所述第一库信息块和第二库信息块中包括数据库的名称,在对所述数据库重命名时,执行以下步骤:
在内存中创建第一变量用于存储所述数据库的新名称,所述第一变量被一个或多个数据处理设备所采用,所述第一变量用于补充(complementary to)第二变量,所述第二变量存储有所述数据库的旧名称;及
利用存储在所述第一变量的所述数据库的所述新名称更新所述第二变量。
优选地,所述一个或多个数据处理设备包括打印机服务器。
优选地,所述一个或多个数据处理设备包括主域控制器。
根据本发明的一个方面,提供一种利用一个或多个数据存储驱动器用于提供一个或多个数据库的容错实现的系统,所述系统包括:
内存;
驻存在所述内存中的软件;及
可执行所述软件的处理器,所述执行可在一个或多个分区中产生第一库信息块及第二库信息块,所述第一库信息块是所述第二库信息块的镜像,所述第一库信息块及所述第二库信息块提供与连接所述一个或多个分区相关的信息,其中所述连接利用一个或多个数据存储驱动器产生所述一个或多个数据库。
优选地,所述执行可产生第一分区表及第二分区表,所述第一分区表是所述第二分区表的镜像,所述第一分区表及第二分区表提供所述一个或多个数据存储设备中的一个或多个分区的位置及大小。
优选地,所述数据存储驱动器包括硬盘驱动器。
本发明的这些及其他的优点、方面及新颖性,和其实施例的细节,将结合下述的描述及附图而更易于全面理解。
附图说明
图1示出了根据本发明实施例的一种在系统中采用了网络附属存储设备(NAS)的典型系统的方框图。
图2示出了根据本发明实施例的一种NAS的方框图。
图3示出了根据本发明实施例的一种NAS芯片(NASoC)的方框图。
图4示出了根据本发明实施例,当故障出现时,成功地从NAS访问数据的操作步骤流程图。
图5示出了根据本发明实施例,在对硬盘重命名操作过程中,当一个或多个问题破坏了其盘头中的盘名称区段时,实现容错程序的运作流程图。
具体实施方式
本发明涉及当利用数据存储设备实现数据存储系统时提供容错的系统及方法。在一个实施例中,该数据存储设备包括一个或多个数据存储驱动器。辅助数据存储驱动器可被成功地增加以扩展数据存储设备的容量。该数据存储驱动器可包括硬盘驱动器。
本发明提供用于一个或多个硬盘驱动器的一个或多个扇区或分区的一部分的冗余编码,以使该分区可被共同地用于产生一个或多个数据库。该编码部分包括驻存于一个或多个扇区或分区的一个或多个表头中的数据。该存储在表头中的一个或多个数据区段内的信息可被用于映射或访问来自一个或多个分区的某些数据,以使用户所需的一个或多个数据库被成功地访问及检索。该表头可被称为库信息块(PIBs),其位于每一分区中。该冗余编码可包括存储在一个或多个数据存储驱动器中的一个或多个分区的一个或多个区段中的数据。该一个或多个区段可包括一个例如在PIB中的窗格分区说明区段。当然,数据库与超过一个或多个硬盘驱动器的一个或多个分区的集合相对应,以致产生一个“逻辑驱动器”。在一代表性实施例中,该表头(或PIB)被复制以产生第二表头。象这样,两个PIB被合并进每一分区,作为冗余手段,产生成双的或镜像的PIB。该数据存储驱动器被用于存储由电缆话务员或电信服务商所提供的视频或多媒体数据。该数据存储设备可被通信地连接到一个或多个数据处理设备(如人个视频录像器(PVR)、PVR准备机顶盒、电脑、PDA、数字化应用设备等等),以使该存储在数据存储设备中的数据可被传送到或接收自一个或多个数据处理设备。例如,该数据存储设备可被连接或配置到一个网络中,以使该一个或多个数据处理设备可在该数据存储设备上进行数据读写操作。因为其所具备的功能,上述的数据存储设备可被称为网络附属存储设备(NAS)。有关库信息块(PIB)的使用的细节信息可在2005年3月22日申请的专利申请号为11/087,136的美国专利中找到,其名称为“利用一个或多个数据存储设备分配及管理数据存储容量的系统及方法(Method and System of Data Storage Capacity Allocation andManagement Using One or More Data Storage Drives)”(代理所编号15675US03),在此通过整体参照将该申请的全部主题结合于本文中。
如此处所描述,数据存储设备可包括一个或多个数据存储驱动器,诸如硬盘驱动器,或其他类型的驱动器。数据存储设备可包括不同类型的数据存储驱动器的组合。数据存储驱动器可包括能够存储数据的任何类型的媒介。以下,可选用术语“硬盘驱动器”来指代数据存储驱动器或任何驱动器或包括有用于存储数据的媒介的部件。在代表性实施例中,一个或多个数据存储驱动器或硬盘驱动器可被结合进数据存储设备。该数据存储设备包括一个或多个数据存储驱动器或硬盘驱动器。在代表性实施例中,该数据存储设备促进了一个或多个附加数据存储驱动器或硬盘驱动器的结合。通过将一个数据存储驱动器与另一个数据存储驱动器链接到一起的连接器,可以对该数据存储驱动器或硬盘驱动器进行扩展。
图1示出了根据本发明实施例的一种配置有网络附属存储设备(NAS)100的典型系统的方框图。该NAS 100为一个或多个数据处理设备提供数据存储。如图所示,一个典型的交换设备提供了NAS 100到一个或多个数据处理设备的连接。该交换设备能够采用无线或有线通信提供连接。例如,无线路由器可采用下述的任一无线或有线数据通信协议:10/100M以太网、千兆以太网、802.11X、蓝牙等等。该一个或多个数据处理设备包括如下设备,诸如,数码摄像机(cybercam)、数码相机、MP3播放机、PDA及一个或多个个人视频录像机(PVR)。如图所示,PVR可配备/不配备硬盘驱动器。在一个实施例中,PVR可被认为是一个结合有个人视频录像机功能的机顶盒(STB)。在另一实施例中,PVR可被认为是PVR-STB。图示的PVR被连接到可为家庭用户播放多媒体内容的电视机或监视器。NAS 100的使用提供了一个中央存储设备,可用于存储从该一个或多个PVR所接收的多媒体内容。作为在NAS 100中存储内容的结果,未配置存储装置(如硬盘驱动器)的PVR,可将其接收到的任何数据存储进NAS 100。另外,任何由其他数据处理设备存储的数据,包括PVR,可被任何一个或多个数据处理设备很容易地访问或查看。例如,不带硬驱的PVR可访问由带有硬驱的PVR最初存储到NAS 100中的多媒体内容,反之亦然。结果,NAS 100促使了一个或多个数据处理设备中的数据分享。既然它提供了一个远程存储机构,该NAS 100可被一个或多个数据处理设备认作为一个“虚拟存储设备”。该NAS 100的配置使得其存储容量可以容易地扩展。在一个实施例中,该NAS 100可接受附加硬盘驱动器。通过将硬盘驱动器插进“驱动器滑板(driver sled)”可以很容易地扩展该NAS的存储容量,且该“驱动器滑板”可以很容易地插入到NAS 100的机架中。该“驱动器滑板”可被认为是一个可与一类或多类硬盘驱动器接口连接或配合的装置,以使其插入进NAS 100被毫不费力地实现。在一个实施例中,现存的硬盘驱器可被具有更高容量的驱动器所代替。NAS 100可包括附加的多个能够容纳一定数量的驱动器的空“驱动器滑板”,适于将来的扩充和扩展。
当NAS第一次连接到图1所显示的典型交换设备,作为初始化流程的一部分,可对其一个或多个参数进行设置。在一个实施例中,在初始化过程中设置的参数包括该NAS的时间、日期及时区。该NAS可利用图1所显示的电脑作为其时间、日期及时区设置中的参考源。可预期的是,NAS可以利用图1中所示的其他处理设备(如,数码摄像机、数码相机、不带硬驱的PVR、带硬驱的PVR、MP3播放器、或PDA)中任何一个作为其设置过程中的参考源。
图2示出了根据本发明实施例的一种网络附属存储设备(NAS)200的方框图。该NAS 200包括一个包含有一个或多个元件的印刷电路板(NASPCB)202。该一个或多个元件经由印刷电路板(PCB)202电连接。一个或多个元件包括NAS芯片(NASoC)204、随机存储器208、快闪存储器212、AC电源接口216、电源220、接口块224、无线收发信机/天线模块228、一个或多个硬盘驱动器232及控制器236。接口块224可包括一个或多个下述接口:IEEE 1394、USB、10/100M以太网、千兆以太网、PCI、SATA、ATA、IDE、SCSI、GPIO等等。无线收发信机/天线模块228可包括一块可任选地连接或附装到NAS的印刷电路板202上的可附加模块或袖珍型PCI卡。如图所示,该NAS 200可以配置多达N个硬盘驱动器。基于预定的应用,该NAS 200可配置任何数目的硬驱。该所配置的硬盘驱动器的数目,例如,可依赖于接入到该NAS 200的用户的数目或所使用的应用的类型。该所配置的硬盘驱动器的数目,例如,也可依赖于所期望的数据映射或数据分拆(datamirroring or data striping)(即RAID)的范围。根据本发明的特征,由于NAS被设计成可接纳附加的驱动器,因而允许对存储容量进行扩展。通过简单地将一种或多种类型驱动器(具有不同的大小及速度)连接进一个可很容易地滑进NAS机架中的硬盘架或“驱动器滑板”,使一个或多个附加驱动器结合于NAS。在一个实施例中,控制器236对任何一种连接到NASoC 204的设备(如硬盘驱动器)进行控制。该MASoC 204可包括一块结合了处理器或中央处理单元(CPU)240的集成电路芯片。
图3示出了根据本发明实施例的一种NAS芯片(NASoC)300的方框图。该NASoC 300是一块安装在以上所描述的NAS PCB上的集成电路。该NASoC 300提供一个或多个功能,可允许NAS适当操作。该NASoC300包括中央处理单元(CPU)304、芯片内随机存储器308、以太网/MAC控制器312、密码加速器316、一个安全/鉴定、密鈅的交换、DRM芯片320,及许多接口324、328、332、336、340。例如,可采用下述的接口:USB设备I/F324、PCI主机I/F 332、GPIO/LCD/闪存媒体I/F 328、ATA I/F 336及USB主机I/F 340。该NAS芯片300可通信及/或连接到图5中所描述的一个或多个元件(请参考图5的描述)。
参考图2,NAS 200可根据其存储容量及RAID(映射及/或分拆(mirroringand/or striping))可配置可变数目的硬盘驱动器。例如,该NAS 200可采用4个硬盘驱动器来执行RAID 0+1(数据映射和数据分拆两者(both datamirroring and data striping)),以适于在小型办公/商业环境中使用。在另一方面,该NAS 200可在家庭(或家用)环境仅利用1或2个硬盘驱动器,因为其采用的存储器容量一般小于在办公/商业环境中所采用的。在另外的代表性实施例中,该NAS 200可采用任何数目(即一个或多个)的硬盘驱动器。相似地,在NAS 200中采用的内存元件也可依使用的类型而变化。由于数据存储需求的增长及数据存储相关请求的频率的增长,可以通过增加NAS 200的内存大小来提高NAS 200的性能以符合其工作的需要。例如,闪存或DRAM内存容量可被增加以提高NAS 200的处理性能。相似地,机架尺寸、电源电路、及其他元件也可被调整以符合当NAS的存储器容量被扩展后的处理需求。
在一个实施例中,当该NAS 200被启动或加电时,该NASoC(204或300)中的处理器240会执行驻存于RAM 208及/或闪存212内的软件或韧件。在一个实施例中,执行该软件会产生一个或多个容错算法,在NAS 200的数据处理过程中出现一个或多个错误时,使用该算法。在一个实施例中,该软件或韧件存储在NAS 200的RAM 208或闪存212中(请参考在先的图2)。该闪存可包括非易失随机存储器(NVRAM)。
图4示出了根据本发明实施例,对NAS的一个或多个数据存储驱动器中的被破坏数据的检错和纠错过程的操作流程图。错误的出现会导致存储在一个或多个数据存储驱动器的一个或多个分区中的数据被破坏。被破坏的数据可能包括一个或多个库信息块(PIB),该库信息块用在对一个或多个用于创建或形成数据库的分区进行链接或连接。该错误的出现可包括在PIS的数据处理或操作过程中的电源断电。例如,在PIB上的一个操作过程中的电源断电或电源中断会使数据遭到破坏。该操作可包括更新存储在PIB中的数据。另外,提供到NAS中的一个或多个数据存储驱动器的电子信号的中断也可构成错误发生。这可在当用户移动或突然断开数据存储驱动器时出现。错误发生可包括引起NAS的一个或多个数据存储驱动器中的数据被破坏的任何物理的或电子的刺激。在步骤404,当NAS正在对数据进行操作时,一个典型的电源断电出现。例如,该电源断电可能在当库信息块(PIB)正进行更改或更新时发生。电源断电会导致在一个或多个硬盘驱动器的一个或多个分区中出现遭破坏的数据。该一个或多个分区可包括正被更改的PIB。每一该一个或多个分区可包括镜像的(或成双的)库信息块(PIB)。因而,该两个PIB中仅有一个(例如,该活动的或第一PIB)会受该错误发生或典型电源断电的影响。在步骤408,NAS在读取一个或多个数据库时检测被破坏的数据。在一个或多个分区被连接之后对数据库进行读取时,该NAS可检测被破坏的数据。在步骤412,一个或多个算法被用于通过采用其镜像PIB(如静止PIB或第二PIB或第二表头)在被破坏的PIB(例如活动PIB或第一PIB或第一表头)中恢复该被破坏的数据。在一个代表性实施例中,当在受影响的PIB中恢复该被破坏的数据时,该关联的数据库可以是未安装的。请参照结合于2005年3月22日申请的,序列号为11/087,136的专利,其名称为“利用一个或多个数据存储驱动器分配及管理数据存储容量的系统及方法(Method and System of Data Storage Capacity Allocation and ManagementUsing One or More Data Storage Drives)”(代理所编号15675US03),该第一及第二表头(该镜像的PIB)可包含与各个分区相关的信息,该各个分区共同形成数据库的。该第一或第二表头中的每一个表头可包含与其关联的数据库中的其分区的组织结构及/或识别相关的信息。这些检错及纠错处理可通过读取、校验及测试一个或多个数据库时产生。在第一PIB中的数据被恢复之后,流程继续步骤416,该纠错数据被成功地访问或读取,且其关联的分区被正确链接以形成预期的数据库。作为最后的校验步骤,采用一个或多个应用程序对该数据库进行测试。此后,该关联的数据库可被重安装。来自该数据库的数据可被一个或多个通信地连接到NAS的数据处理或计算设备所请求及检索。一个或多个应用程序现在可利用存储在该数据库中的该数据。
在一个代表性实施例中,NAS通过检查该两个PIB中每一个PIB的一个或多个对应区段来检测被破坏的数据。例如,该NAS可检测在该两对应区段之间数据的不匹配。在一代表性实施例中,一个或多个算法被应用到每一该一个或多个分区的成双的PIB,以对在该数据库的一个或多个分区中的每一个PIB中发现的任何被破坏的数据进行检错及纠错。例如,该一个或多个算法可对在成双的PIB的对应区段之间的任何不匹配进行检错及纠错。一旦差异被检测到,该一个或多个算法可执行在PIB中的其他区段的进一步检查。该算法可包括对数据库的每一该一个或多个分区的对应PIB之间存储的数据进行比较。在一个代表性实施例中,该NAS可使用该PIB的时间及日期区段确定该两个PIB中哪个建立得更早。在一个代表性实施例中,较早建立的该PIB可被用作参照以在其他PIB的被破坏的区段重写数据。
图5示出了根据本发明实施例,在对硬盘重命名操作过程中,当一个或多个问题破坏了其盘头中的盘名称区段时,实现容错程序的运作流程图。该一个或多个问题可包括在进行重命名操作时,由NAS的电源故障引起的或从NAS上移动硬盘驱动器所引起的数据错误。在步骤504,一个或多个问题出现会在将一硬盘名称写入到硬盘驱动器的盘头的盘名称区段中时引发错误。例如,在盘重命名操作过程中的电源故障可能引起NAS重启动。在重启动周期的过程中,该NAS可自动执行引导程序中的指令以校验或检查一个或多个与该盘重命名操作相关的区段。该一个或多个区段可包括位于一个或多个库信息块(PIB)内的窗格分区说明区段。(请参照结合于2005年3月22日申请的,序列号为11/087,136的专利,其名称为“利用一个或多个数据存储驱动器分配及管理数据存储容量的系统及方法(Method and Systemof Data Storage Capacity Allocation and Management Using One or More DataStorage Drives)”(代理所编号15675US03))。在步骤508,该NAS定位该硬盘驱动器中的分区的PIB中的窗格分区说明区段。该窗格分区说明区段可包括该分区所驻存的盘名称。在步骤512,该NAS可验证该两个PIB的窗格分区说明区段中的盘名称是相同的。而且,该NAS可进一步验证该盘的唯一ID、该NAS ID及时间/日期图章,以确保由PIB提供的数据的完整性。接下来,在步骤516,如果该窗格分区说明区段中的盘名称是相同的,该NAS将该盘名称(利用从PIB获得的盘名称)重写到硬盘驱动器的盘头中的盘名称区段中。
关于盘头的指令的详细信息可在于2005年3月22日申请的,专利申请号为11/087,136的专利中找到,其名称为“利用一个或多个数据存储驱动器分配及管理数据存储容量的系统及方法(Method and System of Data StorageCapacity Allocation and Management Using One or More Data Storage Drives)”(代理所编号15675US03),在此通过整体参照从而结合以上陈述的申请。在该代表性实施例中,每一盘头包括2,560字节。该盘头包括许多区段。该盘头中的区段偏移及字节长度可以不同。值得预期的是,根据本发明的不同方面可以采用其他的实施例。
本发明的不同方面提供了该盘头利用两个相同的分区表。使用两个相同的分区表提供了一种对冗余的度量。该第一分区表或第二分区表均可包括1024字节。该盘头被构建以使在任一给定的时间,该两个分区表中仅有一个是活动的,以盘头中的一个字节的标志区段进行标明。当改变或修改分区表,新信息被写进该静止的分区表,此处被标识为第一分区表,且该一个字节的标志被触发(toggle)以使该静止的分区表(第一分区表)变成活动。该第一分区表现在可被一个或多个应用访问或使用,而该第二分区表现在从该第一分区表复制该更新的数据。当一个或两个分区表由于错误发生而被破坏时,冗余分区表提供了安全的手段。该错误发生引起到受影响的数据存储驱动器的一个或多个分区表的数据被破坏及/或数据错误。该错误发生可包括在两个相同的分区表其中一个上进行数据处理或操作过程中,发生的电源中断。该错误发生可包括当对数据存储驱动器的分区表进行更新时,移动了数据存储驱动器。该分区表,当然提供数据存储驱动器中的一个或多个分区的位置及大小。关于盘头的详细信息可在于2005年3月22日申请的,专利申请号为11/087,136的专利中找到,其名称为“利用一个或多个数据存储驱动器分配及管理数据存储容量的系统及方法(Method and System of DataStorage Capacity Allocation and Management Using One or More Data StorageDrives)”(代理所编号15675US03),在此通过整体参照从而结合以上陈述的申请。
本发明的不同方面提供了在数据库重命名操作过程中的容错。一个或多个在数据库重命名操作过程中的容错方法及系统被实现。在一个代表性实施例中,所采用的该方法在第一PIB被完全写入之前阻止将数据库名写入到第二PIB中。所采用的该方法可在至少一个数据存储驱动器故障(missing)时阻止重命名数据库。在该数据库被重命名之前,该故障(missing)的数据存储驱动器必须被重安装到数据存储设备中。
另外,一个或多个新变量可在内存(如非易失性随机存储器(NVRAM))中被创建,以使该新数据库名称可被存储进该一个或多个新变量的一个之中,而该旧名称正被现存的变量所使用。在这种情况下,为使打印机服务器及/或主域控制器(PDC)正常操作,可能需要该数据库名称。当该现存的变量未被打印机服务器及/或主域控制器所请求的功能或操作而使用时,可以利用存储在该新变量中的数据对该现存的变量进行更新。此后,新的变量可以删除。
虽然通过实施例对本发明进行了描述,本领域技术人员知晓,在不脱离本发明权利要求范围的情况下,可以对本发明进行各种改变及等同替代。另外,在不脱离本发明权利要求范围的情况下,从本发明的教导中可以对本发明进行修改以适应特定的情形或材料。因而,本发明不受此处所公开的特殊的实施例的限制,任何落入本发明权利要求范围内的实施例都属于本发明的范围。
本申请引用、要求优先权及主张受益于:
于2004年4月15日提交的序列号为60/562852的美国临时专利申请,其名称为“在硬盘存储设备中的容错数据存储(Fault Tolerant Data Storage ina Disk Storage Device)”(代理方编号为1568US01),在此通过整体参照从而结合以上陈述的申请。
于2005年1月31日提交的序列号为60/648488的美国临时专利申请,其名称为“容错数据存储设备(Fault Tolerant Data Storage Device)”,(代理方编号为1568US02),在此通过整体参照从而结合以上陈述的申请。以及
于2005年3月22日提交的序列号为11/087,136的美国专利申请,(代理方编号为15675US03),在此通过整体参照从而结合以上陈述的申请。
Claims (11)
1. 一种在数据存储设备中实现容错的方法,所述数据存储设备包括一个或多个数据存储驱动器,其特征在于,所述方法包括:
首先,将与一个或多个数据库的实现相关的信息存储进所述一个或多个数据存储驱动器的一个或多个分区的一个或多个第一库信息块中;及
其次,将所述与一个或多个数据库的实现相关的信息存储进所述一个或多个数据存储驱动器的一个或多个分区的一个或多个第二库信息块中;
其中,所述第一库信息块是所述第二库信息块的镜像,且所述第一和第二库信息块用来链接或连接一个或多个用于创建或形成数据库的分区。
2. 如权利要求1所述的方法,其特征在于,还包括:
首先,将与一个或多个分区的大小和位置相关的信息存储进所述一个或多个数据存储驱动器的一个或多个第一分区表中;及
其次,将所述与一个或多个分区的大小和位置相关的信息存储进所述一个或多个数据存储驱动器的一个或多个第二分区表中;
其中所述第一分区表是所述第二分区表的镜像。
3. 如权利要求1所述的方法,其特征在于,当对所述一个或多个第一库信息块及所述一个或多个第二库信息块进行数据更新时,在所述一个或多个第一库信息块及所述一个或多个第二库信息块中可能出现数据错误,利用由所述一个或多个第一库信息块及所述一个或多个第二库信息块提供的镜像排除该数据错误。
4. 如权利要求3所述的方法,其特征在于,所述数据错误是由于电源中断所产生。
5. 如权利要求3所述的方法,其特征在于,所述数据错误是由于当对所述一个或多个第一及/或第二库信息块进行数据更新时,移动一个或多个数据存储驱动器所产生。
6. 如权利要求2所述的方法,其特征在于,还包括将第一分区表设定为静止分区表,并将第二分区表设定为活动分区表,当更新两个或多个数据存储驱动器的分区表时,执行以下步骤:
访问所述静止分区表;
在所述静止分区表中写入新的数据;及
采用来自所述静止分区表的所述新的数据,将所述新的数据写入所述活动分区表中,此后所述活动分区表变成静止。
7. 如权利要求3所述的方法,其特征在于,所述一个或多个数据存储驱动器为一个或多个硬盘驱动器,所述第一库信息块和第二库信息块中包括一个或多个硬盘驱动器的盘头的盘名称区段,在对所述硬盘驱动器重命名时,执行以下步骤:
当所述一个或多个硬盘驱动器的盘头的盘名称区段中包含错误时,执行驻存在所述数据存储设备的内存中的软件指令集,其中所述错误在所述重命名过程中出现;
首先,定位在所述硬盘驱动器的一个分区的第一库信息块中的第一区段;
其次,定位在所述硬盘驱动器的所述分区的第二库信息块中的第二区段;
首先,识别在所述第一区段中的第一硬盘名称;
再次,识别在所述第二区段中的第二硬盘名称;
比较所述第一硬盘名称与第二硬盘名称;及
如果所述第一硬盘名称与第二硬盘名称相同,将所述第一硬盘名称写入到所述硬盘驱动器的所述盘头的所述盘名称区段中。
8. 如权利要求3所述的方法,其特征在于,所述一个或多个数据存储驱动器为一个或多个硬盘驱动器,所述第一库信息块和第二库信息块中包括数据库的名称,在对所述数据库重命名时,执行以下步骤:
在内存中创建第一变量用于存储所述数据库的新名称,所述第一变量被一个或多个数据处理设备所采用,所述第一变量用于补充第二变量,所述第二变量存储有所述数据库的旧名称;及
利用存储在所述第一变量的所述数据库的所述新名称更新所述第二变量。
9. 一种利用一个或多个数据存储驱动器提供一个或多个数据库的容错实现的系统,所述系统包括:
内存;
驻存在所述内存中的软件;
可执行所述软件的处理器;其特征在于,
所述执行可在一个或多个分区中产生第一库信息块及第二库信息块,所述第一库信息块是所述第二库信息块的镜像,所述第一库信息块及所述第二库信息块提供与连接所述一个或多个分区相关的信息,其中所述连接利用一个或多个数据存储驱动器产生所述一个或多个数据库。
10. 如权利要求9所述的系统,其特征在于,所述执行可产生第一分区表及第二分区表,所述第一分区表是所述第二分区表的镜像,所述第一分区表及第二分区表提供所述一个或多个数据存储驱动器中的一个或多个分区的位置及大小。
11. 如权利要求9或10所述的系统,其特征在于,所述数据存储驱动器包括硬盘驱动器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56285204P | 2004-04-15 | 2004-04-15 | |
US60/562,852 | 2004-04-15 | ||
US60/648,488 | 2005-01-31 | ||
US11/087,136 | 2005-03-22 | ||
US11/096,167 | 2005-03-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1737769A CN1737769A (zh) | 2006-02-22 |
CN100409198C true CN100409198C (zh) | 2008-08-06 |
Family
ID=36080571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100566956A Expired - Fee Related CN100409198C (zh) | 2004-04-15 | 2005-04-14 | 容错数据存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100409198C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2191374A1 (en) * | 2007-08-21 | 2010-06-02 | Thomson Licensing | Method and system for repairing damaged hard disk file systems |
US20100146188A1 (en) * | 2008-12-09 | 2010-06-10 | Bramante William J | Replicated file system for electronic devices |
US8458526B2 (en) * | 2009-12-23 | 2013-06-04 | Western Digital Technologies, Inc. | Data storage device tester |
CN113238772B (zh) * | 2021-04-29 | 2024-02-23 | 联合汽车电子有限公司 | 程序更新方法、域控制器以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1252563A (zh) * | 1998-09-08 | 2000-05-10 | 索尼公司 | 文件管理装置和方法及其记录介质 |
US20030023811A1 (en) * | 2001-07-27 | 2003-01-30 | Chang-Soo Kim | Method for managing logical volume in order to support dynamic online resizing and software raid |
-
2005
- 2005-04-14 CN CNB2005100566956A patent/CN100409198C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1252563A (zh) * | 1998-09-08 | 2000-05-10 | 索尼公司 | 文件管理装置和方法及其记录介质 |
US20030023811A1 (en) * | 2001-07-27 | 2003-01-30 | Chang-Soo Kim | Method for managing logical volume in order to support dynamic online resizing and software raid |
Also Published As
Publication number | Publication date |
---|---|
CN1737769A (zh) | 2006-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6294518B2 (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
EP3519969B1 (en) | Physical media aware spacially coupled journaling and replay | |
US6996689B2 (en) | Systems and methods for striped storage migration | |
US9430329B2 (en) | Data integrity management in a data storage device | |
US8725946B2 (en) | Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller | |
CN1776675B (zh) | 用于存储并使用多存储位置中的元数据的方法和系统 | |
US8032707B2 (en) | Managing cache data and metadata | |
EP1815337B1 (en) | Storage system condition indicator and method | |
US20210081273A1 (en) | Method and System for Host-Assisted Data Recovery Assurance for Data Center Storage Device Architectures | |
US7788244B2 (en) | Method and system for copying a snapshot tree | |
US20030204670A1 (en) | Method for loosely coupling metadata and data in a storage array | |
CN100538657C (zh) | 用于时间敏感复制的装置、系统和方法 | |
US9767117B2 (en) | Method and system for efficient write journal entry management for a distributed file system | |
US5859965A (en) | Method and apparatus for maintaining data consistency in raid | |
CN106776106A (zh) | 一种基于NandFlash的数据存储方法 | |
US20230143435A1 (en) | Data recovery method in storage medium, data recovery system, and related device | |
CN100409198C (zh) | 容错数据存储设备 | |
US20170277451A1 (en) | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media | |
US9535799B2 (en) | Apparatus, systems, and methods for data recovery | |
CN117178265A (zh) | 基于快照的数据损坏检测 | |
US7500135B2 (en) | Fault tolerant data storage device | |
CN104903871A (zh) | 虚拟磁带库系统 | |
EP1586996B1 (en) | Fault tolerant data storage method | |
JP3798773B2 (ja) | ディスク制御装置及び冗長化論理ディスクドライブの一貫性回復方法 | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080806 Termination date: 20170414 |