CN102508724B - 一种基于软raid的磁盘坏块处理方法 - Google Patents

一种基于软raid的磁盘坏块处理方法 Download PDF

Info

Publication number
CN102508724B
CN102508724B CN 201110326370 CN201110326370A CN102508724B CN 102508724 B CN102508724 B CN 102508724B CN 201110326370 CN201110326370 CN 201110326370 CN 201110326370 A CN201110326370 A CN 201110326370A CN 102508724 B CN102508724 B CN 102508724B
Authority
CN
China
Prior art keywords
disk
bad piece
alternate sector
bad
sector
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
Application number
CN 201110326370
Other languages
English (en)
Other versions
CN102508724A (zh
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.)
BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Original Assignee
BEIJING TOYOU FEIJI ELECTRONICS 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 BEIJING TOYOU FEIJI ELECTRONICS Co Ltd filed Critical BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Priority to CN 201110326370 priority Critical patent/CN102508724B/zh
Publication of CN102508724A publication Critical patent/CN102508724A/zh
Application granted granted Critical
Publication of CN102508724B publication Critical patent/CN102508724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于软RAID的磁盘坏块处理方法。本方法集成于磁盘阵列对应的存储操作系统中,在磁盘阵列的每个磁盘内预留了若干备用扇区以备本磁盘的坏块重映射使用,自定义了坏块重映射表用来保存本磁盘上的坏块重映射关系,然后主要修改存储操作系统的内核驱动,依据所用磁盘是否处于冗余状态,以及磁盘本身是否支持坏块重映射操作等具体特点,分情况对磁盘坏块进行处理。本发明可以提高软RAID环境下的数据可靠性,且处理方式比较灵活,处理效率较高。

Description

一种基于软RAID的磁盘坏块处理方法
技术领域
本发明涉及一种磁盘坏块处理方法,具体涉及一种软RAID环境下的磁盘坏块处理方法,属于计算机数据存储技术领域。
背景技术
在大容量数据存储中,磁盘是广泛采用的存储介质。物理上讲,每个硬盘都有自己的“CHS”参数,即磁头数(Heads),柱面数(Cylinders)和扇区数(Sectors),每个扇区一般是512个字节。老式磁盘每个磁道的扇区数相等,利用这三个参数即可实现对任意扇区的随机访问,但这种方式外柱面的记录密度要远低于内柱面,会造成磁盘空间的浪费,已经被多数磁盘厂商所摒弃,转而采用等密度结构生产硬盘,采用这种结构后,寻址方式也改为线性寻址,即以扇区为单位进行寻址,LBA方式就是其中的一种。LBA全称是Logical Block Addressing,即逻辑块寻址,该方式从0开始为物理扇区一一编号,建立逻辑块与物理扇区之间的映射关系,从这种意义上说,块和扇区其实是对同一事物的不同称谓,只不过块的说法层次较高一些,更加适用于比较抽象的场合。
磁盘在出厂前有一个自检过程,该过程会统计并记录磁盘上存在的坏扇区,这些坏扇区在后继使用中不会被映射,也就没有对应的逻辑块地址;磁盘的可用扇区在正式使用前由操作系统按照一定规则,建立逻辑块和物理扇区之间的映射关系,以后操作系统就可以根据逻辑块地址对具体的扇区进行操作。磁盘在使用过程中,由于各种原因仍有可能导致某个逻辑块无法访问的情况,也就是产生了坏块,具体情况可以分两种:一种是偶尔的读错误,经过写验证后可以修复的扇区,该逻辑块仍然有效,可以被继续使用;一种是无法修复的坏扇区,对于这种情况多数磁盘厂商采取的策略是对这个逻辑块地址进行重新映射,将该地址对应到另一块可用的备用扇区。
在坏块产生时,保证逻辑块的可用性仅仅是其中的一方面,如何恢复坏块的原有内容往往是实际应用中更为关注的话题。各种灾备方案是不错的选择,但那是更高层次的解决方案,且一般造价不菲。从底层存储的具体架构来讲,为了使存储的数据具有容错性,提高数据存储可靠性,改善存储系统性能,一般采用各种类型的RAID进行数据存储,其全称是Redundant Arrays ofIndependent Disks,称作独立磁盘冗余阵列,简称磁盘阵列。比较常用的RAID有RAID0、RAID1、RAID5、RAID6、RAID10等。其中RAID0是为了单纯的提高读写性能,不具有冗余能力,RAID1则对磁盘做了镜像,有效使用空间仅为总容量的一半。其它三种阵列分别由多个磁盘组成,它们以条带的方式向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个磁盘上。RAID5的每个条带含有1个校验块,支持任意损坏其中一个磁盘、通过其它磁盘上的奇偶校验块来重建数据;RAID6的每个条带含有2个校验块,支持任意损坏其中两个磁盘、通过其它磁盘上的奇偶校验块来重建数据。采用RAID进行数据存储,在多数情况下可以为坏块产生时的数据重建提供解决方案。
从实现方式来讲,磁盘阵列可以分成“软件RAID”和“硬件RAID”两种。硬件RAID是使用专门的磁盘阵列卡等硬件设备来实现的,性能要高于软件RAID,但成本也比较高;软件RAID一般是通过集成在操作系统中的功能软件实现对磁盘的管理,成本低廉,操作简单。现在的磁盘阵列厂商在开发磁盘阵列产品时,所开发的磁盘阵列一般由针对该磁盘阵列开发的存储操作系统进行控制管理。目前多数采用软RAID的磁盘阵列产品,是在对应的存储操作系统中集成RAID管理功能,用这些功能软件构建常见级别的RAID,但这些采用软RAID的阵列产品在数据可靠性上存在一个较为普遍的问题,那就是它们无法对磁盘在使用过程中产生的坏块进行处理,无法利用RAID的特点对坏块原有内容进行数据重建,致使在磁盘产生一个坏块时就需要更换该磁盘对整个RAID进行重建,浪费了存储资源,也降低了数据存储的可靠性。
发明内容
本发明的目的在于提供一种软RAID环境下的磁盘坏块处理方法,以达到在坏块产生时有条件地进行数据重建的效果。
本方法主要应用于磁盘阵列对应的存储操作系统中。该存储操作系统要求包括以下技术特征:
操作系统为Linux操作系统,具备软RAID的创建、维护和删除功能;系统采用U盘作为存储介质,被制作成USB启动盘格式,制作好的U盘以配件形式安装在磁盘阵列的主板或控制器上。存储操作系统是一个层级结构,在物理硬件上依次构建了内核模式程序和用户模式程序,并应用逻辑卷管理机制对底层磁盘进行管理。本方法在内核模式下实现,是对Linux操作系统内核驱动的修改和扩展。
该磁盘阵列,对盘阵内每个物理磁盘做了特殊处理,预留一部分磁盘空间作为备用扇区区域,并用磁盘空间最末端的一块区域存放DDF(Disk Data Format是SNIA的技术,SNIA的全称是Storage Networking Industry Association,中文名称是全球网络存储工业协会,DDF是由该协会针对RAID而定义的一种标准数据结构,用来描述通用RAID磁盘数据格式,采用DDF结构对RAID进行描述,可以方便不同厂商磁盘产品之间的数据迁移。)结构的RAID信息。备用扇区区域中预留了若干地址连续的扇区作为备用扇区,用来在本磁盘上产生坏块时进行重新映射,备用扇区按照LBA地址从小到大进行排序,被分配使用时按照排序结果依次进行,系统有一个备用扇区定期检查模块,用来定期检测备用扇区的可用情况,以便在备用扇区中出现坏块时,及时更新备用扇区相关信息;最末端以DDF结构描述的RAID信息区域存放着一个自定义的表结构,用来保存本磁盘上的重映射关系,供操作系统上层的数据读写使用,其称作“坏块重映射表”。该表由表头和数据部分组成,表头包含一个统计位和地址位,分别记录了本磁盘上备用扇区已使用的个数和当前首个可用的备用扇区LBA地址,当备用扇区全部用光时,该地址字段被设为无效数值;数据部分由若干条记录组成,初值为零条,随着备用扇区的使用而增加,最大记录数等于备用扇区个数,每个记录包含两个数据位,分别用来保存坏块的逻辑块地址和重新映射后备用扇区的LBA地址。
针对上述特点的磁盘阵列和对应的存储操作系统,本发明提供一种软RAID环境下的磁盘坏块处理方法,包括以下步骤:
步骤一 在磁盘使用过程中产生的坏块被访问到时,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则产生介质访问错误,并反馈给内核驱动;
(2)如果坏块的逻辑块地址已经在表中,则依据该条记录访问坏块重新映射后对应的备用扇区LBA地址,倘若访问正常,则结束当前操作,倘若仍然不能访问,则产生介质访问错误,并反馈给内核驱动;
步骤二 系统读取底层硬盘驱动器发来的错误信息,获得坏块的LBA地址,并判断是否读错误,如果是读错误,由步骤三继续处理,否则是写错误,转向步骤六处理;
步骤三 对于读错误,判断坏块所在驱动器是否处于冗余状态,如果是冗余状态,由步骤四继续处理,如果该驱动器没有采用RAID或者处于RAID0等非冗余状态,致使没有可用的参考点而无法进行数据重建,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤四 对于数据存在冗余,并且参考点状态正常的情况,则依据驱动器所处RAID级别调用对应接口进行数据重建操作,重建成功后,由步骤五继续处理,如果重建失败,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤五 将重建成功的数据写入到坏块对应的LBA地址,并刷新系统缓存,保证数据完全写入到对应物理扇区,然后检验写入的数据是否可读,如果可读,表明该扇区是可以修复的,并且已经被修复,结束当前操作即可,如果写入失败或者写入的数据无法读取,表明该坏块对应的扇区无法修复,由步骤六继续处理;
步骤六 对于写错误,首先读取本驱动器上坏块重映射表的表头,判断是否还有剩余的备用扇区可用,如果没有剩余,表明该驱动器上的坏块无法重新映射,将该块标记为坏块,并将该驱动器标记为重映射失败状态,即结束当前操作,如果有剩余,由步骤七继续处理;
步骤七 向磁盘发送重映射命令,判断所用磁盘本身是否支持重映射操作,如果不支持,转向步骤八进行处理,如果支持,分情况处理如下:
(1)调用磁盘驱动对应接口进行坏块重映射和数据写入操作,如果操作成功,则表明坏块被磁盘自身的重映射机制修复,结束当前操作即可;
(2)在调用磁盘驱动对应接口进行坏块重映射或者数据写入时,如果其中某个操作失败,则表明坏块无法被磁盘本身的重映射机制修复,交由步骤八进行后继处理;
步骤八 检索坏块重映射表的表头,获取当前可用的备用扇区LBA地址,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则直接在表中添加一条记录,记录坏块重新映射后对应备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
(2)如果坏块的逻辑块地址已经在表中,则更新该条记录,记录坏块重新映射后对应新备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
步骤九按照坏块重映射表,将欲写入的数据写入到备用扇区中,并检测写入操作是否成功,依据操作结果处理如下:
(1)如果失败,表明备用扇区中存在坏块,调用系统的备用扇区定期检测模块对备用扇区当前情况进行更新,然后由步骤六进行处理;
(2)如果成功,表明坏块重映射操作完成,结束当前操作即可,此后对坏块的访问由坏块重映射表处理,自动重定向为对备用扇区的访问。
有益效果
本发明的有益效果是:
(1)提高了软RAID环境下的数据可靠性。该方法解决了多数软RAID产品在磁盘产生一个坏块时就需要更换该磁盘对整个RAID进行重建的问题,依据坏块所在磁盘的具体使用情况对坏块进行处理,提供了坏块发生时的处理策略,提高了软RAID产品的数据可靠性。
(2)处理效率较高。软RAID相对于硬件RAID比较明显的弊端是处理速度问题,该方法基于自主研发的存储操作系统构建,多数操作在内核层实现,可以更好的利用系统资源,更为高效透明的实现具体功能。
(3)处理方式比较灵活。对坏块的处理,依据磁盘本身是否支持坏块重映射分情况处理,这样即可以有效利用存储空间,也便于坏块的灵活处理,提高重映射成功的几率。
附图说明
图1为系统体系结构图;
图2为坏块重映射表数据结构示意图;
图3为坏块处理流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本方法所涉及的功能软件集成于某磁盘阵列对应的存储操作系统中,整个系统的体系结构如附图1所示。该存储操作系统自主研发,是一个内核版本为2.6的Linux操作系统,实现了软RAID的创建、维护和删除等功能;该系统采用自主设计的U盘作为存储介质,被制作成USB启动盘格式;制作好的U盘以配件形式安装在该磁盘阵列的主板或控制器上,便于插拔和替换。存储操作系统是一个层级结构,在物理硬件上依次构建了内核模式程序和用户模式程序,并应用逻辑卷管理机制对底层磁盘进行管理。本方法所涉及的功能软件主要在内核模式下实现,是对Linux操作系统内核驱动的修改和扩展。
该磁盘阵列,对盘阵内每个物理磁盘做了特殊处理,预留128MB的磁盘空间作为备用扇区区域,并用磁盘空间最末端的64MB存放DDF结构的RAID信息。备用扇区区域由256个地址连续的扇区作为备用扇区,备用扇区按照LBA地址从小到大进行排序,被分配使用时按照排序结果依次进行,系统有一个备用扇区定期检查模块,用来定期检测备用扇区的可用情况,以便在备用扇区中出现坏块时,及时更新备用扇区相关信息;最末端以DDF结构描述的RAID信息区域中存放有一个“坏块重映射表”。如附图2所示,该表由表头和数据部分组成,表头包含2字节的统计位“cnt”和8字节的地址位“addr”,分别记录了本磁盘上备用扇区已使用的个数和当前首个可用的备用扇区LBA地址,当备用扇区全部用光时,该地址字段被设为无效数值;数据部分由若干条记录组成,初值为零条,随着备用扇区的使用而增加,最大记录数为256个,每个记录包含两个8字节的数据位,分别用来保存坏块的逻辑块地址和重新映射后备用扇区的LBA地址。
以该磁盘阵列和对应的存储操作系统为基础,本实施例实现了一种软RAID环境下的磁盘坏块处理方法,如附图3所示,包括以下步骤:
步骤一 在磁盘使用过程中产生的坏块被访问到时,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则产生介质访问错误,并反馈给内核驱动;
(2)如果坏块的逻辑块地址已经在表中,则依据该条记录访问坏块重新映射后对应的备用扇区LBA地址,倘若访问正常,则结束当前操作,倘若仍然不能访问,则产生介质访问错误,并反馈给内核驱动;
步骤二 系统读取底层硬盘驱动器发来的错误信息,获得坏块的LBA地址,并判断是否读错误,如果是读错误,由步骤三继续处理,否则是写错误,转向步骤六处理;
步骤三 对于读错误,判断坏块所在驱动器是否处于冗余状态,如果是冗余状态,由步骤四继续处理,如果该驱动器没有采用RAID或者处于RAID0等非冗余状态,致使没有可用的参考点而无法进行数据重建,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤四 对于数据存在冗余,并且参考点状态正常的情况,则依据驱动器所处RAID级别调用对应接口进行数据重建操作,重建成功后,由步骤五继续处理,如果重建失败,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤五 将重建成功的数据写入到坏块对应的LBA地址,并刷新系统缓存,保证数据完全写入到对应物理扇区,然后检验写入的数据是否可读,如果可读,表明该扇区是可以修复的,并且已经被修复,结束当前操作即可,如果写入失败或者写入的数据无法读取,表明该坏块对应的扇区无法修复,由步骤六继续处理;
步骤六 对于写错误,首先读取本驱动器上坏块重映射表的表头,判断是否还有剩余的备用扇区可用,如果没有剩余,表明该驱动器上的坏块无法重新映射,将该块标记为坏块,并将该驱动器标记为重映射失败状态,即结束当前操作,如果有剩余,由步骤七继续处理;
步骤七 向磁盘发送重映射命令,判断所用磁盘本身是否支持重映射操作,如果不支持,转向步骤八进行处理,如果支持,分情况处理如下:
(1)调用磁盘驱动对应接口进行坏块重映射和数据写入操作,如果操作成功,则表明坏块被磁盘自身的重映射机制修复,结束当前操作即可;
(2)在调用磁盘驱动对应接口进行坏块重映射或者数据写入时,如果其中某个操作失败,则表明坏块无法被磁盘本身的重映射机制修复,交由步骤八进行后继处理;
步骤八 检索坏块重映射表的表头,获取当前可用的备用扇区LBA地址,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则直接在表中添加一条记录,记录坏块重新映射后对应备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
(2)如果坏块的逻辑块地址已经在表中,则更新该条记录,记录坏块重新映射后对应新备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
步骤九 按照坏块重映射表,将欲写入的数据写入到备用扇区中,并检测写入操作是否成功,依据操作结果处理如下:
(1)如果失败,表明备用扇区中存在坏块,调用系统的备用扇区定期检测模块对备用扇区当前情况进行更新,然后由步骤六进行处理;
(2)如果成功,表明坏块重映射操作完成,结束当前操作即可,此后对坏块的访问由坏块重映射表处理,自动重定向为对备用扇区的访问。
本发明不仅限于以上实施例,凡是利用本发明的设计思路,做一些简单变化的设计,都应计入本发明的保护范围之内。

Claims (1)

1.一种基于软RAID的磁盘坏块处理方法,其特征在于,它应用于磁盘阵列对应的存储操作系统中,该存储操作系统要求包括以下技术特征:
其中,操作系统为Linux操作系统,具备软RAID的创建、维护和删除功能;系统采用U盘作为存储介质,被制作成USB启动盘格式,制作好的U盘以配件形式安装在磁盘阵列的主板或控制器上;存储操作系统是一个层级结构,在物理硬件上依次构建了内核模式程序和用户模式程序,并应用逻辑卷管理机制对底层磁盘进行管理;本方法在内核模式下实现,是对Linux操作系统内核驱动的修改和扩展;
该磁盘阵列,对磁盘阵列内每个物理磁盘做了特殊处理,预留一部分磁盘空间作为备用扇区区域,并用磁盘空间最末端的一块区域存放DDF结构的RAID信息;备用扇区区域中预留了若干地址连续的扇区作为备用扇区,用来在本磁盘上产生坏块时进行重新映射,备用扇区按照LBA地址从小到大进行排序,被分配使用时按照排序结果依次进行,系统有一个备用扇区定期检查模块,用来定期检测备用扇区的可用情况,以便在备用扇区中出现坏块时,及时更新备用扇区相关信息;最末端以DDF结构描述的RAID信息区域存放着一个自定义的表结构,用来保存本磁盘上的重映射关系,供操作系统上层的数据读写使用,其称作“坏块重映射表”,该表由表头和数据部分组成,表头包含一个统计位和地址位,分别记录了本磁盘上备用扇区已使用的个数和当前首个可用的备用扇区LBA地址,当备用扇区全部用光时,该地址字段被设为无效数值;数据部分由若干条记录组成,初值为零条,随着备用扇区的使用而增加,最大记录数等于备用扇区个数,每个记录包含两个数据位,分别用来保存坏块的逻辑块地址和重新映射后备用扇区的LBA地址;
针对上述特点的磁盘阵列和对应的存储操作系统,本发明提供一种软RAID环境下的磁盘坏块处理方法,包括以下步骤:
步骤一  在磁盘使用过程中产生的坏块被访问到时,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则产生介质访问错误,并反馈给内核驱动;
(2)如果坏块的逻辑块地址已经在表中,则依据该条记录访问坏块重新映射后对应的备用扇区LBA地址,倘若访问正常,则结束当前操作,倘若仍然不能访问,则产生介质访问错误,并反馈给内核驱动;
步骤二  系统读取底层磁盘驱动器发来的错误信息,获得坏块的LBA地址,并判断是否读错误,如果是读错误,由步骤三继续处理,否则是写错误,转向步骤六处理;
步骤三  对于读错误,判断坏块所在驱动器是否处于冗余状态,如果是冗余状态,由步骤四继续处理,如果该驱动器没有采用RAID或者处于RAID0等非冗余状态,致使没有可用的参考点而无法进行数据重建,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤四  对于数据存在冗余,并且参考点状态正常的情况,则依据驱动器所处RAID级别调用对应接口进行数据重建操作,重建成功后,由步骤五继续处理,如果重建失败,将该块标记为坏块,并将介质访问错误的信息返回给内核驱动后即可完成操作;
步骤五  将重建成功的数据写入到坏块对应的LBA地址,并刷新系统缓存,保证数据完全写入到对应物理扇区,然后检验写入的数据是否可读,如果可读,表明该扇区是可以修复的,并且已经被修复,结束当前操作即可,如果写入失败或者写入的数据无法读取,表明该坏块对应的扇区无法修复,由步骤六继续处理;
步骤六  对于写错误,首先读取本驱动器上坏块重映射表的表头,判断是否还有剩余的备用扇区可用,如果没有剩余,表明该驱动器上的坏块无法重新映射,将该块标记为坏块,并将该驱动器标记为重映射失败状态,即结束当前操作,如果有剩余,由步骤七继续处理;
步骤七  向磁盘发送重映射命令,判断所用磁盘本身是否支持重映射操作,如果不支持,转向步骤八进行处理,如果支持,分情况处理如下:
(1)调用磁盘驱动对应接口进行坏块重映射和数据写入操作,如果操作成功,则表明坏块被磁盘自身的重映射机制修复,结束当前操作即可;
(2)在调用磁盘驱动对应接口进行坏块重映射或者数据写入时,如果其中某个操作失败,则表明坏块无法被磁盘本身的重映射机制修复,交由步骤八进行后继处理;
步骤八  检索坏块重映射表的表头,获取当前可用的备用扇区LBA地址,检索坏块重映射表的数据部分,判断坏块的逻辑块地址是否已经在表中,依据检索结果处理如下:
(1)如果坏块的逻辑块地址不在表中,则直接在表中添加一条记录,记录坏块重新映射后对应备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
(2)如果坏块的逻辑块地址已经在表中,则更新该条记录,记录坏块重新映射后对应新备用扇区的LBA地址,然后更新表头的统计位和地址位,之后执行步骤九;
步骤九  按照坏块重映射表,将欲写入的数据写入到备用扇区中,并检测写入操作是否成功,依据操作结果处理如下:
(1)如果失败,表明备用扇区中存在坏块,调用系统的备用扇区定期检测模块对备用扇区当前情况进行更新,然后由步骤六进行处理;
(2)如果成功,表明坏块重映射操作完成,结束当前操作即可,此后对坏块的访问由坏块重映射表处理,自动重定向为对备用扇区的访问。
CN 201110326370 2011-10-25 2011-10-25 一种基于软raid的磁盘坏块处理方法 Active CN102508724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110326370 CN102508724B (zh) 2011-10-25 2011-10-25 一种基于软raid的磁盘坏块处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110326370 CN102508724B (zh) 2011-10-25 2011-10-25 一种基于软raid的磁盘坏块处理方法

Publications (2)

Publication Number Publication Date
CN102508724A CN102508724A (zh) 2012-06-20
CN102508724B true CN102508724B (zh) 2013-12-18

Family

ID=46220816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110326370 Active CN102508724B (zh) 2011-10-25 2011-10-25 一种基于软raid的磁盘坏块处理方法

Country Status (1)

Country Link
CN (1) CN102508724B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577114B (zh) * 2012-07-31 2016-08-10 华为技术有限公司 磁盘重映射方法和装置
CN103309775B (zh) * 2013-07-03 2015-08-12 苏州科达科技股份有限公司 一种高可靠磁盘阵列的容错方法
CN103530069A (zh) * 2013-11-05 2014-01-22 浪潮(北京)电子信息产业有限公司 一种raid5磁盘阵列坏扇区处理方法
CN104035886B (zh) * 2014-06-23 2019-01-08 华为技术有限公司 磁盘重映射方法、装置及电子设备
CN104794011B (zh) * 2015-02-04 2017-12-12 深圳神州数码云科数据技术有限公司 基于虚拟磁盘的坏块重定向方法及装置
CN104657088B (zh) * 2015-02-06 2018-01-23 深圳市锐明技术股份有限公司 一种硬盘坏块信息的获取方法及装置
KR102395434B1 (ko) * 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
CN108665941A (zh) * 2017-04-01 2018-10-16 北京兆易创新科技股份有限公司 基于nand闪存的列修复方法、装置和nand存储设备
CN107391037A (zh) * 2017-07-25 2017-11-24 郑州云海信息技术有限公司 一种存储系统数据的方法及装置
CN107451069A (zh) * 2017-08-09 2017-12-08 厦门大学 基于预留空间的固态盘阵列的垃圾回收方法
CN110825712B (zh) * 2019-10-31 2023-08-01 四川效率源科技有限责任公司 一种逻辑卷管理的磁盘簇数据的恢复方法
CN111221473B (zh) * 2019-12-30 2023-06-06 河南创新科信息技术有限公司 一种存储系统介质免维护的方法
JP6946485B2 (ja) * 2020-01-17 2021-10-06 株式会社東芝 磁気記憶装置
CN112800005B (zh) * 2021-01-22 2023-01-03 中孚安全技术有限公司 一种文件系统深度检查方法、系统、终端及存储介质
CN117908758A (zh) * 2022-10-19 2024-04-19 富联精密电子(天津)有限公司 硬盘数据清除方法、装置及计算机可读存储介质
CN117891412B (zh) * 2024-03-14 2024-07-09 武汉麓谷科技有限公司 一种基于zns固态硬盘的坏块映射方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281160B2 (en) * 2003-02-10 2007-10-09 Netezza Corporation Rapid regeneration of failed disk sector in a distributed database system
CN101539891A (zh) * 2008-03-17 2009-09-23 凤凰微电子(中国)有限公司 一种嵌入式快闪存储器、存储系统及其数据掉电保护方法
CN101788935A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 冗余磁盘数组系统的坏块处理方法
CN102129354A (zh) * 2010-12-08 2011-07-20 北京航空航天大学 一种基于2d-raid阵列的自适应重组方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281160B2 (en) * 2003-02-10 2007-10-09 Netezza Corporation Rapid regeneration of failed disk sector in a distributed database system
CN101539891A (zh) * 2008-03-17 2009-09-23 凤凰微电子(中国)有限公司 一种嵌入式快闪存储器、存储系统及其数据掉电保护方法
CN101788935A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 冗余磁盘数组系统的坏块处理方法
CN102129354A (zh) * 2010-12-08 2011-07-20 北京航空航天大学 一种基于2d-raid阵列的自适应重组方法

