KR100689436B1 - 이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법 - Google Patents

이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법 Download PDF

Info

Publication number
KR100689436B1
KR100689436B1 KR1020040095094A KR20040095094A KR100689436B1 KR 100689436 B1 KR100689436 B1 KR 100689436B1 KR 1020040095094 A KR1020040095094 A KR 1020040095094A KR 20040095094 A KR20040095094 A KR 20040095094A KR 100689436 B1 KR100689436 B1 KR 100689436B1
Authority
KR
South Korea
Prior art keywords
access
data
sector
hard disk
disk drive
Prior art date
Application number
KR1020040095094A
Other languages
English (en)
Other versions
KR20060055906A (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 삼성전자주식회사
Priority to KR1020040095094A priority Critical patent/KR100689436B1/ko
Priority to US11/176,194 priority patent/US20060129898A1/en
Priority to CNA2005100934981A priority patent/CN1776817A/zh
Priority to EP05024911A priority patent/EP1662394A2/en
Publication of KR20060055906A publication Critical patent/KR20060055906A/ko
Application granted granted Critical
Publication of KR100689436B1 publication Critical patent/KR100689436B1/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/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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • 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/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • 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
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified
    • 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
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • 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)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 하드 디스크 이동통신단말기 내의 특정 데이터 섹터가 배드섹터인 경우 이를 처리하는 방법에 관한 것으로서, 상기 배드섹터가 감지된 경우 소정의 디폴트 데이터를 기입함으로써 데이터 액세스 처리 불능상태를 극복하는 방법에 관한 것이다. 이를 위하여 본 발명은, 상기 다수의 데이터 섹터에 저장된 미디어 파일에 대한 액세스 요청 이벤트가 발생하는 제1단계와, 액세스할 첫 번째 데이터 섹터의 어드레스를, 액세스할 주소를 가리키는 액세스 인덱싱으로 지정하는 제2단계와, 상기 액세스 인덱싱에 위치한 데이터 섹터에 소정 시간동안 액세스를 시도하여 액세스가 성공한 경우에는 해당 데이터 섹터 내 미디어 데이터를 읽어오며, 반면에 상기 소정 시간동안 액세스 실패한 경우에는 배드섹터(bad sector)를 나타내는 디폴트 데이터로서 액세스 실패한 상기 데이터 섹터에 라이팅하는 제3단계와, 액세스 할 다음 번째의 데이터 섹터가 존재하는가를 판단하여 액세스할 다음 번째의 데이터 섹터가 존재하는 경우에는, 액세스 인덱싱을 증가시켜 증가된 액세스 인덱싱에 위치한 데이터 섹터에 대한 상기 제3단계의 액세스 작업을 반복 수행하는 제4단계를 구비한다.
이동통신단말기, 하드 디스크 드라이브, 멀티미디어, MP3, MPEG

Description

