CN101772757B - 用于修复受损硬盘文件系统的方法和系统 - Google Patents

用于修复受损硬盘文件系统的方法和系统 Download PDF

Info

Publication number
CN101772757B
CN101772757B CN200880101868.3A CN200880101868A CN101772757B CN 101772757 B CN101772757 B CN 101772757B CN 200880101868 A CN200880101868 A CN 200880101868A CN 101772757 B CN101772757 B CN 101772757B
Authority
CN
China
Prior art keywords
sector
storage medium
list
write
data
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
CN200880101868.3A
Other languages
English (en)
Other versions
CN101772757A (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101772757A publication Critical patent/CN101772757A/zh
Application granted granted Critical
Publication of CN101772757B publication Critical patent/CN101772757B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10796Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及用于修复存储装置的受损文件系统的方法和装置。根据本发明的一个方面,检索(408)在存储介质的写入操作中断时最近写入数组的扇区列表。所述列表用于对最可能受损的扇区进行定点检索。对所述列表中提供的扇区进行检查(412)并识别(416)包括差错的扇区。随后,对差错进行纠正(420)。

Description

用于修复受损硬盘文件系统的方法和系统
技术领域
本发明总体上涉及数据存储(datastorage),具体而言,涉及一种用于修复存储装置上受损文件系统的方法和系统。
背景技术
修复存储装置上的受损文件系统中存在的问题是,现有修复方法通常速度较慢并且要消耗大量资源。用于修复文件系统的已知方法需要对整个存储机构(storagemechanism)进行扫描以识别并修复受损扇区(damagedsector)。例如,图1显示了用于修复硬盘驱动器上由于电源故障(powerfailure)而受损的文件系统的现有方法。
在这种情况下的扇区损坏通常都是由于在硬盘驱动器上的写操作的中断而造成的。当在步骤104中计算机系统在电源故障之后启动时,修复工具将开始扫描硬盘驱动器以确定不良扇区(defectivesector)。在步骤108中所述扫描包括检查每个扇区以在步骤112中确定是否有扇区包括差错(error)。在确定扇区包括差错后,在步骤116中修复工具将纠正所述差错并继续扫描全部扇区并修复差错,直至最后一个扇区。对于大容量存储装置,这种方法通常需要几分钟甚至几个小时才能完成全部过程。
发明内容
根据本发明的一个方面,通过避免扫描整个存储装置以确定差错,可以缩短修复存储装置上的受损扇区所需时间。本发明包括存储对应于存储装置最可能受损的扇区或者一部分的扇区标识符(sectoridentifier)。所述标识符可以用于对存储装置上的差错进行定点搜索(targetedsearch)。
本发明的一种实施方式涉及一种用于修复存储介质上由于写入操作中断而受损的文件系统的方法,所述方法包括:接收写入数据指令(writedatacommand);响应于接收到所述写入数据指令,在标识最近写入数据的扇区的扇区ID列表中存储与存储介质的扇区对应的扇区标识符;根据所述写入数据指令将数据写入所述扇区;检索所述扇区标识符;确定所述扇区是否包括差错;并纠正所述扇区中的差错,其中独立于所述文件系统执行所述检索、确定和纠正。
本发明的另外一种实施方式涉及一种用于修复存储介质上由于写操作中断而受损的文件系统的系统,所述系统包括:存储介质;标识最近写入数据的存储介质扇区的扇区ID列表;指令处理器,所述指令处理器用于:接收写入数据指令;响应于接收到所述写入数据指令,在所述扇区ID列表中存储与存储介质的扇区对应的扇区标识符;并根据所述写入数据指令将数据写入所述扇区;以及修复模块,所述修复模块用于:检索所述扇区标识符;确定所述扇区是否包括差错;并纠正所述扇区中的差错,其中独立于所述文件系统执行所述检索、确定和纠正。
下面将结合附图对本发明的一个或多个实施方式进行说明。虽然具体地说明了本发明的实施方式,但本发明可以按照多种方式实施。例如,如上所述,本发明可以实施为一种方法,或者实施为执行一组操作的装置,或者实施为存储了执行一系列操作的指令的装置。根据下面参照附图对本发明的详细说明,本发明的其他方面和特征将是显而易见的。
附图说明
通过下面参照附图对本发明实施方式的详细说明,本发明的上述方面、特点和优势将得到更清楚的理解。其中:
图1是现有技术中修复存储介质的受损扇区的方法流程图;
图2是用于修复存储装置上的受损文件系统的示例性系统的方框图;和
图3是用于编辑对应于最近写入数据的扇区的扇区标识符列表的示例性方法的流程图;
图4是用于采用扇区标识符列表对受损扇区进行定点搜索并纠正受损扇区中包含的差错的示例性方法的流程图;
图5是用于采用扇区标识符列表对受损扇区进行定点搜索并纠正受损扇区中包含的差错的示例性个人录像机系统的方框图。
可以理解,附图的目的在于对本发明的原理进行说明,但不是本发明的惟一可能结构。为了易于理解,各个附图中的相同元件用相同的附图标记来表示。
具体实施方式
本发明提供了一种用于修复存储装置上的受损文件系统的方法和系统。本发明的一个方面包括存储扇区标识符,以提供最近写入数据的扇区的位置。所述标识符用于修复由于写入操作中断而损坏的扇区,所述写入操作中断例如有可能是由于电源故障造成的。因此,本发明可以用于快速确定受损扇区,而不需要随机扫描存储装置的大部分。下面将参照附图对本发明的各个方面进行说明。
需要指出,附图中的各种元件的功能可以使用专用硬件以及能够执行相关软件的硬件来实现。当由处理器来实现时,所述功能可以由单一专用处理器、单一共享处理器或者多个单独处理器(其中某些可以是共享的)来实现。并且,术语“处理器”或“控制器”不应被理解为只指能够执行软件的硬件,而是可以非限制性地表示数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机访问存储器(RAM)和非易失性存储器。并且,关于本发明的原理、各个方面、实施方式以及具体实施例的说明都意欲包括其结构和功能的等同方式。并且,上述等同方式包括当前已知的等同方式以及未来出现的等同方式(即任何以后出现的用于执行相同功能的元件,无论其结构如何)。
因此,例如,本领域普通技术人员可以理解,说明书中的框图表示根据本发明的实施方式的示例性电路的概念性图示。类似地,可以理解,任何流程图、操作程序图、状态转换图、伪代码等都表示能够有计算机可读介质表示并因而由计算机或处理器执行的各种过程步骤,这种计算机或处理器是否明确示出并无关系。
请参看附图,其中相同附图标记表示相同元件。图2是根据本发明一个方面的示例性系统200,可以用于修复存储介质上由于写入操作中断而受损的文件系统。系统200可以包括用于控制存储介质216上的数据写入的控制单元204。控制单元204可以包括用于接收写入指令并在存储介质216上执行该指令的指令处理器208。另外,指令处理器208还根据本发明的原理在扇区标识符(ID)列表220中写入扇区标识符,下面将进行详细说明。扇区ID列表220包括用于标识最近写入了数据的扇区(其指示存储装置的一个部分)的扇区ID的列表。并且,虽然图中列表220位于存储介质216内,其也可以位于完全分开的存储机构中。根据本发明,修复模块212可以利用扇区ID列表220来发现和修复差错,下面将参照附图3和4对此进行说明。
请参看图3,根据本发明的示例性方法300可以用于修复存储介质上由于写入操作中断而受损的文件系统。所述中断的原因可能是电源故障以及处理器冻结(processorfreeze)等。图3说明了用于编辑对应于最近写入数据的扇区的扇区标识符的列表的方法。
所述方法开始于步骤304,在该步骤接收指令。例如,控制对存储介质的读写操作的控制单元204可以接收所述指令。在接收到指令后,在步骤308中,根据本发明实施方式的一个方面指令处理器208确定所述指令是否是向存储介质的扇区中写入数据的命令。如果所述指令不是扇区写入指令,在步骤320中继续执行正常操作。但是,如果确定所述指令是扇区写入指令,则在步骤312中,指令处理器208将对应于根据所述写入指令将要写入数据的扇区的扇区标识符(ID)存储在扇区ID列表220中。所述扇区ID可以是用于标识将要写入数据的扇区或者存储介质的一部分的位置的任何标记(tag)。并且,扇区ID列表220可以存储在与将要写入数据的扇区分开的位置。例如,扇区ID列表220可以存储在小容量非易失性RAM的专用扇区中。另外,扇区ID列表220的存储可以位于将要写入数据的相同存储介质上,也可以位于完全分开的存储介质上。
在存储扇区ID之后,在步骤316中,指令处理器208根据扇区写入指令在对应于存储的扇区ID的扇区中写入数据。此后,在步骤320中继续执行正常操作,并且根据系统中任何另外的写入指令重复执行上述过程。虽然在图3中示出的实施方式是在存储了扇区ID之后向存储介质216中写入数据,但是在其他的实施方式中可以在写入操作的同时存储扇区ID。另外,如上所述可以理解,扇区ID列表220可以包括标识最近写入数据的扇区的多个扇区ID。例如,所述列表可以描述按照时间顺序写入数据的最后几个扇区。根据设计选择,存储在扇区ID列表220中的扇区ID的数量可以是单一扇区ID或者大量扇区ID。在一个实施方式中,扇区ID列表220可以存储在包括预定数量扇区ID的环形缓存器(ringbuffer)中。环形缓存器例如包括7个单元(element),对应于7个扇区ID。如果环形缓存器已满,则在环形缓存器中存储每个新扇区ID时覆盖(overwrite)最早的扇区ID。如上所述,当引入每个新写入指令时重复执行上述过程并继续更新所述列表。
如上所述,存储介质上的扇区有可能由于写入操作的中断而受损,所述中断可能是电源故障、处理器冻结以及任何其他阻止写入操作完成的事件。编辑的扇区ID列表220可以用于快速确定可能由于这种中断受损的扇区。如上所述,采用扇区ID列表220不需要扫描存储介质的大部分,这将极大地减小修复存储介质上的文件系统所需时间。图4说明了利用上述扇区ID列表220修复文件系统的方法。
请参看图4,可以采用方法400来纠正由于电源故障造成的写入操作中断而导致的差错。所述方法首先在步骤404中启动处理器和其上写入了数据的存储介质。但是,所述方法例如还可以开始于处理器冻结或者任何其他写入中断的原因消除之后的正常操作。在中断和恢复正常处理之后,在步骤408中,修复模块212通过查询环形缓存器、专用扇区或者用于存储所述列表的任何其他装置的内容而检索扇区ID列表220。如上所述,扇区ID列表220可以包括对应于在检索步骤之前最近写入数据的扇区的单一扇区ID或者多个扇区ID。
在检索所述列表之后,在步骤412中修复模块212检查对应于扇区ID列表220的扇区ID的扇区。在检查扇区之后,在步骤416中,修复模块212确定所述扇区是否包括差错。如果所述扇区不包括差错,如果在步骤424中修复模块确定所检查的扇区不是最后扇区,则在步骤412中修复模块212检查扇区ID列表220中的下一扇区。但是,如果扇区被确定具有差错,则在步骤420中修复模块212纠正所述差错,并在步骤412中检查扇区ID列表220中的下一扇区。然后,如果需要,在步骤420中对下一扇区进行纠错。所述过程持续进行,直至所述列表中的最后扇区。
在本发明的一个实施方式中,例如通过在扇区中全部写入0来覆盖扇区中的所有数据来纠正所述差错。如上所述,许多误差是由于扇区上的写入操作的中断而造成的。这种中断的一般影响就是写入拼接(write-splice),其中新数据将被写入到扇区的开始处,而具有旧校验和的旧数据将被保留在扇区的末端。校验和是扇区中的比特和,其被用于验证在扇区中没有差错。在许多文件系统中,如果校验和与扇区中的数据不匹配,则该扇区被认为是“不可读的”。文件系统修复程序,例如XFS修复程序xfs_repair,要求全部扇区都是可读的,否则程序就会失败。通过覆盖扇区里的数据来纠正差错能够保证校验和与数据匹配,从而使文件系统修复程序顺利运行系统恢复例程(routine)。在这种情况下,虽然通过覆盖具有差错的扇区而删除了部分数据,文件系统工具能够读出扇区中的数据并至少运行系统恢复例程。根据此方式,本发明独立于文件系统运行,即,本发明在文件系统等级的系统恢复之前纠正特定扇区内的差错。
根据本发明的另一个方面,修复模块212可以从扇区ID列表220提供的最近写入数据的扇区开始按照时间顺序检查扇区。因此,通过采用该列表,可以在少量扇区内进行定点搜索,以确定在写入中断发生时正在向哪些扇区中进行写入。另外,对于受损扇区的所述搜索和修复可以在几秒钟之内完成,而根据现有技术,需要几分钟甚至几个小时来修复大容量存储介质内的受损扇区。
根据本发明的方法的另外一个优点在于,其可以在存储介质等级执行,在存储和组织装置的文件和数据的装置的主文件系统之外。例如,可以响应于哪个扇区标识符存储在存储介质等级而由文件系统产生在图3的步骤304中接收到的写入指令。并且,在运行文件系统修复程序之前,也可以在存储介质等级执行图4中的修复步骤408-424。这样就可以避免与文件系统修复程序相关的问题。如上所述,某些文件系统修复系统,例如XFS修复程序xfs_repair,要求全部扇区都是可读的,否则程序就会失败。因为可以在运行文件系统修复程序之前执行根据本发明的修复过程,文件系统修复程序可以正确读出纠正的扇区,以成功执行系统修复。并且,本发明能够独立于文件系统和文件系统修复程序纠正差错。
上述根据本发明的方法还可以应用于在固定时间间隔内执行指令(例如读和写)的处理系统。例如,在固定时间限制(timeconstraint)下运行的系统包括个人录像机(personalvideorecorder/PVR)。在个人录像机系统中,音频/视频流信息的读写是在固定时间间隔内完成的。如果系统未能在固定时间间隔内完成处理过程,PVR将进行下一节目(presentation),并且与不完整处理相关的信息将会丢失或者被丢弃。这种限制的原因是希望按时显示尽可能多的节目。因此,当音频或视频数据达到得太晚时,需要将其丢弃以防止PVR的录制-播放系统崩溃。
在写入操作发生中断并且数据扇区受损的情况下,由于上述固定时间限制的原因,通常扇区内的数据将被丢弃。例如,在电源故障之后进行启动时,最近写入的音频/视频数据可能被丢弃,因为这些数据有可能在固定时间间隔内无法正常读出。大量的PVR系统甚至都不对其存储介质内的受损文件系统进行修复。这些PVR系统上的软件通常将存储装置视为非易失性存储器,其推定数据一旦被写入就一直能够几乎即刻被读出。其中的原因是,PVR系统通常是设计使用最小的运行资源(operatingresource)。上述修复方法需要相对较少的存储容量并且可以独立于文件系统执行,其有助于采用消耗相对大量资源的修复程序。
并且,即使将修复文件系统的已知方法用于PVR,通常也不能防止对这种音频/视频数据的丢弃,因为不太可能在固定时间限制内完成任何修复操作。相反,本发明可以用于在PVR系统规定的固定时间间隔内快速识别和修复扇区以保留信息,否则的话这些信息将由于固定时间限制而被丢弃。如上所述,可以独立于文件系统执行根据本发明的修复方法,并且其需要很少资源,从而能够快速纠正受损扇区。
图5是根据本发明的个人录像机500的方框图。PVR500可以包括处理器516和存储介质524。存储介质524可是硬盘驱动器,并且可以用于存储扇区ID列表220和根据写入数据指令将要写入的数据。但是,如上所述,在其他实施方式中,存储扇区ID列表220可以存储在与根据写入指令写入数据的存储介质完全分离的存储机构中。中央处理器516例如可以包括出售的BCM7038C2芯片,该芯片是含有300MHz、64位CPU的双通道HD视频/音频/图形和个人录像芯片。BCM7038C2是PVR通常采用的处理器。
在本发明的一个实施方式中,通过卫星技术电路接收的MPEG-4压缩格式的视频/音频数据分组经过流512被传输至CPU516。例如,调谐器504可以调谐至适当频率并接收数据分组。另外,解调器508可以同步地解调并输出来自调谐器的信号,并通过流512将视频/音频数据分组提供至CPU516。随后,可以使用解码器520(包括出售的BCM7411CO解码器)解压缩视频/音频数据。BCM7411CO解码器与MPEG-4视频流相兼容。但是,可以理解,所述视频/音频数据可以是任何已知格式,例如MPEG-2,并且可以由其他装置接收,例如通过有线电视传输。在接收到视频/音频数据数据流中的视频/音频数据时,CPU516可以通过配置适当的软件和硬件来执行上述方法。
可以理解,当PVR断电时,只有有限的时间来完成正在进行的写入周期。为了完全避免在断电过程中包含写入的媒体数据的扇区受损,PVR应当适当地关闭其系统部件。但是,存储介质524不能预测关闭顺序,因为该顺序通常针对计算机用途而进行了优化。因此,数据将继续写入至其扇区中,而不受关闭顺序的影响。结果,某些扇区将不可避免地由于电源故障而处于部分写入的状态。通过采用上述根据本发明的方法,可以纠正由于正常关闭顺序以及其他常见写入中断(例如电源故障和处理器冻结)而造成的扇区损坏。在电源故障之后的启动时或者在任何类型的写入中断之后的正常处理操作时采用所述存储的扇区ID列表,CPU516可以进行上述根据本发明的存储介质修复方法。如上所述,在PVR的时间限制之内可以发现和修复存储机构的受损扇区。因此,通过利用根据本发明的方法,可以保留PVR中原本需要丢弃的数据。
上述实施方式的特征和各个方面可以适用于各种应用。所述应用例如包括个人计算机和网络服务器(webserver)或者存储装置上的受损文件系统的修复时间需要减小的任何其他应用。但是,上述实施方式的特征和各个方面可以适用于其他各种应用和领域,因此,其他应用是可能的也是可以预想的。另外,也可以使用无线电频率卫星装置和电缆装置之外的协议和通信介质。例如,可以通过光纤电缆、通用串行总线(USB)电缆、小型计算机系统接口(SCSI)电缆、电话线、数字用户线路(DSL)、可视距离(line-of-sight)连接和蜂窝连接(cellularconnection)或者与上述介质相关的协议发送和接收数据。
上述实施方式例如可以采用方法或过程、装置或者软件程序来实现。即使只讨论了一种形式的实施方式(例如只讨论了方法),上述实施方式也可以用其他形式来实现(例如装置或程序)。装置例如可以用适当的硬件、软件和固件来实现。所述方法例如可以用装置(例如处理器,其指包括计算机、微处理器和集成电路)以及可编程逻辑器件来实现。处理装置也包括通信装置,例如计算机、移动电话、便携/个人数字助理(PDA)和其他在终端用户之间进行信息通信的装置。
上述各种过程和特征的实施方式可以实现为各种不同的设备和应用,特别是与数据存储相关的设备和应用。所述设备例如可以包括视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、便携式计算机、个人计算机和其他存储装置。应当指出,所述设备可以是移动设备并且可以安装在移动的车辆里。
另外,所述方法可以通过由处理器执行的指令来实现,这种指令可以存储在存储器可读的介质上,例如集成电路、软件载体或其他存储装置(例如硬盘、高密度磁盘、随机访问存储器(RAM)和只读存储器(ROM))。所述指令可以形成为应用程序,并有形地表现在处理器可读介质上。可以理解,处理器可以包括处理器可读介质,所述介质例如具有用于执行程序的指令。
本领域普通技术人员可以理解,所述实施方式还可以产生一信号,用于承载可以存储或传输的信息。所述信息例如可以包括用于执行方法的指令或者由上述实施方式之一产生的数据。这种信号例如可以格式化为一种电磁波(例如使用频谱的无线电频率部分)或基带信号。所述格式化例如可以包括编码数据流、分组化(packetize)所述编码流并调制具有所述分组化流的载波(carrier)。所述信号承载的信息可以是模拟或数字信息。所述信号可以通过多种不同的有线或无线链接进行传输。
上面对本发明的多个实施方式进行了说明。但是,可以理解,可以对上述实施方式进行多种修改。例如,不同的实施方式的元件可以组合、添加、修改或者删除以产生其他实施方式。另外,本领域普通技术人员可以理解,可以用其他结构和过程来代替本说明书中所述的结构和过程,并且产生的实施方式可以与所述实施方式进行大体相同的功能,采用大体相同的方式,并且取得大体相同的结果。因此,这些实施方式都属于所附权利要求书的范围之内。

Claims (18)

1.一种用于控制个人录像(PVR)系统中的存储介质的方法,包括:
接收(304)写入数据指令;
根据所述写入数据指令将数据写入(316)所述存储介质;
响应于所述写入,在标识最近写入数据的扇区的扇区ID列表中存储(312)与所述存储介质的扇区对应的标识符;
响应于所述写入的中断检索(408)所述标识符;
确定(416)与所述标识符对应的所述扇区是否包括差错;并且
纠正(420)所述扇区中的差错,其中在存储介质等级并且独立于文件系统执行所述检索、确定和纠正。
2.根据权利要求1所述的方法,其中在启动操作时执行所述检索(408)。
3.根据权利要求1所述的方法,其中所述检索的标识符对应于在所述检索步骤之前进行了最近的写入操作的扇区。
4.根据权利要求1所述的方法,其中所述标识符存储在与所述存储介质写入数据的位置分离的预定位置。
5.根据权利要求4所述的方法,其中所述标识符存储在所述存储介质的非易失性存储器的环形缓存器中。
6.根据权利要求1所述的方法,其中检索还包括检索(408)所述列表。
7.根据权利要求6所述的方法,还包括:
从最近写入数据的扇区开始,根据所述列表按照时间顺序检查(424,412)与多个标识符对应的多个扇区,以确定所述多个扇区中是否有任何扇区包括差错。
8.根据权利要求1所述的方法,其中在写入之前进行所述存储(312)。
9.根据权利要求1所述的方法,其中所述存储介质包含在个人录像机中。
10.一种用于在个人录像系统(PVR)中修复存储介质上文件系统的系统,包括:
存储介质(216);
标识最近写入数据的存储介质扇区的扇区ID列表(220);
处理器(208),所述处理器用于:
接收写入数据指令;
响应于接收到所述写入数据指令,在所述扇区ID列表中存储与存储介质的扇区对应的扇区标识符;并且
根据所述写入数据指令将数据写入所述扇区;
修复模块(212),所述修复模块用于:
响应于写入操作的中断,检索所述扇区标识符;
确定所述扇区是否包括差错;并且
纠正所述扇区中的差错,其中在存储介质等级并且独立于文件系统执行所述检索、确定和纠正。
11.根据权利要求10所述的系统,其中所述修复模块(212)在启动操作时检索所述扇区标识符。
12.根据权利要求10所述的系统,其中所述检索的扇区标识符对应于在所述检索步骤之前进行了最近的写入操作的扇区。
13.根据权利要求10中所述的系统,其中所述扇区标识符存储在与所述存储介质写入数据的位置分离的预定位置。
14.根据权利要求13所述的系统,其中所述扇区标识符存储在所述存储介质的非易失性存储器的环形缓存器中。
15.根据权利要求10所述的系统,其中所述修复模块(212)还用于检索所述列表。
16.根据权利要求15所述的系统,其中所述修复模块(212)还用于:
从最近写入数据的扇区开始,根据所述列表按照时间顺序检查与多个扇区标识符对应的多个扇区,以确定所述多个扇区中是否有任何扇区包括差错。
17.根据权利要求10所述的系统,其中在将数据写入到与扇区标识符对应的扇区之前存储所述扇区标识符。
18.根据权利要求10所述的系统,其中所述存储介质包含在个人录像机(500)中。
CN200880101868.3A 2007-08-21 2008-02-19 用于修复受损硬盘文件系统的方法和系统 Expired - Fee Related CN101772757B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US96560507P 2007-08-21 2007-08-21
US60/965,605 2007-08-21
PCT/US2008/002167 WO2009025683A1 (en) 2007-08-21 2008-02-19 Method and system for repairing damaged hard disk file systems

Publications (2)

Publication Number Publication Date
CN101772757A CN101772757A (zh) 2010-07-07
CN101772757B true CN101772757B (zh) 2016-06-29

Family

ID=39529644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880101868.3A Expired - Fee Related CN101772757B (zh) 2007-08-21 2008-02-19 用于修复受损硬盘文件系统的方法和系统

Country Status (7)

Country Link
US (1) US8356206B2 (zh)
EP (1) EP2191374A1 (zh)
JP (1) JP5503539B2 (zh)
KR (1) KR101513711B1 (zh)
CN (1) CN101772757B (zh)
BR (1) BRPI0815619A2 (zh)
WO (1) WO2009025683A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944052B (zh) * 2010-10-25 2015-02-18 上海申瑞继保电气有限公司 能自动修复受损数据的u盘及其受损数据修复方法
CN102193848B (zh) * 2011-06-02 2014-09-03 华为数字技术(成都)有限公司 逻辑单元坏扇区的数据修复方法及装置
US8826080B2 (en) * 2011-07-29 2014-09-02 The Boeing Company Methods and systems for preboot data verification
CN102495777B (zh) * 2011-12-13 2014-10-22 百度在线网络技术(北京)有限公司 硬盘故障处理方法及处理装置
CN103309768B (zh) * 2012-03-16 2015-03-11 腾讯科技(深圳)有限公司 系统文件修复方法和装置
US9547549B2 (en) * 2013-01-16 2017-01-17 Microsoft Technology Licensing, Llc Handling file system corruption
CN103530319B (zh) * 2013-09-16 2017-12-15 华为技术有限公司 一种操作请求的处理方法和装置
CN103824600B (zh) * 2014-03-05 2017-01-04 上海华虹宏力半导体制造有限公司 存储器测试方法及装置
US9164684B1 (en) 2014-04-09 2015-10-20 Kabushiki Kaisha Toshiba Magnetic disc drive and method of recovering recorded data
CN107391304B (zh) * 2017-07-26 2020-06-16 四川秘无痕科技有限责任公司 一种获取日立硬盘可用nv-ram的方法
TWI696951B (zh) * 2018-08-31 2020-06-21 威剛科技股份有限公司 儲存裝置異常斷電的處理系統和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737769A (zh) * 2004-04-15 2006-02-22 美国博通公司 容错数据存储设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
US5778168A (en) 1995-09-11 1998-07-07 Sun Microsystems, Inc. Transaction device driver technique for a journaling file system to ensure atomicity of write operations to a computer mass storage device
JP3511576B2 (ja) 1998-10-02 2004-03-29 松下電器産業株式会社 ディスク記録再生方法および装置
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7930490B2 (en) * 2002-12-23 2011-04-19 Siemens Industry, Inc. Method for utilizing a memory device for a programmable logic controller (PLC)
JP2005242708A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd ファイル修復方法、およびファイル記録装置
US7143120B2 (en) * 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7472138B2 (en) * 2004-12-14 2008-12-30 International Business Machines Corporation System and method for handing input/output errors during recovery of journaling files in a data processing system
US7657796B1 (en) * 2005-09-30 2010-02-02 Symantec Operating Corporation System and method for distributed storage verification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737769A (zh) * 2004-04-15 2006-02-22 美国博通公司 容错数据存储设备

Also Published As

Publication number Publication date
KR20100054817A (ko) 2010-05-25
US20100153773A1 (en) 2010-06-17
WO2009025683A1 (en) 2009-02-26
JP5503539B2 (ja) 2014-05-28
CN101772757A (zh) 2010-07-07
BRPI0815619A2 (pt) 2015-02-18
US8356206B2 (en) 2013-01-15
KR101513711B1 (ko) 2015-04-21
JP2010537358A (ja) 2010-12-02
EP2191374A1 (en) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101772757B (zh) 用于修复受损硬盘文件系统的方法和系统
US7274639B1 (en) Disk drive performing multi-level prioritization of entries in a suspect sector list to identify and relocate defective data sectors
JP2005056397A (ja) 複数のセットの誤り修正コードを有するデータ
CN101815983A (zh) 用于防止硬盘驱动文件系统的损坏的方法和系统
US20050157561A1 (en) Data recovery apparatus and method used for flash memory
US10009574B2 (en) Transferring multiple records including video data to/from host
EP1662394A2 (en) Method for accessing data sectors and processing an access failure in a hard disk drive of a mobile communication terminal
US8014093B2 (en) Hard disk sector/track remapping for transparent wear leveling
US20100107016A1 (en) System and method for preventing errors ina storage medium
US20170090768A1 (en) Storage device that performs error-rate-based data backup
US9015560B1 (en) Method and apparatus for ceasing access to a portion of a flash memory when less than a number of errors correctable by an error correction code exists
US8041916B2 (en) Data storage device and method of operating the same
US20060146431A1 (en) Information recording device, information recording method, and recording medium region management method
US8489802B2 (en) Recordable memory device which writes data to reformatted user area of nonvolatile semiconductor memory
EP1508900B1 (en) Tape recording apparatus, control apparatus, control method, and program
US20030231873A1 (en) Method for recording and reproducing audio and video data in disk drive, and a readable medium therefor
JP2007179085A (ja) ディスク装置、ディスク書込データ選択方法およびディスク書込データ選択プログラム
CN102057432A (zh) 再现装置、集成电路以及再现方法
KR20050025874A (ko) 방송 신호 처리 장치 및 그 방송 신호 처리 장치에서의하드 디스크 드라이브 기록 재생 방법
JPH11305953A (ja) ディジタル情報記録装置及びディジタル情報再生装置
KR20030073237A (ko) 광기록재생기의 포맷팅 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
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: 20160629

Termination date: 20170219