Also Published As

Publication number Publication date
CN102508724A (zh) 2012-06-20

Similar Documents

Publication Publication Date Title
CN102508724B (zh) 一种基于软raid的磁盘坏块处理方法
TWI467581B (zh) 複合式儲存裝置及其複合式儲存媒體控制器與定址方法
US7330931B2 (en) Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system
JP6732684B2 (ja) 情報処理装置、ストレージデバイスおよび情報処理システム
TWI385523B (zh) 用於快閃記憶體的資料備份方法及其控制器與儲存系統
US11474899B2 (en) Operation method of open-channel storage device
CN101604250B (zh) 储存虚拟化系统中更新实体储存装置的控制程序的方法
US20080270719A1 (en) Method and system for efficient snapshot operations in mass-storage arrays
WO2014081719A1 (en) Solid state drive architectures
CN101567211A (zh) 一种提高磁盘可用性的方法和磁盘阵列控制器
CN106528001A (zh) 一种基于非易失性存储器和软件raid的缓存系统
CN111857540B (zh) 数据存取方法、装置和计算机程序产品
CN104778018A (zh) 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
CN103699457A (zh) 基于条带化的磁盘阵列修复方法及装置
CN109144899A (zh) 用于管理表恢复的方法
CN102609223B (zh) 一种独立冗余磁盘阵列系统及其初始化方法
CN102402396B (zh) 复合式储存装置及其复合式储存媒体控制器与编址方法
US20060259812A1 (en) Data protection method
JP2010267037A (ja) ディスクアレイ装置
US9235472B2 (en) Drive array apparatus, controller, data storage apparatus and method for rebuilding drive array
US11132140B1 (en) Processing map metadata updates to reduce client I/O variability and device time to ready (TTR)
CN114415968B (zh) 存储系统及其数据写入方法
CN102043724B (zh) 用于闪存的区块管理方法、控制器与存储系统
CN111338846B (zh) 一种基于多核恢复l2p表的方法和装置
CN102467460B (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