이동통신단말기내 하드 디스크 드라이브의 데이터 섹터 액세스 및 배드섹터 처리 방법{METHOD FOR ACCESS TO DATA SECTOR AND MANAGEMENT BAD SECTOR IN MOBILE PHONE'S HDD}
도 1은 하드 디스크 이동통신단말기의 내부 구성 블록도.
도 2는 하드 디스크 드라이브의 내부 구성도.
도 3은 본 발명에 따라 하드 디스크 드라이브에 액세스 처리하는 과정을 도시한 플로우차트.
도 4는 하드 디스크 드라이브 내 데이터 영역의 데이터 라이팅 실시 예를 도시한 그림
도 5는 배드섹터라 의심되는 섹터 구간의 주소를 소정의 데이터베이스에 저장하는 과정을 도시한 플로우차트
도 6은 데이터베이스에 배드섹터를 최종 검사하여 디폴트 데이터로 채우는 과정을 도시한 플로우 차트.
*도면의 주요 부분에 대한 부호의 설명*
S304: 액세스 인덱싱 초기화
S306: 액세스 인덱싱에 위치한 데이터 섹터 액세스
S308: 데이터 섹터 액세스 성공?
S310: 해당 데이터 섹터내 데이터 읽기
S314: 해당 데이터 섹터를 디폴트 데이터로 라이팅
S316: 액세스 인덱싱 1증가
본 발명은 하드 디스크 이동통신단말기 내의 특정 데이터 섹터가 배드섹터인 경우 이를 처리하는 방법에 관한 것으로서, 상기 배드섹터가 감지된 경우 소정의 디폴트 데이터를 기입함으로써 데이터 액세스 처리 불능상태를 극복하는 방법에 관한 것이다.
일반적으로 이동통신단말기는 기지국과 무선으로 통신하는 장치로서, 통화 기능이 주가 된다. 그러나 현재의 이동통신단말기는 통화기능 이외에 점차 멀티미디어 정보를 처리하는 부가 기능들이 추가되고 있는 추세이다. 즉, 이동통신단말기에 카메라를 부착하여 영상데이터를 처리하고, 또한 음악 파일 및 전자사전 등과 같은 부가기능을 처리할 수 있다. 따라서 상기와 같은 멀티미디어 기능을 처리하기 위해해서는 큰 용량의 메모리를 필요로 하는데, 즉, 음악 및 사진영상(동영상 및 정지영상) 데이터 등의 미디어 데이터들을 저장하기 위하여 이동통신단말기는 큰 용량의 메모리를 필요로 하는 것이다.
이를 위하여 이동통신단말기는 미디어 데이터들을 저장하기 위하여 보조메모리를 내장 또는 외장하여 사용한다. 상기 보조메모리로는 반도체 메모리 또는 디스크 장치가 사용될 수 있는데, 상기 반도체 메모리로는 플래시 메모리(Flash Memory)와 같은 비휘발성 메모리가 사용되며, 상기 디스크 장치로는 하드디스크 드라이브(HDD; Hard Disk Drive) 또는 광디스크 드라이브(ODD: Optical Disk Drive)등이 사용될 수 있다. 상기의 광디스크 드라이브에는 WORM(write once read many) 형의 CD-ROM 또는 DVD 등이 될 수 있다.
한편, 이동통신단말기의 보조메모리로서 상기의 하드 디스크 드라이브(HDD)가 사용되는 이동통신단말기(이하, 하드 디스크 이동통신단말기라 함)의 경우, 이동통신단말기는 하드 디스크 드라이브 내 데이터를 저장/읽기(writing/reading) 위하여 하드 디스크 드라이브에 그 때 그 때마다 필요한 데이터를 액세스(access)하는 과정을 수행한다.
그런데, 이러한 하드 디스크 이동통신단말기의 사용 중에 사용자의 실수나 단말기 시스템 오류로 인하여 하드 디스크의 어느 한 영역이 손상됨으로써 배드섹터(bad sector)가 발생될 수 있다. 상기 배드섹터는 하드 디스크에 물리적 충격 또는 정전기가 가해져서 발생되는 물리적 배드섹터와, 바이러스 혹은 서로 파일들이 엉키거나 OS쇼크에 의해 발생되는 논리적 배드섹터가 있는데, 물리적 배드섹터의 경우 계속해서 방치할 경우 손상된 플래터 파편으로 인해서 계속하여 인접한 섹터를 물리적 배드섹터로 만드는 원인이 되기도 한다. 따라서, 하드 디스크 이동통신 단말기의 경우, 항상 사용자가 단말기를 휴대하고 다닌다는 특성 때문에 땅에 떨어뜨리는 등의 불의의 충격에 의해 물리적 배드섹터가 발생할 여지가 크다.
따라서, 상기와 같은 원인으로 하드 디스크 드라이브의 일부분에 물리적 또는 논리적 배드섹터가 발생한 후, 추후에 이동통신단말기가 해당 배드섹터의 데이터에 대해서 액세스 시도를 할 경우, 이동통신단말기는 배드섹터에 위치한 데이터를 인식할 수 없게 되어 계속하여 해당 배드섹터 내 데이터에 대하여 액세스 작업을 반복하는 등의 무한 루프 루틴(unlimited loop routine)에 빠지게 되어 처리 불능 상태에 이르게 된다. 특히, RTOS(Real Time Operating System)와 같이 대중에 공개된 실시간 처리 OS의 경우, 요청된 데이터를 읽기 위해 하드 디스크 드라이브에 소정의 액세스 작업 시간(예컨대, 대략 8sec동안 500번 이상 접근 시도시간)을 필요로 하는데, 상기 액세스 실패 후에도 계속하여 액세스 재시도(retry)를 하게 되어, 이동통신단말기는 배드섹터의 데이터의 액세스 작업 루틴에서 벗어나지 못하는 상태(이하, 배드섹터 액세스 에러 상태라 부르기로 함)에 빠지게 된다.
결국, 상기와 같이 배드섹터 액세스 에러 상태에 놓이게 되면 외형적으로 단말기 동작 정지 상태에 이르게 된다. 따라서, 상기의 배드섹터 액세스 에러 상태에 빠지게 되면 이동통신단말기를 전원 오프(OFF) 후 온(ON)시키거나 리셋(reset)시킴으로써, 하드 디스크 이동통신단말기를 재부팅(re-booting)시켜 단말기를 다시 재동작 시키는 방법밖에 취할 수 없었다.
그러나, 하드 디스크 이동통신단말기가 상기의 배드섹터 액세스 에러 상태에 빠지게 되어 재부팅(re-booting)이 있게 되면, 배드섹터 액세스 에러 이전에 수행 하던 작업 내용이 사라지게 되어 다시 동일한 작업이 반복되서 이루어져야 하는 문제가 있었다. 특히, 재부팅 후에 해당 배드섹터에 대하여 액세스 작업을 다시 시도할 경우, 배스섹터 액세스 에러 상태에 다시금 빠지게 되어 하드 디스크 이동통신단말기의 동작 신뢰도에 크나큰 불신 요인이 되었다. 결국, 이러한 배드섹터에 대한 별다른 대책 없이 재부팅(re-booting)에만 의존하여 배드섹터 액세스 에러 상태 문제를 해결하려 한다면, 하드 디스크 이동통신단말기에 대한 소비자 신뢰도를 떨어뜨리는 결과를 초래한다.
상기의 문제점을 해결하고자 본 발명은 안출된 것으로서, 하드 디스크 이동통신단말기의 하드 디스크 드라이브에 배드섹터가 발생된 경우 종래의 무한 루프 상태인 처리 불능 상태를 극복하여 효과적으로 배드섹터에 대처하는 방법을 제시함을 목적으로 한다. 또한, 감지된 배드섹터에 특정 데이터 값을 기록해 놓음으로써, 추후에 동일한 배드섹터를 발견 시에 반복적인 액세스 시도를 하지 않도록 하는 방안을 제시함을 목적으로 한다. 또한, 별도의 배드섹터 정리 메뉴를 두어서 추후에 배드섹터를 처리할 수 있는 방안을 제시함을 목적으로 한다.
상기 목적을 이루기 위하여 본 발명은, 하드 디스크 드라이브를 구비한 이동통신단말기에서 다수의 데이터 섹터에 분할 저장된 미디어 파일을 액세스하는 방법 및 배드섹터를 처리하는 방법에 있어서, 상기 다수의 데이터 섹터에 저장된 미디어 파일에 대한 액세스 요청 이벤트가 발생하는 제1단계와, 액세스할 첫 번째 데이터 섹터의 어드레스를, 액세스할 주소를 가리키는 액세스 인덱싱으로 지정하는 제2단계와, 상기 액세스 인덱싱에 위치한 데이터 섹터에 소정 시간동안 액세스를 시도하여 액세스가 성공한 경우에는 해당 데이터 섹터 내 미디어 데이터를 읽어오며, 반면에 상기 소정 시간동안 액세스 실패한 경우에는 배드섹터(bad sector)를 나타내는 디폴트 데이터로서 액세스 실패한 상기 데이터 섹터에 라이팅하는 제3단계와, 액세스 할 다음 번째의 데이터 섹터가 존재하는가를 판단하여 액세스할 다음 번째의 데이터 섹터가 존재하는 경우에는, 액세스 인덱싱을 증가시켜 증가된 액세스 인덱싱에 위치한 데이터 섹터에 대한 상기 제3단계의 액세스 작업을 반복 수행하는 제4단계를 포함함을 특징으로 한다.
또한 본 발명은 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법에 있어서, 상기 하드 디스크 드라이브에 저장된 미디어 파일에 대한 액세스 이벤트가 발생할 경우, 하드 디스크 드라이브의 데이터섹터를 미리 설정된 시간동안 액세스를 시도하는 제1단계와, 상기 액세스가 실패한 경우 배드섹터(bad sector)로 판단하여 해당 데이터섹터의 구간 어드레스를 소정의 데이터베이스에 저장하고, 배드섹터가 감지되었음을 상기 미디어 파일별로 디스플레이하는 제2단계와, 사용자로부터 상기 미디어 파일 내 배드섹터(bad sector) 정리 요청이 있는 경우, 상기 데이터베이스내의 데이터섹터 구간 어드레스를 파악하여 미리 설정된 시간동안 액세스를 재시도하는 제3단계와, 상기 액세스 재시도가 실패한 경우 배드섹터로 최종 판단하여 해당 데이터섹터를 소정의 디폴트 데이터로 라이팅하는 제4단계를 포함함을 특징으로 한다.
또한 본 발명은 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법에 있어서, 사용자로부터 하드 디스크 드라이브 검사 메뉴 선택에 의하여 데이터 섹터에 대한 액세스 이벤트가 발생할 경우, 하드 디스크 드라이브의 데이터섹터를 미리 설정된 시간동안 액세스를 시도하는 단계와, 상기 액세스가 실패한 경우 배드섹터(bad sector)로 판단하여 배드섹터가 감지되었음을 미디어 파일별로 디스플레이하는 단계와, 상기 배드섹터를 소정의 디폴트 데이터로 라이팅하는 단계를 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로서 이는 본 발명의 기술 분야에 속하는 자의 일반적 관례에 따라서 달라질 수 있으며, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 하드 디스크 이동통신단말기의 내부 구성 을 도시한 블록도이다.
하드 디스크 이동통신단말기는 크게 메인 처리부(100)와 멀티미디어 처리부(150)를 구비하는데, 상기의 메인 처리부(100)는 하드 디스크 이동통신단말기의 본래 기능인 통화가 이루어지도록 착발신 및 콜 처리 기능을 수행하며, 멀티미디어 처리부(150)는 하드 디스크 이동통신단말기 내 하드 디스크 드라이브에 저장된 미디어 데이터 및 RF처리부(102)를 통하여 수신된 무선 미디어 데이터를 처리하는 기능을 수행한다.
우선, 메인 처리부(100)를 설명하면, 메인 처리부(100)는 RF부(102), 제1메모리(104), 키입력부(106), 보조 표시부(108), 오디오 처리부(112), 제1제어부(110)를 포함하는데, 상기 RF부(102)는 하드 디스크 이동통신단말기의 무선 통신 기능을 수행한다. 또한, 상기 RF부(102)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 RF송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등을 포함한다.
제1제어부(110)는 송신되는 신호를 부호화 및 변조하는 송신기 및 상기 수신되는 신호를 복조 및 복호화하는 수신기 등을 구비한다. 즉, 상기 제1제어부(110)는 모뎀(MODEM) 및 코덱(CODEC)을 구비한다. 여기서 상기 코덱은 패킷데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 구비한다. 오디오 처리부(112)는 상기 제1제어부(110)의 오디오 코덱에서 출력되는 수신 오디오신호를 재생하거나 또는 마이크로부터 발생되는 송신 오디오신호를 오디오 코덱에 전송하는 기능을 수행한다.
키입력부(106)는 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설정하기 위한 기능키들을 구비한다. 또한 상기 키입력부(115)는 본 발명의 실시 예에 따라 하드 디스크 드라이브(160)의 데이터 들을 액세스하기 위한 기능 키들을 구비할 수 있다.
제1메모리(104)는 프로그램 메모리, 데이터 메모리 등으로 구성될 수 있다. 상기 프로그램 메모리는 하드 디스크 이동통신단말기의 호 처리 및 단말기의 전반적인 동작을 제어하기 위한 프로그램들을 저장하고 있다. 또한 상기 데이터 메모리는 호에 관련되는 데이터(예를 들면 폰북 등)들을 저장할 수 있으며, 또한 상기 프로그램들을 수행하는 중에 발생되는 데이터들을 일시 저장하는 기능을 수행한다.
보조 표시부(108)는 상기 제1제어부(110)의 제어 하에 하드 디스크 이동통신단말기의 일반 상태 정보(시간 등)를 표시하며, 호의 착신 여부 등을 표시한다.
결국, 상기의 제1제어부(110), RF부(102), 제1메모리(104), 키입력부(106), 보조 표시부(108), 오디오처리부(112)를 포함하는 메인 처리부(100)는 하드 디스크 이동통신단말기의 통화 기능을 처리하는 기능부들의 집합체로서, 제1제어부(110)는 하드 디스크 이동통신단말기의 전반적인 동작을 제어하는 기능을 수행한다. 또한 상기 제1제어부(110)는 상기 코덱 및 모뎀들을 구비하는 경우를 가정하여 설명하고 있으나, 상기 코덱 및 모뎀을 분리하여 독립적인 데이터처리부를 독립적으로 구성하여 상기 제1제어부(110)를 구현할 수도 있다.
한편, 미디어 데이터의 저장 및 재생기능을 수행하는 멀티미디어 처리부(150)는 제2제어부(154), 주표시부(152), 제2메모리(156), TIC(158), 하드 디스크 드라이브(160)를 포함하는데, 이하 각 기능부를 상술한다.
제2제어부(154)는 미디어 데이터를 저장 및 재생하는 제어를 수행한다. 즉, 제2제어부(154)는 RF부(102)를 통하여 수신한 미디어 데이터를 재생 또는 저장하거나 하드 디스크 드라이브 내 미디어 데이터를 재생 또는 저장하는 제어를 담당한다. 그런데, 본 발명에서는 하드 디스크 드라이브(160)의 액세스 에러 상태 발생시에 처리 방법에 관한 것이므로, 이하 상세 설명에서는 제2제어부(154)가 RF부(102)를 통하여 수신한 미디어 데이터를 처리하는 과정 설명은 생략하고, 하드 디스크 드라이브내의 미디어 데이터를 처리하는 과정에 중점을 두어 상술한다.
상기에서 미디어 데이터라 함은 AVI, MPEG 등의 동영상 압축 알고리즘에 따른 동영상 데이터, JPEG 등의 정지화상 압축 알고리즘에 따른 정지영상 데이터와 같은 영상 데이터, MP3나 WAV와 같은 음향 압축 알고리즘에 따른 음향 데이터 등이 될 수 있음은 자명한 사실일 것이다.
제2제어부(154)가 하드 디스크 드라이브 내 미디어 데이터를 저장 또는 재생하기 위해서는, 상기 제2제어부(154)는 제1제어부(110)의 제어 하에 동작을 수행하게 된다. 즉, 상기 하드 디스크 이동통신단말기가 통화모드와 같은 전화통화 기능을 수행하는 경우에는 상기 제1제어부(110)가 동작되어 휴대단말기의 전체 동작을 제어한다, 그러나, 하드 디스크 이동통신단말기가 대기모드에서 미디어 데이터 처리 이벤트 요청을 받게되면 상기 제1제어부(110)는 이를 감지하고 상기 제2제어부(154)에 단말기의 제어권을 넘겨주게 된다.
주표시부(152)는 일반적인 전화통화 모드시 상기 제1제어부(110)의 제어 하 에 통화에 관련된 정보를 표시하며, 대기모드에서는 상기 제2제어부(154)의 제어 하에 관련 미디어 정보를 표시하게 된다. 상기 주표시부(152)는 LCD(Liquid Crystal Display)로 구현될 수 있으며, 이런 경우 상기 주표시부(152)는 LCD제어부(LCD controller), 영상데이터를 저장할 수 있는 메모리, LCD표시소자 등을 포함한다. 여기서 상기 LCD를 터치스크린(touch screen) 방식으로 구현하는 경우, 상기 LCD는 입력부로도 동작될 수 있다.
제2메모리(156)는 영상 데이터, 음향 데이터 등의 미디어 데이터를 임시 저장하는 임시버퍼로서, SDRAM 등으로 구현될 수 있다. 현재 재생할 소정의 미디어 데이터 데이터를 하드 디스크 드라이브(160)에서 읽어 와서 제2메모리(156)에 일시 저장함으로서, 미디어 데이터 손실 등의 염려 없이 올바른 미디어 데이터의 재생을 수행할 수 있다. 즉, 하드 디스크 드라이브(160)에 저장된 미디어 데이터를 액세스할 때, 제2제어부(154)는 상기 하드 디스크 드라이브(160)의 미디어 데이터를 제2메모리(156)내 임시 버퍼에 저장하여 처리할 수 있다. 여기서 상기 임시 버퍼의 영역은 제2메모리(156) 전체를 사용하는 것이 아니고 일정 크기(예를 들면 32메가 또는 64메가)가 임시버퍼로 할당되어 사용될 수 있다.
하드 디스크 드라이브(160)는 미디어 데이터가 저장되는 기록매체로서, 자성체를 입힌 원판형 알루미늄 기판을 회전시키면서 자료를 저장하고 읽어 내도록 한 보조기억장치이다. 하드 디스크 이동통신단말기는 상기 하드 디스크 드라이브에 수백 메가 내지 수십 기가의 대용량 미디어 데이터를 저장하여 읽어올 수 있음으로써, 다양한 대용량의 미디어 데이터를 저장 및 재생시킬 수 있다. 하드 디스크 드 라이브(160)의 내부 구성 블록을 도 2에 도시하였는데, 그 내부 구성 블록 설명은 도 2와 함께 후술한다.
TIC(158)는 제2제어부(154)의 데이터 및 어드레스 입출력 인터페이스(I/O Interface)를 지원하도록 메모리 인터페이스 기능을 수행한다. 하드 디스크 드라이브(160)는 IDE 모드에서만 지원되는 소자로서, 상기 TIC(158, Transition Integrated Circuit)는 IDE모드(true IDE mode)를 지원하여 제2제어부(154)와 하드 디스크 드라이브(160)와의 인터페이스를 수행할 수 있도록 한다.
상기에서 IDE는 마더보드(mother board)의 데이터 버스와 하드 디스크 드라이브 간에 사용되는 표준 전자인터페이스로서, 상기 하드 디스크 드라이브(160)는 IDE 인터페이스를 지원하며, 제2제어부(154)는 I/O모드, 메모리모드, IDE모드로 인터페이스될 수 있다. 따라서 하드 디스크 드라이브(160)가 IDE 인터페이스 기능을 지원하고 동시에 제2제어부(154)가 I/O모드, 메모리모드, IDE모드로의 인터페이스 기능을 모두 지원할 수 있는 경우에는 상기 TIC(158)를 사용하지 않을 수 있다. 이런 경우, 상기 제2제어부(154)는 하드 디스크 드라이브(160)로부터 데이터를 직접 액세스할 수 있다. 그러나, 하드 디스크 드라이브(160)가 IDE 인터페이스 기능을 지원하지만 제2제어부(154)가 I/O모드, 메모리모드 인터페이스 기능만 지원할 뿐 IDE 인터페이스 기능을 지원하지 않을 경우, 상기 제2제어부(154)는 하드 디스크 드라이브(160)를 직접 액세스할 수 없기 때문에, 제2제어부(154)와 하드 디스크 드라이브(160) 사이에 IDE 인터페이스를 위한 TIC(160;Transition IC)을 구비하는 것이다. 따라서, 상기와 같이, 제2제어부(154)가 TIC(158)를 통하여 하드 디스크 드 라이브(160)를 액세스하는 경우에, 제2제어부(154)는 I/O모드 또는 메모리모드로 인터페이스를 하며, TIC(158)는 하드 디스크 드라이브(160)와 IDE 인터페이스로 데이터 인터페이싱한다. 그 후, TIC(158)는 하드 디스크 드라이브(160)와 IDE 모드로 인터페이스된 데이터를 제2제어부(154)의 인터페이스 방식으로 변환하여 제2제어부(154)에 전달하게 된다.
상기 도 1을 참조하여, 하드 디스크 이동통신단말기의 통화모드 시의 동작 과정 및 대기모드 시에 미디어 데이터 처리 과정을 간략히 설명한다.
우선, 통화모드 시의 동작을 살펴보면, 사용자로부터 키입력부(106)를 통한 다이얼링 요청이 있는 경우, 제1제어부(110)는 발신 통화 요청을 감지하고 수신되는 다이얼정보를 처리한 후 RF부(102)를 통해 RF신호로 변환하여 출력한다. 이후 상대 가입자가 응답하면, 상기 RF부(102)를 통해 이를 감지한다. 그러면 상기 제1제어부(110)는 RF부(102) 및 오디오처리부(112)로 이루어지는 통화로를 형성하여 통신 기능을 수행한다. 반면에, 이동통신기지국(BTS)으로부터 착신 요청이 있게 되면, 상기 제1제어부(110)는 착신 요구를 감지하고, 착신벨 소리를 발생시키는 동시에 보조 표시부(108) 상에 발신 가입자의 정보를 표시한다. 이후 상기 사용자가 응답하면, 제1제어부(110)는 이를 감지하고 착신 호를 서비스한다. 제1제어부(110)는 상기와 같은 음성 통화 이외에 단문 메시지 서비스(SMS) 등과 같은 문자 메시지 전송 서비스를 처리한다.
한편, 대기모드에서 미디어 데이터 처리 모습을 살펴보면, 대기모드에서는 제1제어부(110)로부터 제어권을 넘겨받은 제2제어부(154)의 제어 하에 미디어 데이터를 처리하는 동작을 수행한다. 본 발명의 실시 예에서는 대기모드에서 키입력부(106)를 통해 입력되는 키 데이터들은 제1제어부(110)를 통해 제2제어부(154)에 전송된다. 미디어 데이터 중에서 음향 데이터 처리는 제2제어부(154)에서 처리된 후 오디오처리부(112)를 통해 디코딩 및 재생이 이루어지며, 미디어 데이터 중에서 영상 데이터는 제2제어부(154)의 제어 하에 주표시부(152)에서 디스플레이 된다. 또한, 본 발명의 다른 실시 예로서 제2제어부(154)에서 상기에서와 같이 키입력, 음향 데이터가 처리되는 구조를 가지는 경우에는 상기 제1제어부와 상관없이 제2제어부에서 직접 제어하여 처리될 수도 있다.
일반적으로 정지영상 데이터는 JPEG 코딩 방식이 사용될 수 있으며, 동영상 데이터인 경우에는 MPEG 코딩 방식이 사용될 수 있다. 따라서 제2제어부(154)는 상기 JPEG 코덱 및 MPEG 코덱을 구비하여 영상 데이터를 처리할 수 있다. 마찬가지로, 음향 데이터의 경우에는 일반적으로 MP3 코딩 방식이 사용될 수 있는데, 이런 경우 MP3 코덱을 구비하여 음향 데이터를 처리할 수 있다. 상기의 JPEG, MPEG, MP3 등과 같은 코딩 방식 이외에 다른 코딩에 의한 압축이 이루어진 경우, 제2제어부(154)는 필요한 방식의 코덱을 구비하여 미디어 데이터를 처리할 수 있다.
도 2는 하드 디스크 이동통신단말기 내의 하드 디스크 드라이브의 섹터 구성 블록도이다.
일반적으로 하드 디스크 드라이브(HDD)는 최소 어드레스로부터 최대 어드레 스까지의 기억 어드레스로 특징화된 것으로서, 하드 디스크 드라이브의 저부에는 일반적으로 하나의 마스터 부트 레코드(MBR)가 있고 마스터 부트 레코드에는 하나 이상의 볼륨정보를 가지고 있어서 모든 볼륨의 위치정보를 알 수 있다. 또한, 각 볼륨의 첫 번째 섹터(210)에는 부트 레코드가 존재하여 해당 볼륨의 타입 및 크기, 섹터당 바이트 수, 클러스터 당 섹터 수, 파일 시스템 당 섹터 수, 볼륨 이름, 시리얼 번호 및 부트 실행 코드 등의 세부정보를 가진다.
파일 시스템은 하드 디스크 드라이브의 대부분을 차지하고 있는 데이터 영역(220) 중에서 어느 섹터가 사용되고 있고 어느 섹터가 사용되고 있지 않은지를 알려주는 기능을 수행하기 위해 하드 디스크 드라이브 각 부분의 상태를 기록한 테이블이다. 도스(DOS), 윈도우(window), OS/2, 매킨토시 및 유닉스 기반의 운영체계(operating system), RTOS(Real Time OS)들은 파일들이 계층적인 구조로 어디에 위치하는가를 나타내는 파일 시스템을 가진다. 상기 파일 시스템의 일 예로서, 윈도우의 경우에는 FAT16, FAT32와 같은 파일 할당 테이블(FAT;File Allocation Table)을 가진다.
따라서, 하드 디스크 이동통신단말기에서 OS(예컨대, RTOS 운영체계)는 하드 디스크 드라이브의 데이터 영역을 클러스터(Cluster) 단위로 관리하며, 소정의 데이터 파일이 디스크에 기록될 때 하드디스크 공간을 클러스터 단위로 할당한다. 그리고 이러한 클러스터의 배치는 파일 시스템을 이용하여 관리되며, 디렉토리는 하드 디스크 드라이브에 저장된 파일들에 대한 정보를 관리하는데, 상기의 정보란 파일의 이름, 확장자, 크기, 그리고 마지막으로 기록된 시간과 날짜 등이다.
따라서, 이러한 파일 시스템에 기록되는 파일은 계층구조 내의 디렉토리(윈도우 95 이후에는 폴더(folder) 또는 서브 디렉토리)내에 놓여지게 되고, 상기 파일 시스템들은 파일의 이름을 붙이는 규칙을 가진다. 이런 규칙에는 파일이름의 길이 제한, 어떤 글자들이 사용될 수 있는지 등이 포함되며, 몇몇 시스템에서는 파일이름 확장자의 길이까지 제한하고 있다. 파일 시스템 테이블은 또한 디렉토리 구조를 통하여 파일까지 가는 경로를 설정하는 형식을 포함한다.
결국, 하드 디스크 드라이브는 상기와 같이 특정 OS에 의해 관리되는 파일 시스템을 가질 수 있는데, 상기 파일 시스템을 통하여 전자사전, 음악 파일 또는 영상 파일에 이름을 붙이고, 저장이나 검색을 위해 논리적으로 파일들을 어디에 위치시켜야 하는지를 알 수 있게 되는 것이다.
그런데, 상기와 같은 블록 구성을 가진 하드 디스크 드라이브는 충격 등의 물리적 원인 또는 프로그램 에러 등에 의한 논리적 원인에 의해서 부트 레코드, FAT, 디렉토리를 포함하는 헤더영역(210)과 데이터 영역(220) 중에서 어느 한 섹터 영역이 손상되는 물리적 배드섹터(physical bad sector)나 논리적 배드섹터(logical bad sector) 결함을 가질 수 있게 된다. 이하에서는 설명의 편의를 위하여 발명의 일 실시 예로서, 하드 디스크 드라이브 각 섹터 영역 중에서 특정 데이터 영역(220)이 손상되어 배드섹터가 발생되는 경우를 가정하여 설명하겠지만, 상기 데이터 영역(220) 뿐 아니라 다른 영역에서 배드섹터가 발생되는 경우에도 본 발명이 적용될 수 있음은 자명한 사실일 것이다.
도 3은 본 발명에 따라 하드 디스크 드라이브에 저장된 미디어 파일 재생 중 배드섹터 발견 시에 처리 과정을 도시한 플로우차트이다.
하드 디스크 이동통신단말기의 대기모드 상태에서, MPEG 등의 동영상 데이터나 MP3와 같은 음향 데이터를 이동통신단말기 내 하드 디스크 드라이브에서 읽어 와서 특정 미디어 파일을 재생해야 할 경우와 같이 하드 디스크 드라이브 액세스 요청 이벤트가 발생(302)된 경우, 제2제어부(154)는 액세스 요청된 데이터가 위치한 하드 디스크 드라이브의 데이터 섹터 중에서 첫 번째 데이터 섹터에 대하여 액세스를 시도한다. 상기 액세스 시도를 위하여 제2제어부(154)는 액세스할 데이터 섹터의 어드레스 정보를 가진 인덱싱(이하, 액세스 인덱싱이라 함)을 초기화(304)한다. 상기 액세스 인덱싱 초기화(304)는 액세스할 읽어올 다수의 데이터 섹터들 중에서 첫 번째로 위치한 데이터 섹터의 어드레스로 지정하는 것을 말한다.
일반적으로 하드 디스크 드라이브(160)의 데이터 섹터는 소정 블록 단위(예컨대, 512byte 단위)로 구획되어 이루어지며, 제2제어부(154)는 액세스 요청된 다수개의 데이터 섹터들 중에서 제일 앞부분의 데이터 섹터부터 순차적으로 액세스하게 된다. 예를 들어, 하드 디스크 드라이브의 볼륨을 도시한 도 4의 그림에서, 특정 미디어 파일이 5번 데이터 섹터(402), 6번 데이터 섹터(404), 7번 데이터 섹터(406), 8번 데이터 섹터(408)에 저장되어 있는 경우, 해당 미디어 파일에 대한 억세스 요청 이벤트가 발생(302)된 경우, 미디어 파일이 저장된 데이터 섹터들 중에서 첫 번째로 위치한 5번 데이터 섹터(402)의 어드레스가 인덱싱 데이터로 초기화 설정되는 것(304)이다.
상기 액세스 인덱싱 초기화(304)후 해당 액세스 인덱싱에 위치한 데이터 섹터에 대한 액세스 시도(306)가 이루어진다. 상기 액세스 인덱싱에 위치한 데이터 섹터의 액세스의 과정(306)을 좀더 자세히 상술하면, 제2제어부(154)의 액세스 명령(command)을 수신한 TIC(158)가 하드 디스크 드라이브(160)와의 데이터 인터페이싱을 통하여 요청된 데이터 섹터의 액세스를 시도한다. 요청한 데이터 섹터의 액세스에 성공하여 하드 디스크 드라이브(160)로부터 해당 데이터를 읽어오게 되면, TIC(158)는 읽어온 데이터를 제2제어부(154)로 전송하여 주고, 제2제어부(154)는 수신한 데이터를 제2제어부의 제2메모리(156) 내 임시버퍼에 임시 저장하여 해당 데이터의 재생 시에 이용한다. 일반적으로 상기의 액세스 시도(306)는 하드 디스크 드라이브의 rpm에 따른 일정 수 이상의 액세스 시도가 있게 되는데, 제2제어부(154)는 상기 액세스를 위한 액세스 알고리즘을 제공한다. 예를 들어, 하드 디스크 드라이브 1회전 동안 한 섹터 읽기가 이루어진다고 가정하면, 하드 디스크 드라이브 사양이 4440rpm의 경우 1회전하는 동안 13.5ms(60sec / 4440rpm)가 필요하게 된다. 따라서, 1초 동안 디스크 회전수는 74회(1s / 13.5ms) 이루어지며, 8초 동안 592회(8초*74회) 정도의 액세스를 시도하게 된다.
한편, 상기와 같이 일정 시간동안 일정 횟수 이상의 액세스 시도가 있었음에도 불구하고 데이터 액세스를 실패(fail)한 경우(308b)에는, 더 이상의 액세스 시도는 무의미하다고 판단하여 TIC(158)는 액세스 실패 메시지를 제2제어부(154)로 전송한다. 상기 액세스 실패 메시지를 수신한 제2제어부(154)는 해당 데이터 섹터를 디폴트 데이터(default data)로 라이팅(writing) 시킬 것을 명령(314)한다. 상 기의 디폴트 데이터라 함은 추후에 해당 데이터 섹터를 액세스할 때 디폴트 데이터가 기록되어 있을 때 해당 데이터 섹터가 배드섹터(bad sector)임을 감지하고 더 이상의 액세스 시도 없이 다음 번째의 데이터 섹터로 접속을 시도하도록 하기 위하여 설정되는 값이다. 상기의 디폴트 데이터는 미리 정의된 특정 값으로 하거나, 도 4의 6번 데이터 섹터(404)와 같이 Ox0000 이나 Oxffff와 같이 해당 데이터 섹터를 모두 0 또는 1로 기록함으로써 추후에 해당 데이터 섹터가 배드섹터임을 감지할 수 있게 된다.
상기와 같이 액세스 실패(308b)하여 해당 데이터 섹터를 디폴트 데이터로 라이팅(314)시키거나 반면에 액세스 시도 성공(308a)하여 해당 데이터 섹터 내 데이터를 리딩(310a)해 온 후에는, 다음 번째로 액세스할 데이터 섹터가 존재하는가를 판단(312)한다. 판단결과, 액세스 요청된 다음 번째의 데이터 섹터가 존재할 경우(312a)에는 액세스 인덱싱을 1증가(316) 시킨다. 액세스 인덱싱의 1증가(316)가 있은 후에는 증가된 액세스 인덱싱에 위치한 데이터 섹터에 접속을 시도(306)하여 해당 데이터를 읽어오거나(310), 액세스 실패 시에는 디폴트 데이터로 라이팅하는 과정(314)을 수행하고 다음 번째로 액세스할 데이터 섹터가 있는지를 판단(312)하는 과정을 반복한다.
한편, 액세스할 다음 번째의 데이터 섹터가 존재하지 않을 시(312b)에는 액세스 시도가 종료된다. 액세스 시도 종료가 있은 후에는 하드 디스크 이동통신단말기는 액세스에 성공하여 읽어온 데이터를 재생하게 된다. 따라서, 액세스 실패로 인하여 도 4와 같이 디폴트 데이터로 채워진 데이터 섹터 부분(404)의 데이터는 재 생 시 유효 데이터로 활용되지 않는다. 즉, 상기 액세스 실패된 데이터 섹터 부분(404)은 일반적으로 한 데이터 섹터 크기가 512byte에 불과하므로, 전체의 미디어 파일 재생 시에는 해당 액세스 실패 부분만 일순간 끊기는 느낌만 들뿐 미디어 파일 재생에 큰 영향이 없다. 예를 들어, 전체의 음향 파일 또는 영상 파일과 같은 미디어 파일 중에서 일부 데이터 섹터가 액세스 실패 되었더라도 전체 음향 파일이나 영상 파일등의 미디어 파일 재생 시에는 음향이 잠깐 튄다는 느낌이 든다거나 영상이 잠깐 끊긴다는 느낌이 들 뿐 전체적인 미디어 파일 재생에 끼치는 영향이 적다.
한편, 액세스 성공함으로써 요청된 데이터 섹터에서 읽는 단계(310)를 거쳐 읽어온 데이터가 이전에 배드섹터로 인해 채워진 디폴트 데이터(디폴트 데이터로 정의된 특정값이거나, Ox0000 또는 Oxffff) 인 경우에는 해당 데이터 섹터가 배드섹터임을 감지하고 읽어온 디폴트 데이터 부분은 재생되지 않는다.
결국, 특정 미디어 파일에 배드섹터가 있는 경우에는, 해당 미디어 파일을 처음 재생 시에는 배드섹터 감지시간을 거쳐 배드섹터를 감지하고 디폴트 데이터를 채워 넣음으로써, 추후에 동일한 미디어 파일의 재생 요청이 있을 시에 배드섹터 감지 시간(예컨대, 4000rpm 하드 디스크 드라이브에서 500회 이상 액세스시도 시에 약 8초 소요)을 다시 소비할 필요 없이 바로 그 다음 번째의 정상적인 데이터 섹터를 읽어옴으로써, 배드섹터 액세스 에러 없이 미디어 파일 재생이 가능하게 된다.
한편, 상기 도 3의 308단계에서 설명한 바와 같이 데이터 액세스 시도 시에 배드섹터를 감지하기 위하여 대략 8초 동안 4000번 이상 시도한다. 그런데, 상기와 같이 하나의 배드섹터를 감지하기 위하여 걸리는 8초라는 시간은 사용자 입장에서는 기나긴 시간일 수 있다. 따라서, 본 발명의 다른 일 실시 예로서, 데이터 섹터 액세스 시도가 1~2초 내에 이루어지 않을 때에는 더 이상의 액세스 시도를 하지 않고, 추후에 사용자 요구가 있을 때 배드섹터인지를 정밀하게 검사하여 배드섹터일 시에는 디폴트 데이터로 라이팅시키는 방안을 제시한다. 상기 알고리즘을 가짐으로써, 배드섹터를 디폴트 데이터로 라이팅시키는 작업이 사용자가 원하는 때에 수행될 수 있기 때문에 사용자 편의성을 향상시킬 수 있다.
도 5의 플로우차트는 배드섹터라 의심되는 섹터 구간의 주소를 소정의 데이터베이스에 저장하는 과정을 도시한 플로우차트이고, 도 6은 상기 데이터베이스에 저장된 섹터 구간을 사용자 요구가 있을 때 다시 한번 정밀하게 검사하여 배드섹터로 최종 판단될 때 디폴트 데이터를 채우는 과정을 도시한 플로우차트로서, 이하, 각 과정을 상술한다.
도 5를 참조하여 하드 디스크 이동통신단말기 내 하드 디스크 드라이브에서 배드섹터가 발생하면 배드섹터 발생을 알리고 배드섹터를 처리하는 동작을 상세하게 설명한다. 하드 디스크 이동통신단말기의 대기모드 상태에서 사용자가 키패드를 이용하여 MPEG, MP3와 같은 특정 미디어 파일을 재생 요청이 있게 되어 하드 디스크 드라이브 액세스 요청 이벤트가 발생(502)되는 단계를 가진다.
상기 액세스 이벤트가 발생하면, 제2제어부(154)는 액세스 요청된 미디어 파일이 저장된 데이터 섹터의 어드레스를 가리키는 인덱싱(이하, 액세스 인덱싱이라 함)을 미디어 파일이 저장된 첫 번째 데이터 섹터 주소로 지정하는 초기화 작업을 수행(504)한다. 즉, 상기의 액세스 인덱싱 초기화란 액세스할 다수의 데이터 섹터들 중에서 첫 번째로 위치한 데이터 섹터의 어드레스로 액세스 인덱싱으로서 지정하는 것을 말한다.
상기 액세스 인덱싱 초기화(504) 후 제2제어부(154)는 506단계에서 해당 액세스 인덱싱에 위치한 데이터 섹터에 대한 액세스를 시도한다. 상기의 액세스 시도는 1초 내지 2초 정도 짧은 시간동안만 액세스를 시도한다. 도 3의 306단계에서 액세스는 액세스 성공이 될 때까지 대략 8초동안 4000번 이상 시도가 이루어지지만, 본 실시 예에서는 1,2초 정도만 액세스 시도를 하는 것이다. 예를 들어, 하드 디스크 드라이브 1회전 동안 한 섹터 읽기가 이루어진다고 가정하면, 하드 디스크 드라이브 사양이 4440rpm의 경우 1회전하는 동안 13.5ms(60sec / 4440rpm)가 필요하게 된다. 따라서, 1초 동안 디스크 회전수는 74회(1s / 13.5ms) 이루어지며, 2초 동안 148회(2초*74회) 정도의 액세스를 시도하게 된다.
상기와 같이 1초 내지 2초 동안 계속적인 액세스 시도를 수행하였는데도 액세스가 성공적으로 이루어지지 않을 시에는 해당 데이터 섹터를 배드섹터로 인식하고 해당 데이터 섹터 어드레스를 배드섹터 데이터베이스에 저장(510)한다. 상기의 배드섹터 데이터베이스는 배드섹터로 인식된 데이터섹터 어드레스를 임시로 저장한 곳으로서, 도 1에서 도시하지 않았지만 제2메모리(156) 내에 구비된다.
상기 과정을 좀더 상술하면, 일정 시간동안 일정 횟수(2초 동안 148회)의 액세스 시도가 있었음에도 불구하고 데이터 액세스를 실패(fail)한 경우, TIC(158)는 더 이상의 액세스 시도는 무의미하다고 판단하고 엑세스 실패 메시지를 제2제어부(154)로 전송한다. 그러면 상기 액세스 실패 메시지를 수신한 제2제어부(154)는 508단계에서 해당 데이터 섹터를 배드섹터로 인식하고 510단계로 진행하여 제2메모리(156) 내에 있는 배드섹터 데이터베이스에 액세스를 실패한 데이터섹터의 주소 값을 저장한다. 그리고 제2제어부(154)는 더 이상의 액세스 시도 명령 없이 512단계로 진행하여 다음 번째로 액세스할 데이터 섹터가 존재하는가를 판단한다. 판단결과, 액세스 요청된 다음 번째의 데이터 섹터가 존재하는 경우 514단계에서 액세스 인덱싱을 1증가 시킨다. 액세스 인덱싱의 1증가가 있은 후에는 상기 506,508,510단계를 반복 수행한다.
한편, 상기 506단계에서 액세스 시도를 성공하면 516단계에서 제2제어부(154)는 해당 데이터 섹터 내 데이터를 리딩해 온 후, 512단계로 진행하여 다음 번째로 액세스할 데이터 섹터가 존재하는가를 판단한다. 판단결과, 액세스 요청된 다음 번째의 데이터 섹터가 존재할 경우에는 제2제어부(154)는 514단계에서 액세스 인덱싱을 1증가 시킨다. 액세스 인덱싱의 1증가가 있은 후에는 상기 506단계로 진행하여 증가된 액세스 인덱싱에 위치한 데이터 섹터에 접속을 시도하고 해당 데이터를 읽어오거나, 액세스 실패 시에는 해당 데이터 섹터를 배드섹터로 인식하여 506단계~512단계를 더 이상의 액세스할 데이터 섹터가 없을 때 까지 과정을 반복 수행한다.
상기 과정이 이루어지는 동안, 액세스할 다음 번째의 데이터 섹터가 존재하지 않을 시에는 제2제어부(154)는 518단계에서 액세스 시도 종료 명령을 보내고 520단계로 진행하여 배드섹터 데이터베이스 내에 배드섹터의 주소가 저장되었는지 판단한다. 판단결과, 배드섹터 주소가 저장되어 있으면 522단계로 진행한다. 522단계에서 제2제어부(154)는 주표시부(152)를 제어하여 배드섹터 감지 메시지를 표시한다. 여기서 배드섹터 감지 메시지에는 감지된 배드섹터의 개수가 표시되고 베드섹터를 치유하기 위한 시간(배드섹터를 다시 한번 정밀하게 검사하여 디폴트 데이터로 라이팅하는 작업 시간)이 표시될 수 있다. 상기 베드섹터 치유는 하기 도 4를 참조하여 설명할 것이다.
이후 사용자가 배드섹터를 제외한 액세스 성공한 섹터 부분만이라도 재생할 것을 선택하면 상기 제1제어부(110)는 524단계에서 이를 감지하고 제2제어부(154)에 재생 메시지를 전송한다. 제2제어부(154)는 526단계에서 상기 액세스에 성공하여 임시버퍼에 저장해 놓은 미디어 데이터를 재생한다.
그러나 상기 배드섹터가 감지되었는지 판단한 결과 베드섹터가 존재하지 않으면 사용자로부터 별도의 재생 입력을 받지 않고 자동적으로 상기 액세스에 성공하여 읽어온 미디어 데이터를 재생한다.
도 6은 상기 도 5의 과정을 거쳐서 발견한 배드섹터를 추후에 다시 정밀 검사하여 배드섹터로 최종 판단될 시에 디폴트 데이터로 라이팅하는 과정을 도시한 플로우차트이다.
하드 디스크 이동통신단말기의 대기모드 상태인 602단계에서 사용자가 키패드(106)를 이용하여 베드섹터 정리 메뉴를 선택하면 제1제어부(110)는 604단계에서 이를 감지하고 606단계로 진행한다. 606단계에서 제1제어부(110)는 제2제어부(154)에 배드섹터 정리 명령메시지를 전송하고 제2제어부(154)는 배드섹터 데이터베이스 내에 있는 배드섹터로 인식된 데이터섹터의 어드레스 정보를 가져온다. 제2제어부(154)는 가져온 어드레스에 위치한 데이터 섹터에 대하여 일정 시간동안 액세스를 시도하여 배드섹터인지를 최종 판단한다. 상기의 판정을 위해 액세스 시도는 도 5의 506단계에서의 액세스시도 시간(예컨대, 2초 동안 148회) 보다 긴 시간과 많은 횟수(예컨대, 8초 동안 시도)의 액세스를 시도한다. 상기와 같이 보다 긴 시간과 많은 횟수의 액세스를 시도하는 이유는 배드섹터로 판명된 데이터가 일시적인 논리적 오류일 수 있기 때문에 배드섹터인지를 최종확인하기 위하여 더 많은 횟수의 액세스를 시도하는 것이다.
제2제어부(154)는 상기 일정 시간동안 일정 횟수 이상의 액세스 시도가 있었음에도 불구하고 데이터 액세스를 실패(fail)한 경우에는, 확실한 배드섹터로 인식하여 제2제어부(154)는 해당 데이터 섹터를 디폴트데이터 섹터(default data)로 대체시킬 것을 명령한다. 상기의 디폴트 데이터는 도 3에서 설명한 바와 같이 미리 정의된 특정 값으로 하거나, Ox0000 이나 Oxffff와 같이 해당 데이터 섹터를 모두 0 또는 1로 기록함으로써 추후에 해당 데이터 섹터가 배드섹터 임을 감지할 수 있게 된다.
한편, 배드섹터를 처리하는 본 발명의 다른 실시 예로서 하드 디스크 이동통신단말기에 별도의 하드 디스크 드라이브 검사 메뉴를 두어서 사용자의 선택에 의 하여 그 때 그 때 배드섹터를 파악하려 처리하는 방안을 제시한다.
즉, 도 5의 하드 디스크 드라이브 액세스 요청 이벤트가 발생하는 502단계는 사용자의 미디어 파일 재생 요청에 의하여 발생되어 배드섹터가 검출될 수 있으나, 이러한 미디어 파일 재생 요청이 없더라도 별도의 하드 디스크 드라이브 검사 메뉴를 두어서 배드섹터를 검출하여 치유할 수 있다. 하드 디스크 드라이브 검사 메뉴는 디스크 전체를 검사하는 디스크 검사 항목, 각 미디어 파일별로 검사하는 미디어 파일 검사 항목을 두어서 각각 실행되도록 메뉴를 사용자에게 제공한다.
상기의 디스크 검사 항목은 하드 디스크 드라이브 전체 섹터를 검사하여 배드섹터 발견 시에 디폴트 데이터로 채우는 것으로서, 사용자로부터 디스크 검사 항목 선택에 의해 디스크 검사 요청이 있을 시에 도 5의 502단계의 액세스 요청 이벤트가 발생한 것으로 보아 하드 디스크 드라이브 전체에 대하여 도 5의 각 단계를 수행한다. 도 5의 각 단계를 수행하여 하드 디스크 드라이브의 배드섹터를 감지하게 되면 감지된 배드섹터에 디폴트 데이터를 라이팅해 넣음으로써 배드섹터를 디폴트 데이터로 채워 넣을 수 있다.
한편, 상기의 미디어 파일 검사 항목은 각 미디어 파일에 대해 개별적으로 배드섹터가 있는지 검사하는 메뉴이다. 사용자가 특정 미디어 파일에 대해 배드섹터 검사를 요청하여 도 5의 502단계에서의 액세스 요청 이벤트가 발생하면, 해당 미디어 파일을 저장한 데이터섹터에 대해 배드섹터를 검사한 후 배드섹터 발견 시에 디폴트 데이터를 라이팅한다.
결국, 도 5의 액세스 요청 이벤트 발생 502단계는 특정 미디어 재생 요구가 있을 때 발생할 수도 있지만, 상기에서 설명한 바와 같이 이동통신단말기에 배드섹터 정리 메뉴를 두어서 사용자가 상기 하드 디스크 드라이브 검사 메뉴를 선택하여 액세스 요청 이벤트가 발생할 수 있음은 자명한 사실일 것이다.
상술한 본 발명의 설명에서는 이동통신단말기와 같은 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시 할 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위뿐 아니라 균등 범위에도 미침은 자명할 것이다.
상기에서 기술한 바와 같이 본 발명은, 하드 디스크 이동통신단말기에 배드섹터가 발생했을 경우 처리 알고리즘을 제시함으로써, 데이터 섹터에 액세스하여 효율적으로 미디어 데이터를 읽어올 수 있는 효과가 있다. 또한, 감지된 배드섹터에 디폴트 데이터를 기록해 놓음으로써, 추후 동일한 배드섹터 액세스 시에 액세스 시간 낭비 없이 곧바로 배드섹터를 처리할 수 있는 효과가 있다. 또한, 일단 배드섹터가 감지된 후, 나중에 사용자의 요청에 의하여 배드섹터를 디폴트 데이터로 채워 넣음으로써, 사용자 편의성을 향상시켰다. 또한, 별도의 디스크 검사 메뉴를 두어서 디스크를 손쉽게 관리할 수 있다.

Claims (12)

  1. 하드 디스크 드라이브를 구비한 이동통신단말기에서 다수의 데이터 섹터에 분할 저장된 미디어 파일을 액세스하는 방법 및 배드섹터를 처리하는 방법에 있어서,
    상기 다수의 데이터 섹터에 저장된 미디어 파일에 대한 액세스 요청 이벤트가 발생하는 제1단계와,
    액세스할 첫 번째 데이터 섹터의 어드레스를, 액세스할 주소를 가리키는 액세스 인덱싱으로 지정하는 제2단계와,
    상기 액세스 인덱싱에 위치한 데이터 섹터에 소정 시간동안 액세스를 시도하여 액세스가 성공한 경우에는 해당 데이터 섹터 내 미디어 데이터를 읽어오며, 반면에 상기 소정 시간동안 액세스 실패한 경우에는 소정의 디폴트 데이터를 액세스 실패한 상기 데이터 섹터에 라이팅하는 제3단계와,
    액세스 할 다음 번째의 데이터 섹터가 존재하는가를 판단하여 액세스할 다음 번째의 데이터 섹터가 존재하는 경우에는, 액세스 인덱싱을 증가시켜 증가된 액세스 인덱싱에 위치한 데이터 섹터에 대한 상기 제3단계의 액세스 작업을 반복 수행하는 제4단계
    를 포함함을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 데이터 섹터 액세스 및 배드섹터 처리 방법.
  2. 제1항에 있어서, 제3단계에서의 소정 시간동안 액세스를 시도는, 설정된 액세스 횟수를 시도하기 위하여 하드 디스크 드라이브의 분당 회전속도(rpm)에 따라 결정되는 소정 시간 동안 이루어지는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 데이터 섹터 액세스 및 배드섹터 처리 방법.
  3. 제1항에 있어서, 제3단계에서의 디폴트 데이터는, 미리 정의된 특정 값으로 하거나, Ox0000 또는 Oxffff 값으로 하는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 데이터 섹터 액세스 및 배드섹터 처리 방법.
  4. 제1항에 있어서, 제3단계에서의 디폴트 데이터는, 미디어 파일 재생 시에 무시되어 재생되지 않는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 데이터 섹터 액세스 및 배드섹터 처리 방법.
  5. 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법에 있어서,
    상기 하드 디스크 드라이브에 저장된 미디어 파일에 대한 액세스 이벤트가 발생할 경우, 하드 디스크 드라이브의 데이터섹터를 미리 설정된 시간동안 액세스를 시도하는 제1단계와,
    상기 액세스가 실패한 경우 배드섹터(bad sector)로 판단하여 해당 데이터섹터의 구간 어드레스를 소정의 데이터베이스에 저장하고, 배드섹터가 감지되었음을 상기 미디어 파일별로 디스플레이하는 제2단계와,
    사용자로부터 상기 미디어 파일 내 배드섹터(bad sector) 정리 요청이 있는 경우, 상기 데이터베이스내의 데이터섹터 구간 어드레스를 파악하여 미리 설정된 시간동안 액세스를 재시도하는 제3단계와,
    상기 액세스 재시도가 실패한 경우 배드섹터로 최종 판단하여 해당 데이터섹터를 소정의 디폴트 데이터로 라이팅하는 제4단계
    를 포함함을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기 의 배드섹터 처리 방법.
  6. 제5항에 있어서, 제1단계에서 액세스 이벤트는 별도의 하드 디스크 드라이브 검사 메뉴를 두어서 사용자로부터 하드 디스크 드라이브 검사 메뉴 선택에 의하여 발생함을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  7. 제 6항에 있어서, 하드 디스크 드라이브 검사 메뉴는 디스크 전체의 섹터의 정상 여부를 검사하는 디스크 검사 항목을 포함하는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  8. 제 6항에 있어서, 하드 디스크 드라이브 검사 메뉴는 특정 미디어 파일이 저장된 데이터 섹터의 정상 여부를 검사하는 미디어 파일 검사 항목을 포함하는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  9. 제5항에 있어서, 제1단계에서 액세스 이벤트는 미디어 파일 재생 요청이 있을 시에 발생함을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  10. 제5항에 있어서, 제2단계에서 배드섹터가 감지되었음을 상기 미디어 파일별로 디스플레이하는 것은, 검출된 배드섹터의 개수를 함께 디스플레이하는 것을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  11. 제5항에 있어서, 제3단계에서 액세스를 재시도하는 시간은 제1단계의 액세스 시도 시간보다 긴 시간동안 이루어짐을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
  12. 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법에 있어서,
    사용자로부터 하드 디스크 드라이브 검사 메뉴 선택에 의하여 데이터 섹터에 대한 액세스 이벤트가 발생할 경우, 하드 디스크 드라이브의 데이터섹터를 미리 설정된 시간동안 액세스를 시도하는 단계와,
    상기 액세스가 실패한 경우 배드섹터(bad sector)로 판단하여 배드섹터가 감지되었음을 미디어 파일별로 디스플레이하는 단계와,
    상기 배드섹터를 소정의 디폴트 데이터로 라이팅하는 단계
    를 포함함을 특징으로 하는 하드 디스크 드라이브를 구비한 이동통신단말기의 배드섹터 처리 방법.
KR1020040095094A 2004-11-19 2004-11-19 이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법 KR100689436B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040095094A KR100689436B1 (ko) 2004-11-19 2004-11-19 이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법
US11/176,194 US20060129898A1 (en) 2004-11-19 2005-07-08 Method for accessing a data sector and processing a bad sector in a hard disk drive of a mobile communication terminal
CNA2005100934981A CN1776817A (zh) 2004-11-19 2005-08-30 在硬盘驱动器中访问数据扇区和处理坏扇区的方法
EP05024911A EP1662394A2 (en) 2004-11-19 2005-11-15 Method for accessing data sectors and processing an access failure in a hard disk drive of a mobile communication terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040095094A KR100689436B1 (ko) 2004-11-19 2004-11-19 이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법

Publications (2)

Publication Number Publication Date
KR20060055906A KR20060055906A (ko) 2006-05-24
KR100689436B1 true KR100689436B1 (ko) 2007-03-08

Family

ID=36050901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040095094A KR100689436B1 (ko) 2004-11-19 2004-11-19 이동통신단말기내 하드 디스크 드라이브의 데이터 섹터액세스 및 배드섹터 처리 방법

Country Status (4)

Country Link
US (1) US20060129898A1 (ko)
EP (1) EP1662394A2 (ko)
KR (1) KR100689436B1 (ko)
CN (1) CN1776817A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547161B (zh) * 2008-03-28 2012-09-26 阿里巴巴集团控股有限公司 文件夹传输系统、文件夹传输装置及文件夹传输方法
US7971007B2 (en) * 2008-07-08 2011-06-28 Silicon Motion, Inc. Downgrade memory apparatus, and method for accessing a downgrade memory
CN102025515A (zh) 2009-09-14 2011-04-20 阿里巴巴集团控股有限公司 基于文件目录的文件传输方法及其装置和系统
CN102279919A (zh) * 2010-06-13 2011-12-14 中兴通讯股份有限公司 筛选修复高频卡片的方法及阅读器
CN102063273B (zh) * 2010-12-22 2013-05-15 杭州海康威视数字技术股份有限公司 硬盘管理方法及管理装置
CN104021806B (zh) * 2014-05-16 2017-06-16 华为技术有限公司 一种数据处理的方法和设备
CN104657227B (zh) * 2015-02-04 2018-04-03 深圳市锐明技术股份有限公司 硬盘写操作失败时的处理方法及系统
CN113190179B (zh) * 2021-05-26 2022-02-11 北京自由猫科技有限公司 提升机械硬盘使用寿命的方法、存储设备及系统
CN114356792B (zh) * 2021-11-18 2023-03-10 国电南瑞三能电力仪表(南京)有限公司 基于flash预擦除技术的电能表冻结数据存储方法及电能表

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036414A1 (fr) * 1997-02-14 1998-08-20 Sony Corporation Procede d'enregistrement/reproduction de donnees et dispositif associe
JP2000182292A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd 光学的記憶装置及び光記憶媒体の記録再生方法
US6732208B1 (en) * 1999-02-25 2004-05-04 Mips Technologies, Inc. Low latency system bus interface for multi-master processing environments
JP4074806B2 (ja) * 2002-11-20 2008-04-16 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 不良セクタの探索方法、データ記録装置、プログラム

Also Published As

Publication number Publication date
US20060129898A1 (en) 2006-06-15
EP1662394A2 (en) 2006-05-31
CN1776817A (zh) 2006-05-24
KR20060055906A (ko) 2006-05-24

Similar Documents

Publication Publication Date Title
EP1662394A2 (en) Method for accessing data sectors and processing an access failure in a hard disk drive of a mobile communication terminal
KR100725236B1 (ko) 데이터 기록재생장치 및 그 방법
US8867889B2 (en) Apparatus, method, and computer program for processing information
KR20020064142A (ko) 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브
KR20100057655A (ko) 하드 디스크 드라이브 파일 시스템의 손상 방지 방법 및 시스템
US6728830B1 (en) Method and apparatus for modifying the reserve area of a disk drive
US20040148476A1 (en) Performance-predicated automatic defragmentation of hard disks, particularly for non-pc mobile digital devices including music recorder/players
JP2007102168A (ja) 音楽データのダビング方法
JPWO2005062184A1 (ja) データ処理装置およびデータ処理方法
KR100651370B1 (ko) 휴대단말기에서 보조메모리의 파일을 처리하는 방법
US7822937B2 (en) Method and apparatus for modifying reserve area of disk drive or memory
US20030037279A1 (en) HDD data backup and recovery method
US7882157B2 (en) Content data recording device and recording control method
WO2001084551A1 (fr) Dispositif de commande de disque d'enregistrement/lecture et appareil a disque comportant un tel dispositif
US20080270815A1 (en) Device control apparatus and device control method
JP4401666B2 (ja) デジタル画像記録装置及び画像ビューワー装置
JPH07111035A (ja) 情報記録再生装置
US8195314B2 (en) Method of reproducing previous audio file in multimedia device and multimedia device using the same
JP2006503363A (ja) データを検索するための方法及び装置
JP2003006998A (ja) ファイル記録装置およびファイル記録方法
US20080065825A1 (en) Optical storage device and data storage method thereof
JP2001312877A (ja) ディスク記録再生装置
US7227820B2 (en) Method for taking messages in a DVD player
KR20050118091A (ko) 휴대단말기에서 보조메모리의 파일을 처리하는 방법
JPH08212114A (ja) データ記録装置及びデータ記録再生装置

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
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee