KR101513711B1 - 손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템 - Google Patents

손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101513711B1
KR101513711B1 KR1020107004911A KR20107004911A KR101513711B1 KR 101513711 B1 KR101513711 B1 KR 101513711B1 KR 1020107004911 A KR1020107004911 A KR 1020107004911A KR 20107004911 A KR20107004911 A KR 20107004911A KR 101513711 B1 KR101513711 B1 KR 101513711B1
Authority
KR
South Korea
Prior art keywords
sector
storage medium
data
identifier
listing
Prior art date
Application number
KR1020107004911A
Other languages
English (en)
Other versions
KR20100054817A (ko
Inventor
윌리엄 찰스 코이스터
Original Assignee
톰슨 라이센싱
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 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20100054817A publication Critical patent/KR20100054817A/ko
Application granted granted Critical
Publication of KR101513711B1 publication Critical patent/KR101513711B1/ko

Links

Images

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)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 저장장치의 오염된 파일 시스템을 복구하기 위한 방법 및 장치를 포함한다. 본 발명의 다수의 측면에 따르면, 저장 매체 상 기입동작의 중단시, 데이터가 가장 최근에 기입된 섹터의 리스팅이 검색된다(408). 상기 리스팅은 매우 쉽게 오염되는 섹터에 대한 표적화된 검색을 실행하기 위하여 채용된다. 상기 리스팅에 제공되는 섹터가 검사되고(412), 오류를 포함하는 섹터가 식별된다(416). 그 이후 상기 오류는 보정된다(420).

Description

