冗余磁盘数组系统的坏块处理方法

文档序号:6480884阅读:327来源:国知局
专利名称:冗余磁盘数组系统的坏块处理方法
技术领域
本发明涉及一种坏块的处理方法,特别是涉及一种冗余磁盘数组系统的坏块处理
方法。
背景技术
为改善硬盘的数据访问效率,于是有人提出了一种将数据平行写入多个硬盘的 访问方式。这种访问方式被称为冗余磁盘数组系统(Redundant Array oflnd印endent Disks,简称为RAID)。简单来说,冗余磁盘数组系统就是将多个硬盘组合成一个逻辑扇 区。因此,以作业系统的角度而言,仅会将冗余磁盘数组系统视为一棵独立的硬盘。在冗余 磁盘数组系统中还包括各种不同的访问方式,举例来说其分为RAID-O、 RAID-1、 RAID-IE、 RAID-5、 RAID-6、 RAID-10与RAID_50。 因为冗余磁盘数组系统的数据写入方式是将数据分布的写入不同的硬盘中。因此
当某一个硬盘发生错误时,就会使得该硬盘中所存储的数据不能被访问,进而造成该笔数
据的破坏。为避免此一情况的发生,所以冗余磁盘数组系统再写入数据的过程中会对该笔
数据做校验码的计算。藉以当某一硬盘发生错误时,冗余磁盘数组系统可以根据校验码撤
消回原始数据,藉以避免因硬盘破坏导致整个冗余磁盘数组系统的不能运作。但是,硬盘的
破坏数量若过于庞大时,系统仍不能根据校验码的机制进行数据的修补。 当硬盘中的扇区(或磁轨)发生错误时,在现有技术直接将硬盘直接的删除。这
样一来,不仅难以对破坏的数据进行修补,更使得冗余磁盘数组系统的存储容量受到影响。

发明内容
鉴于以上的问题,本发明的主要目的在于提供一种对冗余磁盘数组系统的坏块处
理方法,其特征为规模计算机界面磁盘所建构的冗余磁盘数组系统,特别是对该软件冗余
磁盘数组系统中所出现的一损坏块,并对该损坏块中的数据进行备援处理。 为达上述目的,本发明所提供的一种对冗余磁盘数组系统的坏块处理方法包括以
下步骤接收访问请求,用以对冗余磁盘数组系统的数据块进行数据的访问;当对访问的
数据块为损坏块时,则执行访问错误程序用以提取对数据块的访问请求;根据访问请求查
找出数据块在冗余磁盘数组系统中规模计算机界面磁盘的磁盘编号与数据块的逻辑块地
址;获取规模计算机界面磁盘中的保留存储本地;将上述数据块中的存储数据、磁盘编号
与逻辑块地址映射至保留存储本地。 所述的冗余磁盘数组系统中的坏块处理方法,其中,在执行该访问错误程序中还 包括以下步骤 接收所有这些已完成的访问请求; 查找出对该规模计算机界面磁盘进行数据访问失败的该访问请求;以及 根据上述所查找出的该访问请求中,再过滤出属于对该冗余磁盘数组系统的该访
问请求。
所述的冗余磁盘数组系统中的坏块处理方法,其中,查找出该磁盘编号与该逻辑 块地址还包括以下步骤 设置一数据块寻找范围,用以指定欲寻找的这些数据块的数量; 以该逻辑块地址的该数据块为初始化,根据该数据块寻找范围逐一的测试这些数 据块; 计算该数据块寻找范围内的这些损坏块的数量;以及 若该数据块寻找范围内的这些损坏块的数量小于这些预留块的数量时,则依据这 些损坏块的顺序逐一的将其中的数据映射至这些保留存储本地中存放。 所述的冗余磁盘数组系统中的坏块处理方法,其中,在完成映射后还包括以下步 骤 执行一确认请求,用以对该损坏块再进行数据的访问要求。 本发明提供了一种具有坏块处理的冗余磁盘数组系统与方法,其利用规模计算机 界面磁盘中的保留存储本地,用以存放冗余磁盘数组系统中部分坏块中的数据。如此可以 避免直接删除被破坏的磁盘,还可以确保数据的完整性。 以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1A为本发明的结构示意图; 图1B为数据块示意图; 图2为坏块处理程序的流程示意图; 图3为访问错误程序的步骤流程示意图; 图4为查找规模计算机界面磁盘的磁盘编号与数据块的逻辑块地址的步骤流程 示意图。 其中,附图标记 110 访问界面 111 坏块处理程序 120 存储设备 121 规模计算机界面磁盘 122 数据块
具体实施例方式
下面结合附图和具体实施方式
对本发明的技术方案作进一步更详细的描述。
请参考图1A所示,其为本发明的结构示意图。本发明的具有坏块处理的冗余磁盘 数组系统包括有访问界面110与存储设备120。存储设备120由多个规模计算机界面磁 盘121所组成的冗余磁盘数组系统。本发明所应用的范围属于具有校验码功能的冗余磁盘 数组系统。举例来说,本发明可以是RAID-1、RAID-1E、RAID-5、RAID-6、RAID-10或RAID-50 的任一。 请配合参考图1B所示,其为数据块示意图。每一个规模计算机界面磁盘121均指 派相应的磁盘编号。在存储设备120中还包括有多个数据块122,每一个数据块122均具有相应的逻辑块地址。访问界面110连接于存储设备120与客户端。访问界面110用以接收 来自客户端的访问请求,并根据访问请求调用存储设备120所存储的数据。在访问界面110 中还包括有一坏块处理程序111。规模计算机界面磁盘121在出厂时会预留部分的数据块 122用以作为保留存储本地。保留存储本地的占用的数据块122数量依据不同生产厂商有 不同的设置。当对访问的数据块122为损坏块时,访问界面IIO执行相应的坏块处理程序。
请参考图2所示,其为坏块处理程序的流程示意图。坏块处理程序111包括以下 步骤 步骤S210 :访问界面接收访问请求,并对存储设备(意即冗余磁盘数组系统)的 数据块进行数据的访问; 步骤S220 :当对访问的数据块为损坏块时,则执行访问错误程序用以提取对数据 块的访问请求; 步骤S230 :根据访问请求查找出数据块在存储设备中的规模计算机界面磁盘的 磁盘编号与数据块的逻辑块地址; 步骤S240 :获取规模计算机界面磁盘中的保留存储本地; 步骤S250 :将上述数据块中的存储数据、磁盘编号与逻辑块地址映射至保留存储 本地;以及 步骤S260 :执行确认请求,用以对损坏块再进行数据的访问要求。 其中,当对数据块访问发生错误时,则执行访问错误程序用以提取对数据块的访
问请求。在执行访问错误程序中还包括以下步骤,并请同时配合图3所示 步骤S221 :接收所有已完成的访问请求; 步骤S222 :查找出对规模计算机界面磁盘进行数据访问失败的访问请求;以及
步骤S223 :根据上述所查找出的访问请求中,再过滤出属于对冗余磁盘数组系统 的访问请求。 如前面所述,在规模计算机界面磁盘121中会保留有若干的保留存储本地。 一般 而言,保留存储本地用以提供给生产厂商用以测试或存放相关消息的存储空间。对于一般 用户而言,保留存储本地是不可视的。当规模计算机界面磁盘121的某个扇区损坏时,可以 利用坏块重映像功能将这个逻辑块地址指向预留空间中的一个新的扇区,实现规模计算机 界面磁盘121的物理扇区的修复。但存储系统而言,仍可以通过访问指令对保留存储本地 进行访问。在步骤S230中查找规模计算机界面磁盘的磁盘编号与数据块122的逻辑块地 址还包括以下步骤,并请配合图4所示 步骤S231 :设置数据块寻找范围,用以指定欲寻找的数据块的数量; 步骤S232 :以逻辑块地址的数据块为初始化,根据数据块寻找范围逐一的测试数
据块; 步骤S233 :计算数据块寻找范围内的损坏块的数量;以及 步骤S234 :若数据块寻找范围内的损坏块的数量小于预留块的数量时,则依据损 坏块的顺序逐一的将其中的数据映射至保留存储本地中存放。 本发明提供了一种具有坏块处理的冗余磁盘数组系统与方法,其利用规模计算机 界面磁盘121中的保留存储本地,用以存放冗余磁盘数组系统中部分坏块中的数据。如此 可以避免直接删除被破坏的磁盘,还可以确保数据的完整性。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
权利要求
一种冗余磁盘数组系统中的坏块处理方法,该冗余磁盘数组系统为一规模计算机界面磁盘所建构的冗余磁盘数组系统,该坏块处理方法用于对该冗余磁盘数组系统中所出现的一损坏块中的数据进行备援处理,其特征在于,该坏块处理方法包括以下步骤接收一访问请求,用以对该冗余磁盘数组系统的一数据块进行数据的访问;当对访问的该数据块为该损坏块时,则执行一访问错误程序用以提取对该数据块的该访问请求;根据该访问请求查找出该数据块在该冗余磁盘数组系统中该规模计算机界面磁盘的一磁盘编号与该数据块的一逻辑块地址;获取该规模计算机界面磁盘中的一保留存储本地;以及将上述该数据块中的一存储数据、该磁盘编号与该逻辑块地址映像至该保留存储本地。
2. 根据权利要求1所述的冗余磁盘数组系统中的坏块处理方法,其特征在于,在执行 该访问错误程序中还包括以下步骤接收所有这些已完成的访问请求;查找出对该规模计算机界面磁盘进行数据访问失败的该访问请求;以及 根据上述所查找出的该访问请求中,再过滤出属于对该冗余磁盘数组系统的该访问请求。
3. 根据权利要求1所述的冗余磁盘数组系统中的坏块处理方法,其特征在于,查找出 该磁盘编号与该逻辑块地址还包括以下步骤设置一数据块寻找范围,用以指定欲寻找的这些数据块的数量;以该逻辑块地址的该数据块为初始化,根据该数据块寻找范围逐一的测试这些数据块;计算该数据块寻找范围内的这些损坏块的数量;以及若该数据块寻找范围内的这些损坏块的数量小于这些预留块的数量时,则依据这些损 坏块的顺序逐一的将其中的数据映射至这些保留存储本地中存放。
4. 根据权利要求1所述的冗余磁盘数组系统中的坏块处理方法,其特征在于,在完成 映射后还包括以下步骤执行一确认请求,用以对该损坏块再进行数据的访问要求。
全文摘要
本发明公开了一种冗余磁盘数组系统的坏块处理方法,其特征为规模计算机界面磁盘所建构的软件冗余磁盘数组系统,并对软件冗余磁盘数组系统中所出现的损坏块进行数据的备援处理。处理方法包括当软件冗余磁盘数组系统的数据块为损坏块时,调用访问错误程序用以截获对数据块的访问指令;根据访问指令查找出数据块的在软件冗余磁盘数组系统中的磁盘编号与逻辑块地址;选择规模计算机界面磁盘;将上述数据块中的存储数据、磁盘编号与逻辑块地址映射至规模计算机界面磁盘中的保留存储本地。通过上述步骤可以将损坏块的数据映射至正常的块,保持数据的完整性。
文档编号G06F11/14GK101788935SQ20091000851
公开日2010年7月28日 申请日期2009年1月23日 优先权日2009年1月23日
发明者吴清秀, 姚海挺, 陈玄同 申请人:英业达集团(天津)电子技术有限公司;英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1