손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템{Method and System for Repairing Damaged Hard Disk File Systems}
본 발명은 일반적으로 데이터 저장과 관련되고, 더욱 구체적으로는 저장 장치에서 손상된 파일 시스템을 복구하기 위한 방법 및 시스템에 관련된다.
저장 장치에서 손상된 파일 시스템을 복구(repair)하는 것과 관련된 통상적인 문제점은 공지된 복구 방법은 흔히 느리고 상당한 양의 자원을 소비한다는 것이다. 파일 시스템을 복구하기 위한 공지된 방법은 손상된 섹터를 식별하고 복구하기 위하여 전체 저장 메커니즘을 스케닝하는 것에 의존한다. 예를 들어, 도 1은 전원 이상의 결과로서 오류가 발생한 하드 디스크 드라이브 상의 파일 시스템을 복구하기 위한 종래의 방법을 도시한다.
이러한 경우에서의 섹터의 오염(corruption)은 대개 디스크 드라이브의 섹터 상 기입 동작의 중단(interruption)으로부터 발생한다. 전원 이상 이후 컴퓨팅 시스템의 부트-업(boot up)(단계 (104)) 시, 복구 유틸리티가 결함이 있는 섹터에 대하여 하드 디스크 드라이브를 스캐닝하기 시작할 것이다. 어떤 섹터라도 오류를 포함하는지 여부를 결정(단계(112))하기 위하여, 스캔은 각 섹터를 검사하는 단계(108)를 포함한다. 어떤 섹터가 오류를 포함하는 것으로 결정되면, 복구 유틸리티는 그 오류를 보정하고(단계(116)), 모든 섹터를 스캔하는 것을 계속하며, 마지막 섹터에 도달할 때까지 오류를 복구한다. 이러한 프로세스는 흔히 대규모 저장장치에 대해 완료하는 데에 몇 분 내지 몇 시간을 요한다.
본 발명이 해결하고자 하는 과제는 종래 기술의 문제점을 개선할 수 있는 방법 및 시스템을 제공하는 데 있다.
본 발명의 일 측면에 따르면, 저장장치의 손상된 섹터를 복구(repair)하는 데 필요한 시간은 오류에 대해 전체 저장장치를 스캔할 필요성을 회피함으로써 감소될 수 있다. 본 발명의 다수의 측면들은 매우 쉽게 오염(corrupted)되는 섹터 또는 저장장치의 각 부분에 대응하는 섹터 식별자(sector identifiers)를 저장하는 단계를 포함한다. 상기 식별자는 저장 장치 상의 오류에 대한 표적화된 검색(targeted search)을 행하기 위하여 채용될 수 있다.
본 발명의 일 실행형태는, 기입 동작의 중단(interruption)의 결과로서 손상된 저장 매체의 파일 시스템을 복구하기 위한 방법을 포함하는데: 이 방법은 데이터 기입 명령(write data command)을 수신하는 단계; 상기 데이터 기입 명령의 수신에 응답하여 가장 최근에 기입된 섹터를 식별하는 섹터 ID 리스팅(listing)에 저장 매체의 섹터에 대응하는 섹터 식별자를 저장하는 단계; 상기 데이터 기입 명령에 따라 상기 섹터에 데이터를 기입하는 단계; 상기 섹터 식별자를 검색하는 단계; 상기 섹터가 오류를 포함하고 있는지 여부를 결정하는 단계; 및 상기 섹터 내의 오류를 보정하는 단계를 포함하되, 상기 검색하는 단계, 결정하는 단계 및 보정하는 단계는 파일시스템과는 관계없이 수행된다.
본 발명의 또 다른 실행형태는 기입 동작의 중단의 결과로서 손상된 저장 매체의 파일 시스템을 복구하기 위한 시스템을 포함하는데: 이 시스템은 저장매체; 데이터가 가장 최근에 기입된 저장 매체 섹터를 식별하는 섹터 ID 리스팅; 데이터 기입 명령을 수신하고, 상기 데이터 기입 명령의 수신에 응답하여 상기 저장 매체의 섹터에 대응하는 섹터 식별자를 상기 리스팅에 저장하며, 상기 데이터 기입 명령에 따라 상기 섹터에 데이터를 기입하도록 구성된 명령 프로세서; 및 상기 섹터 식별자를 검색하고, 상기 섹터가 오류를 포함하는지 여부를 결정하며, 상기 섹터 내의 오류를 보정하도록 구성된 복구 모듈(repair module)을 포함하되, 상기 검색하는 것, 결정하는 것 및 보정하는 것은 파일시스템과는 관계없이 수행된다.
하나 또는 그 이상의 실행 형태의 구체적인 내용은 첨부되는 도면 및 이하의 상세한 설명에서 설명된다. 하나의 특수한 방식에 대해 기재된다 하더라도, 실행형태들을 다량한 방식으로 구성되거나 구체화될 수 있다는 것은 명확하다. 예를 들어, 상기 기재된 바와 같이, 어떤 실행형태가 어떤 방법으로서 수행되거나, 일련의 동작을 수행하도록 구성된 어떤 장치 또는 일련의 동작을 수행하기 위한 명령을 저장하는 어떤 장치로서 구체화될 수 있다. 다른 측면 및 특징은 첨부된 도면 및 청구항과 관련하여 고려되는 이하의 상세한 설명으로부터 명확해질 것이다.
본 발명에 따르면, 종래의 문제점을 효과적으로 개선한 방법 및 시스템을 제공할 수 있다.
본 발명의 내용은 첨부되는 도면과 관련하여 이하의 상세한 설명을 보면 쉽게 이해될 수 있을 것이다.
도 1은 저장 매체의 오염된 섹터를 복구하기 위한 종래의 방법을 도시한 흐름도이다.
도 2는 저장 장치의 손상된 파일 시스템을 복구하기 위한 예시적인 시스템을 도시한 블럭도이다.
도 3은 데이터가 가장 최근에 기입된 섹터에 대응하는 섹터 식별자의 리스팅을 컴파일(compile)하기 위한 예시적인 방법을 도시한 흐름도이다.
도 4는 오염된 섹터에 대한 표적화된 검색을 행하고 손상된 섹터 내에 포함된 오류를 보정하기 위하여 섹터 식별자 리스팅을 채용하기 위한 예시적인 방법에 관한 흐름도이다.
도 5는 오염된 섹터에 대한 표적화된 검색을 행하고 손상된 섹터 내에 포함된 오류를 보정하기 위해 섹터 식별자 리스팅을 채용하도록 구성된 개인 비디오 리코더 시스템(personal video recorder system)에 관한 블럭도이다.
도면은 본 발명의 개념을 설명하기 위한 것이며 본 발명을 설명하기 위해 필연적으로 가능한 단 하나의 구성은 아니라는 점을 이해해야 한다. 이해를 돕기 위해, 가능한 한, 동일한 참조번호는 도면에서 공통적인 동일한 구성요소를 지시하도록 사용되었다.
본 발명은 저장 장치의 손상된 파일 시스템을 복구(repair)하기 위한 방법 및 시스템을 제공한다. 본 발명의 일 측면은 데이터가 가장 최근에 기입된 섹터의 위치를 제공하기 위한 섹터 식별자를 저장하는 단계를 포함한다. 상기 식별자는 예를 들어 전원 이상의 결과로서 발생할 수 있는 기입 동작의 중단에 따라 오염된 섹터를 복구하는 데 유용하다. 이에 따라, 본 발명의 다수의 측면은, 저장 장치의 상당 부분을 무작위로 스캐닝하는 대신에, 어떤 섹터가 손상되었는지를 신속하게 결정하기 위해 이용될 수 있다. 이러한 측면들을 채용한 본 발명의 몇몇 실행예에 관한 상세한 설명이 도면과 관련하여 이하에서 제공된다.
도면에 도시된 다양한 구성요소들의 작용은 적정 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어뿐만 아니라 전용 하드웨어의 사용을 통해 제공될 수 있다는 점을 알아야 한다. 어떤 프로세서에 의해 제공될 경우, 상기 작용은 단일 전용 프로세서, 단일 공용 프로세서 또는 일부는 공용될 수도 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 또한, "프로세서" 또는 "제어기"라는 용어의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 언급하는 것으로 해석되어서는 안 되고, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하기 위한 읽기전용 메모리(read-only memory, "ROM"), 랜덤액세스 메모리("RAM") 및 비휘발성 저장매체를 함축적으로 포함할 수 있으나 이에 한정되지는 않는다. 또한, 특수한 실시예뿐만 아니라 본 발명의 사상, 측면 및 실행형태를 여기서 언급하는 모든 기재내용은 구조적 및 기능적인 균등물을 모두 포함하도록 의도된다. 또한, 이러한 균등물들은 미래에 개발될 균등물뿐만 아니라 현재 공지된 균등물도 모두 포함하도록 의도된다(즉, 구조와 상관없이 동일한 작용을 수행하도록 개발된 어떠한 구성요소라도).
따라서, 예를 들어, 여기에 제공된 블럭도가 본 발명을 실행하는 예시적인 시스템 구성요소 및/또는 회로의 개념도를 나타낸다는 것은 본 기술분야의 당업자에 의해 이해될 수 있을 것이다. 마찬가지로, 어떠한 흐름 차트, 흐름도, 상태 천이도, 의사코드(pseudocode) 등이라도, 컴퓨터 판독 가능 매체에서 실질적으로 나타내어질 수 있고 컴퓨터나 프로세서에 의해 실행가능할 수 있는 다양한 프로세스를 (이러한 컴퓨터나 프로세서가 명시적으로 개시되어 있는지에 상관없이), 나타낸다.
유사한 참조번호가 몇몇 도면을 통하여 유사하거나 동일한 구성요소를 나타내는 도면들을 구체적으로 살펴 보면, 먼저 도 2에서, 본 발명의 일 측면에 따른 예시적인 시스템(200)이, 기입 동작 중단의 결과로서 손상된 저장 매체 상의 파일 시스템을 복구하는 데, 이용될 수 있다. 시스템(200)은 저장 매체(216) 상의 데이터 기입을 제어하도록 구성된 제어유닛(204)을 포함할 수 있다. 제어유닛(204)은 저장 매체(216) 상의 기입 명령을 수신 및 실행하는 명령 프로세서(208)를 포함할 수 있다. 또한, 명령 프로세서(208)는, 이하에서 더욱 자세하게 기재되는 본 발명의 다수의 측면들에 따라, 섹터 식별자(sector ID) 리스팅(220)에 섹터 식별자들(IDs)을 또한 기입한다. 섹터 ID 리스팅(220)은 섹터를 식별하는 섹터 IDs의 리스팅을 포함할 수 있는데, 이는 데이터가 가장 최근에 기입된 저장매체의 부분을 지시한다. 또한, 리스팅(220)이 저장매체(216) 내에 있는 것으로 도시되어 있다 하더라도, 그것은 완전히 분리된 저장 메커니즘 상에 위치할 수 있다. 도 3 및 4와 관련하여 이하에서 더욱 자세하게 기재되는 본 발명의 다수의 측면에 따라, 복구 모듈(repair module, 212)은 오류를 발견 및 복구하기 위하여 섹터 ID 리스팅(220)을 채용할 수 있다.
도 2와 더불어 도 3을 참조하면, 기입 동작 중단의 결과로서 손상된 저장 매체 상의 파일 시스템을 복구하는 데에 이용될 수 있는 본 발명의 일 측면에 따른 예시적인 방법(300)이 도시되어 있다. 상기와 같은 중단의 원인은 전원 이상, 프로세서 정지(processor freeze) 등을 포함할 수 있다. 도 3은 데이터가 가장 최근에 기입된 섹터에 대응하는 섹터 식별자들의 리스트를 컴파일(compile)하기 위한 방법을 도시한다.
상기 방법은 명령을 수신함으로써 시작한다(단계 304). 예를 들어, 저장매체로의 판독(reading) 및 기입(writing)을 제어할 수 있는 제어유닛(204)이 상기 명령을 수신할 수 있다. 명령을 수신하면, 본 발명의 일 측면에 따른 명령 프로세서(208)는 상기 명령이 저장 매체 내의 섹터에 데이터를 기입하기 위한 명령인지 여부를 결정한다(단계 308). 만약 상기 명령이 섹터 기입명령이 아니면, 정상 프로세싱이 계속된다(단계 320). 하지만, 만약 상기 명령이 섹터 기입명령인 것으로 결정되면, 명령 프로세서(208)는 섹터 ID 리스팅(220) 내의 기입명령에 따라 데이터가 기입되어질 섹터에 대응하는 섹터 식별자(ID)를 저장한다(단계 312). 상기 섹터 ID는 데이터가 기입되어질 섹터의 위치 또는 저장매체의 부분을 식별하는 어떤 태그(tag)라도 될 수 있다. 또한, 섹터 ID 리스팅(220)은 데이터가 기입되어질 섹터로부터 분리된 위치에 저장될 수 있다. 예를 들어, 섹터 ID 리스팅(220)은 전용 섹터 또는 소량의 비휘발성 RAM에 저장될 수 있다. 더 나아가, 섹터 ID 리스팅(220)의 저장 위치는 상기 데이터가 기입되어질 동일한 저장매체 상에 있을 수 있거나, 또는 그것은 완전히 분리된 저장장치 상에 있을 수도 있다.
상기 섹터 ID를 저장하면, 명령 프로세서(208)는 상기 섹터 기입 명령에 따라 상기 저장된 섹터 ID에 대응하는 섹터에 데이터를 기입한다(단계 316). 그리고 나서, 정상 프로세싱이 계속되고(단계 320), 상기 프로세스는 시스템에 부과되는 추가적인 기입 명령에 따라 필요에 따라 반복된다. 비록 도 3에 도시된 실행예에는 상기 섹터 ID가 저장된 후 데이터가 저장매체(216)에 기입되지만, 다른 실행예에서 상기 섹터 ID는 기입 동작과 동시에 저장될 수도 있다. 또한, 상술한 바와 같이 섹터 ID 리스팅(220)은 데이터가 가장 최근에 기입된 섹터를 식별하는 복수의 섹터 ID를 포함할 수 있다는 것을 이해해야 한다. 예를 들어, 상기 리스팅은 연대기적 순위(chronological order)로 데이터가 기입된 마지막 몇개의 섹터를 기술할 수 있다. 섹터 ID 리스팅(220) 내에 저장된 섹터 ID의 개수는 설계적 선택에 따라 단일 섹터 ID 또는 복수의 섹터 ID일 수 있다. 일 실행예에 있어서, 섹터 ID의 리스팅(220)은 기결정된 개수의 섹터 ID를 통합하여 링버퍼(ring buffer) 내에 저장될 수 있다. 링 버퍼는, 예를 들어, 7개의 섹터 ID에 대응하는 7개의 구성요소를 포함할 수 있다. 만약 상기 링버퍼가 가득 차면, 각각의 새 섹터 ID가 링버퍼 내에 저장됨에 따라 가장 오래된 섹터 ID는 중첩기입된다. 상술한 바와 같이, 상기 프로세스는 반복되고 상기 리스팅은 각각의 새로운 기입명령이 들어옴에 따라 계속적으로 업데이트된다.
상술한 바와 같이, 저장 매체 상의 섹터는 섹터 상의 기입 동작의 중단에 기인하여 오염될 수 있는데, 이것은 전원 이상, 프로세서 정지 또는 기입 동작의 성공적인 완료를 방해하는 다른 어떤 이벤트로부터도 발생될 수 있다. 컴파일된 섹터 ID 리스팅(220)이 상기 중단의 결과로서 오염될 수 있는 섹터를 신속하게 식별하기 위하여 이용될 수 있다. 기언급한 바와 같이, 컴파일된 섹터 ID 리스팅(220)을 도입함으로써 저장 매체의 상당 부분을 스캔할 필요가 없게 되는데, 이는 저장 매체 상의 파일 시스템을 복구하는 데 필요한 시간을 상당히 줄일 수 있다. 도 4는 상술한 컴파일된 섹터 ID 리스팅(220)을 이용하여 파일 시스템을 복구하는 방법을 나타낸다.
계속하여 도 2와 함께 도 4를 참조하면, 한 방법(400)이 전원 이상으로 인한 기입 동작의 중단으로부터 발생하는 오류를 보정하기 위하여 채용될 수 있다. 이에 따라, 프로세스는 프로세서 및 데이터가 기입된 저장매체를 부트-업함으로써 시작될 수 있다(단계 404). 하지만, 상기 방법은 예를 들어 프로세서 정지나 기입 중단의 다른 원인에 뒤이은 정상 프로세싱의 복귀 시에도 또한 시작될 수 있다. 중단 및 정상 프로세싱의 재시작 후, 단계 408에서, 복구 모듈(212)은 링 버퍼, 전용 섹터, 또는 리스팅을 저장하기 위하여 채용된 다른 어떤 수단의 콘텐츠를 쿼리(query)함으로써 섹터 ID 리스팅(220)을 검색한다. 상술한 바와 같이, 섹터 ID 리스팅(220)은, 상기 검색하는 단계 전 가장 최근에 데이터가 기입된 섹터에 대응하는 단일 섹터 ID 또는 복수의 섹터 ID를, 포함할 수 있다.
상기 리스팅을 검색한 후, 복구 모듈(212)은 섹터 ID 리스팅(220)의 섹터 ID에 대응하는 섹터를 검사한다(단계 412). 한 섹터를 검사한 후, 복구 모듈(212)은 그 섹터가 오류를 포함하는지 여부를 결정한다(단계 416). 만약, 그 섹터가 오류를 포함하고 있지 않으면, 상기 검사된 섹터가 마지막 섹터가 아님을 결정한 경우(단계 424), 복구 모듈(212)은 섹터 ID 리스팅(220) 내의 식별된 다음 섹터를 검사한다. 하지만, 만약 그 섹터가 오류를 갖는 것으로 결정되면, 복구 모듈(212)은 그 오류를 보정하고(단계 420), 상기 검사된 섹터가 마지막 섹터가 아님을 결정한 경우(단계 424) 섹터 ID 리스팅(220) 내의 식별된 다음 섹터를 검사한다(단계 412). 그 후에 만약 필요하다면 다음 섹터가 보정되고(단계 420), 상기 프로세스는 상기 리스팅 내의 식별된 마지막 섹터에 도달될 때까지 계속된다.
본 발명의 일 실행예에 있어, 오류는 섹터 내의 모든 데이터를 오버라이팅(overwriting)함으로써, 예를 들어 섹터에 모두 0을 기입함으로써, 보정된다. 상술한 바와 같이, 많은 오류가 섹터 상의 기입동작의 중단으로부터 발생한다. 상기와 같은 중단의 통상적인 효과는 기입 스플라이스(write-splice)인데, 여기서 새 데이터는 섹터의 시작부에서 기입되고 구체크섬(old checksum)을 가진 구데이터(old data)는 상기 섹터의 끝에 남는다. 상기 체크섬은 한 섹터 내의 비트의 합으로서, 상기 섹터 내에 오류가 없다는 것을 증명하기 위하여 채용된다. 많은 파일 시스템에서, 만약 상기 체크섬이 섹터 내의 데이터와 부합하지 않으면, 상기 섹터는 "판독불가능(unreadable)"한 것으로 여겨진다. 예를 들어 XFS 복구프로그램, xfs_복구(xfs_repair)와 같은 파일 시스템 복구 프로그램은 모든 섹터가 판독가능할 것을 요구하며 그렇지 않으면 상기 프로그램은 오류가 날 것이다. 상기 섹터 내의 데이터를 오버라이트함으로써 오류를 보정하는 것은 상기 체크섬이 데이터와 부합하는 것을 보증하고, 그것에 의해 파일 시스템 복구 프로그램이 시스템 복구 루틴(system recovery routine)을 성공적으로 구동하게 한다. 이 경우, 오류를 갖는 섹터를 오버라이팅하는 것에 의해 상기 데이터의 일부분이 삭제되었다 하더라도, 파일 시스템 유틸리티는 상기 섹터 상의 데이터를 판독할 수 있고 적어도 시스템 복구 루틴을 구동할 수 있다. 이러한 방식에 있어 본 발명은 파일 시스템과는 상관없이 독립적으로 동작하는데, 즉 시스템 복구가 파일 시스템 수준에서 시도되기 전에 본 발명은 특정 섹터 내에 포함된 오류를 보정한다.
본 발명의 또 다른 측면에 따르면, 복구 모듈(212)은, 섹터 ID 리스팅(220) 내에서 제공된 바와 같이 가장 최근에 기입된 섹터로부터 시작하여, 연대기적 순위로 섹터를 검사할 수 있다. 이에 따라, 상기 리스팅을 채용함으로써, 상기 기입 중단이 발생했을 때 어떤 섹터가 기입되고 있었는지를 결정하기 위하여 몇몇 섹터 내에서의 표적화된 검색이 수행될 수 있다. 또한, 이전에 알려진 방법에 따를 경우 대규모 저장매체 내의 손상된 섹터의 복구를 위해 요구되던 몇 분 내지 몇 시간과는 대조적으로, 손상 섹터의 검색 및 복구는 몇 초 내에 완료될 수 있다.
상기 언급된 본 발명의 측면에 따른 일 발명의 추가적인 유익한 특징은 장치의 파일과 데이터를 저장 및 정리하는 상기 장치의 파일 시스템의 외부, 저장 매체 레벨 상에서 실행될 수 있다는 점이다. 예를 들어, 도 3의 단계 304에서 수신된 기입명령은 상기 파일 시스템에 의하여 생성될 수 있고, 이에 응답하여 상기 섹터 식별자가 상기 저장 매체 레벨에서 저장된다. 또한, 도 4의 상기 복구 단계 408~424도 파일 시스템 복구 프로그램을 실행하기 전에 상기 저장 매체 레벨에서 수행될 수 있다. 이러한 측면은 파일 시스템 복구 프로그램과 관련된 문제점들을 회피할 수 있다. 상기 논의된 바와 같이, 예를 들어 XFS 복구 프로그램, xfs_repair와 같은 일부 파일 시스템 복구 프로그램은 모든 섹터가 판독가능할 것을 요구하며 그렇지 않을 경우 상기 프로그램은 오류를 일으킬 것이다. 본 발명의 다수의 측면에 따른 상기 복구 프로세스는 파일시스템 복구 프로그램을 실행하기 전에 수행될 수 있기 때문에, 파일 시스템 복구 프로그램은 시스템 회복(recovery)을 성공적으로 실행하기 위하여 보정 섹터를 올바르게 판독할 수 있다. 또한, 본 발명은 상기 파일 시스템 및 파일시스템 복구 프로그램과는 상관없이 독립적으로 오류를 보정할 수 있다.
상기 언급된 본 발명의 측면에 따른 방법은, 판독(reading) 및 기입과 같은 명령이 고정된 시간 간격(fixed time interval) 내에 수행되는 프로세싱 시스템에 또한 적용될 수도 있다. 예를 들어, 고정된 시간 제한(time constraint) 하에 동작하는 시스템이 개인용 비디오 리코더(personal video recorder)를 포함한다. 개인용 비디오 리코더 시스템에 있어, 오디오/비디오 스트림 정보의 판독 및 기입은 고정된 시간 간격 내에 완료된다. 만약 상기 시스템이 상기 고정된 시간 간격 내에 트랜잭션(transaction)을 완료하지 않으면, 개인용 비디오 리코더(PVR)는 프리젠테이션의 다음 파트로 이동하고 미완료 트랜잭션과 관련된 정보는 손실되거나 버려진다. 상기 제한(constraint)은 가능한 많은 프리젠테이션을 시기적절하게 표시하기 위한 것이다. 이에 따라, 오디오 또는 비디오 데이터가 너무 늦게 도달하면, 그것은 상기 PVR 레코드-플레이 시스템이 고장나는 것을 막기 위해 버려진다.
기입 동작의 중단이 발생하고 데이터 섹터가 오염되는 경우, 흔히 상기 섹터 내의 데이터는 상기 언급된 고정된 시간 제한의 결과로서 버려진다. 예를 들어, 전원 이상 후 PVR 시스템의 부트-업 시, 데이터가 상기 고정된 시간 간격 내에 올바르게 판독되지 않을 수 있기 때문에, 가장 최근에 기입된 오디오/비디오 데이터는 버려질 수 있다. 매우 많은 PVR 시스템이 자신의 저장 매체 내에 손상된 파일시스템을 복구하기 위한 프로세스들을 통합하고 있지 않다. 이러한 PVR 시스템 상의 소프트웨어는 정상적으로는 상기 저장 장치를 비휘발성 메모리로서 취급한다; 일단 기입된 데이터는 거의 동시적인 판독이 항상 가능할 것으로 추정한다. 이에 대한 하나의 이유는 PVR 시스템이 흔히 최소 동작 자원(operating resources)을 사용하도록 설계된다는 것이다. 상기 언급된 복구 방법은 비교적 작은 양의 메모리를 요구하며 파일시스템과는 상관없이 독립적으로 실행될 수 있으며, 그것은 비교적 큰 양의 자원을 소비하는 회복 프로그램을 채용하기 쉽다.
또한, 비록 파일시스템을 복구하기 위한 이전에 공지된 방법들이 PVR에 적용된다 하더라도, 어떠한 복구 동작도 상기 고정된 시간 제한 내에 완료되지 않을 것이기 때문에, 상기 방법들은 상기와 같은 오디오/비디오 데이터를 버리는 것을 막지는 않을 것이다. 반대로, 본 발명은 정보를 유지하기 위하여 PVR 시스템에 의해 부과되는 고정된 시간 제한 내에 섹터를 신속하게 식별 및 복구하도록 채용될 수 있으며, 만약 그렇지 않았다면 상기 정보는 상기 고정된 시간 제한으로 인해 버려졌을 것이다. 상술한 바와 같이, 본 발명에 따른 상기 복구 방법들은 파일 시스템과는 상관없이 독립적으로 실행될 수 있고 매우 적은 자원을 요구하며, 이에 따라 오염된 섹터가 신속하게 보정될 수 있도록 한다.
도 5는 본 발명의 측면에 따른 개인용 비디오 리코더(500)의 일 실시예를 도시한 블럭도이다. PVR(500)은 프로세서(516)와 저장매체(524)를 포함할 수 있다. 저장매체(524)는 하드디스크일 수 있고, 섹터 ID 리스팅(220) 및 데이터 기입 명령에 따라 기입되는 데이터 모두를 저장하기 위하여 이용될 수 있다. 하지만, 상술한 바와 같이, 다른 실행예에 있어서는, 섹터 ID 리스팅(220)은 기입명령에 따라 데이터가 기입되는 상기 저장매체로부터 완전히 분리된 일 저장 메커니즘 내에 저장될 수 있다. 중앙처리장치(central processing unit, 516)는 예를 들어 브로드컴(Broadcom®)으로부터 상업적으로 이용가능한 BCM 7038 C2 칩을 포함할 수 있는데, 이것은 300 MHz 64-bit CPU를 통합한 듀얼 채널 HD 비디오/오디오/그래픽 및 개인용 비디오 리코딩 칩이다. 상기 BCM 7038 C2는 개인용 비디오 리코더에 채용되는 공통 프로세서(common processor)이다.
본 발명의 일 실행예에 있어서, 위성 기술 회로를 통해 수신된 MPEG-4 압축포맷 내의 오디오/비디오 데이터 패킷은 스트림(512)을 통해 CPU(516)로 전송될 수 있다. 예를 들어, 튜너(504)는 적당한 주파수에 튜닝하고 상기 데이터 패킷을 수신할 수 있다. 추가적으로, 복조기(demodulator, 508)는 상기 튜너로부터의 출력신호를 동기적으로 복조하고 스트림(512)를 통해 CPU(516)에 오디오/비디오 데이터 패킷을 제공할 수 있다. 그리고 나서, 상기 오디오/비디오 데이터 패킷은 디코더(520)를 이용하여 압축이 풀릴 수 있는데, 디코더(520)는 또한 브로드컴(Broadcom®)으로부터 상업적으로 이용가능한 BCM 7411 CO 디코더를 포함할 수 있다. 상기 BCM 7411 CO 디코더는 MPEG-4 비디오 스트림과 호환가능하다. 하지만, 상기 오디오/비디오 데이터는 예를 들어 MPEG-2와 같은 본 기술분야에서 알려진 어떤 포맷이라도 될 수 있고, 예를 들어 케이블 텔레비전 전송과 같은 다른 수단에 의하여 수신될 수 있다는 것을 이해해야 한다. 오디오/비디오 데이터 스트림 내의 오디오/시각 데이터를 수신하면, CPU(516)는 적당한 소프트웨어 및 하드웨어를 통해 상기 언급된 방법 단계들을 실행하도록 구성될 수 있다.
상기 PVR로부터 전원이 제거되는 경우, 진행 중인 상기 기입 사이클을 완료하기 위해 단지 한정된 양의 시간만이 이용가능하다는 것을 또한 알아야 한다. 전원 제거 동안, 기입된 미디어 데이터를 포함하여 섹터의 오염을 완전히 회피하기 위해, PVR은 자신의 시스템 구성요소들을 적절히 셧다운(shut down)시켜야 한다. 하지만, 저장 매체(524)는, 통상 컴퓨터 이용을 위해 최적화되어 있기 때문에, 상기 셧다운 시퀀스를 예측할 수 없다. 따라서, 셧다운 시퀀스의 부과에도 불구하고, 데이터는 섹터에 계속 기입될 것이다. 그 결과, 어떤 지점에서의 섹터는 정상적 파워-다운 동작에 따른 부분적 기입 상태로 불가피하게 남겨질 것이다. 예를 들어 전원 이상과 프로세서 정지와 같은 기입 중단의 다른 공통적인 원인에 추가적으로, 정상적인 셧다운 시퀀스의 결과로서의 섹터 오염은 상기 기재된 본 발명의 측면에 따른 방법들을 적용함으로써 보정될 수 있다. 전원 제거 후의 부트-업 시 또는 다른 어떤 형태의 기입 중단에 이은 정상 프로세싱 동작의 회복 시 상기 저장된 섹터 ID 리스팅을 채용함으로써, CPU(516)는 상기 언급된 본 발명의 측면에 따른 상기 저장 매체 복구 방법을 수행하도록 구성될 수 있다. 상기에서 논의된 바와 같이, 어떤 섹터 메커니즘 내에서 오염된 섹터는 발견될 수 있고, PVR에 의해 부과된 상기 시간 제한(time constraints) 내에 복구될 수 있다. 이에 따라, 그렇지 않다면 PVR 내에서 버려지게 될 데이터가, 본 발명의 복구 방법을 실행하기 위해 적용된 프로세서를 이용함으로써, 유지될 수 있다.
기재된 실행예들의 특징 및 측면은 다양한 애플리케이션들(applications)에 적용될 수 있다. 애플리케이션들은 예를 들어 개인용 컴퓨터 및 웹서버, 또는 저장장치 상의 손상된 파일시스템의 복구시간의 절감이 바람직한 다른 어떤 애플리케이션도 포함할 수 있다. 하지만, 여기에 기재된 상기 특징 및 측면은 다른 애플리케이션 영역에 대하여 적용될 수 있으며, 따라서 다른 애플리케이션들도 가능하고 구상된다. 또한, 무선 주파수 위성장치 및 케이블 장치 외에 프로토콜 및 통신매체도 사용될 수 있다. 예를 들어, 데이터는 (관련 프로토콜을 이용하여) 섬유 광케이블, USB(universal serial bus) 케이블, SCSI(small computer system interface) 케이블, 전화선, DSL(digital subscriber line/loop)선, 가시선(line-of-sight) 접속 및 셀룰러 접속을 통하여 송신 및 수신될 수 있다.
여기서 기재된 실행예들은 예를 들어 방법 또는 프로세스, 장치, 또는 소프트웨어 프로그램에서 실행될 수 있다. 비록 (예를 들어 단지 하나의 방법으로서 논의된) 단일 형태의 실행예의 맥락에서 단지 논의되었다 하더라도, 논의된 특징들의 상기 실행예는 다른 형태들로도 또한 실행될 수 있다(예를 들어 장치 또는 프로그램). 장치는 예를 들어 적정 하드웨어, 소프트웨어 및 펌웨어에서 실행될 수 있다. 방법은 예를 들어 프로세서와 같은 장치에서 실행될 수 있으며, 이것은 예를 들어 컴퓨터, 마이크로프로세서, 집적회로 또는 프로그램가능한 로직장치를 일반적으로 포함하는 프로세싱 장치를 말한다. 프로세싱 장치는 예를 들어 컴퓨터, 셀 폰, PDAs(portable/personal digital assistants) 및 최종 사용자 간 정보의 통신을 용이하게 하는 다른 장치와 같은 통신 장치를 또한 포함한다.
여기에 기재된 다양한 프로세스 및 특징의 실행예들은 다양한 상이한 장치 또는 애플리케이션, 특히 예를 들어 데이터 저장과 관련된 장치 또는 애플리케이션에서 구체화될 수 있다. 장치의 예는 비디오 코더, 비디오 디코더, 웹서버, 셋톱 박스, 랩톱, 개인용 컴퓨터 및 다른 저장장치를 포함한다. 명확한 바, 상기 장치는 이동가능할 수 있고 심지어 이동 차량(mobile vehicle) 내에 설치될 수도 있다.
또한, 상기 방법들은 프로세서에 의해 수행되고 있는 명령(instructions)에 의해 실행될 수 있고, 이러한 명령은 예를 들어 집적회로, 소프트웨어 캐리어(software carrier), 또는 하드디스크, 컴팩트 디스켓, RAM(random access memory) 또는 ROM(read-only) memory)와 같은 다른 저장 장치 등의 프로세서-판독가능 매체 상에 저장될 수 있다. 상기 명령(instructions)은 프로세서-판독가능 매체 상에 실체적으로 구체화된 애플리케이션 프로그램을 형성할 수 있다. 명확한 바, 프로세서는 예를 들어 어떤 프로세스를 실행하기 위한 명령(instructions)을 갖는 프로세서-판독가능 매체를 포함할 수 있다.
본 기술분야의 당업자에게 명확한 바와 같이, 실행예들은 예를 들어 저장 또는 전송될 수 있는 정보를 전달하기 위해 포맷된 신호를 생성할 수도 있다. 상기 정보는 예를 들어 어떤 방법을 수행하기 위한 명령 또는 상기 기재된 실행예들 중 하나에 의해 생성되는 데이터를 포함할 수 있다. 이러한 신호는 예를 들어 (예를 들어 스펙트럼의 무선주파수(radio frequency) 부분을 이용하여) 전자파로서 포맷되거나 기저대 신호(baseband signal)로서 포맷될 수 있다. 상기 포맷팅은 예를 들어 데이터 스트림을 인코딩하는 것, 인코딩된 스트림을 패킷화하는 것, 및 상기 패킷화된 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 상기 신호가 운반하는 상기 정보는 예를 들어 아날로그 또는 디지털 정보일 수 있다. 알려진 바와 같이, 상기 신호는 다양한 상이한 유선 또는 무선 연결을 통해 전송될 수 있다.
많은 실행예들이 기재되었다. 그럼에도 불구하고, 다양한 수정이 행해질 수 있다. 예를 들어, 상이한 실행예들의 구성요소들은 다른 실해예를 만들어내기 위하여 결합, 보충, 수정, 또는 제거될 수 있다. 또한, 당업자는, 다른 구조와 프로세스가 상기 개시된 내용에 대하여 대체될 수 있고; 그 결과인 실행예들은, 개시된 상기 실행예들과 적어도 실질적으로 동일한 결과를 달성하기 위하여, 적어도 실질적으로 동일한 방식으로, 적어도 실질적으로 동일한 기능을 수행할 것이라는 점을 알 수 있을 것이다. 따라서, 상기 및 다른 실행예들은 이하의 청구항의 범위 내에 있다.
200 : 시스템
204 : 제어유닛 208 : 명령 프로세서
212 : 복구 모듈
216 : 저장 매체 220 : 섹터 ID 리스팅
504 : 튜너 508 : 복조기
516 : CPU 520 : 디코더
524 : 저장 매체

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. 저장매체(216);
    데이터가 가장 최근에 기입된 저장 매체 섹터를 식별하는 섹터 ID 리스팅(220);
    데이터 기입 명령을 수신하고, 상기 데이터 기입 명령의 수신에 응답하여 상기 저장 매체의 섹터에 대응하는 섹터 식별자를 상기 리스팅에 저장하며, 상기 데이터 기입 명령에 따라 상기 섹터에 데이터를 기입하도록 구성된 프로세서(208); 및
    기입 동작의 중단에 응답하여 상기 섹터 식별자를 검색하고, 상기 섹터가 오류를 포함하는지 여부를 결정하며, 상기 섹터 내의 오류를 보정하도록 구성된 복구 모듈(212)을 포함하되,
    상기 검색, 결정 및 보정은 파일시스템과는 상관없이 독립적으로 저장매체 레벨에서 수행되는, 개인용 비디오 리코딩(PVR) 시스템에서 저장매체의 파일시스템을 복구하기 위한 시스템.
  11. 제 10항에 있어서,
    상기 복구 모듈(212)은 부트-업 동작시 상기 섹터 식별자를 검색하도록 추가로 구성되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  12. 제 10항에 있어서,
    상기 검색된 섹터 식별자는 가장 최근의 기입 동작이 상기 섹터 식별자의 검색 전에 수행된 섹터에 대응하는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  13. 제 10항에 있어서,
    상기 섹터 식별자는 상기 데이터가 상기 저장매체에 기입되는 위치와는 분리된 기결정된 위치에 저장되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  14. 제 13항에 있어서,
    상기 섹터 식별자는 상기 저장매체의 비휘발성 메모리의 링버퍼에 저장되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  15. 제 10항에 있어서,
    상기 복구 모듈(212)은 상기 리스팅을 검색하도록 추가로 구성되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  16. 제 15항에 있어서,
    상기 복구 모듈(212)은
    복수의 섹터 중 어느 것이라도 오류를 포함하는지 여부를 결정하기 위하여, 상기 리스팅에 따라 연대기적 순위로 복수의 섹터 식별자에 대응하는 상기 복수의 섹터를, 데이터가 가장 최근에 기입된 섹터로부터 시작하여, 검사하도록 추가로 구성되는,
    저장매체의 파일시스템을 복구하기 위한 시스템.
  17. 제 10항에 있어서,
    상기 섹터 식별자는 데이터를 상기 섹터 식별자에 대응하는 섹터에 기입하기 전에 저장되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
  18. 제 10항에 있어서,
    상기 시스템은 개인 비디오 리코더(500)에 포함되는, 저장매체의 파일시스템을 복구하기 위한 시스템.
KR1020107004911A 2007-08-21 2008-02-19 손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템 KR101513711B1 (ko)

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
KR20100054817A KR20100054817A (ko) 2010-05-25
KR101513711B1 true KR101513711B1 (ko) 2015-04-21

Family

ID=39529644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107004911A KR101513711B1 (ko) 2007-08-21 2008-02-19 손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템

Country Status (7)

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

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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112831A (ja) * 1998-10-02 2000-04-21 Matsushita Electric Ind Co Ltd ディスク記録再生方法および装置
US20030163594A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald Open-architecture file system
JP2005242708A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd ファイル修復方法、およびファイル記録装置

Family Cites Families (7)

* 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
US7930490B2 (en) * 2002-12-23 2011-04-19 Siemens Industry, Inc. Method for utilizing a memory device for a programmable logic controller (PLC)
CN100409198C (zh) * 2004-04-15 2008-08-06 美国博通公司 容错数据存储设备
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112831A (ja) * 1998-10-02 2000-04-21 Matsushita Electric Ind Co Ltd ディスク記録再生方法および装置
US20030163594A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald Open-architecture file system
JP2005242708A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd ファイル修復方法、およびファイル記録装置

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101513711B1 (ko) 손상된 하드디스크 파일 시스템을 복구하기 위한 방법 및 시스템
US20100153347A1 (en) Method and system for preventing corruption of hard disk drive file system
CN101325785A (zh) 数据备份与恢复方法及装置、移动设备
US9817600B2 (en) Configuration information backup in memory systems
US20100185846A1 (en) Computer product, storage device, and firmware management method
US8014093B2 (en) Hard disk sector/track remapping for transparent wear leveling
US20100107016A1 (en) System and method for preventing errors ina storage medium
US7234078B2 (en) Data recovery method and data recording apparatus
US8365159B2 (en) Apparatus and method to update code in an information storage and retrieval system while that system remains in normal operation
US7010650B2 (en) Multiple data management method, computer and storage device therefor
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
CN1317650C (zh) 基于硬盘保护空间自动恢复bios的方法
US8392759B2 (en) Test method, test program, test apparatus, and test system
JP2007179085A (ja) ディスク装置、ディスク書込データ選択方法およびディスク書込データ選択プログラム
JP2005149248A (ja) メタデータ修復方式,方法および記憶装置ならびにプログラム
WO2023082332A1 (zh) 一种故障恢复方法、装置、设备及计算机可读存储介质
KR20140101626A (ko) 솔리드 스테이트 드라이브의 데이터 처리 방법
US20050120143A1 (en) Sequential device control with time-out function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee