KR100745204B1 - 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 - Google Patents
강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 Download PDFInfo
- Publication number
- KR100745204B1 KR100745204B1 KR1020050105867A KR20050105867A KR100745204B1 KR 100745204 B1 KR100745204 B1 KR 100745204B1 KR 1020050105867 A KR1020050105867 A KR 1020050105867A KR 20050105867 A KR20050105867 A KR 20050105867A KR 100745204 B1 KR100745204 B1 KR 100745204B1
- Authority
- KR
- South Korea
- Prior art keywords
- bad
- mass storage
- storage device
- read
- bad sector
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1288—Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
- G11B2020/1826—Testing wherein a defect list or error map is generated
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
- G11B2020/183—Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Abstract
본 발명은 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리 방법 및 장치에 관한 것으로서, 상기 대용량 저장 장치의 배드 블록 처리 장치에서는, 장치 드라이버에서 일정 회수 동안 읽기 실패가 있는 경우에, 파일 시스템 레벨에서 바이너리 서치를 통하여 해당 배드 섹터를 찾아 그 배드 섹터가 포함된 블록에 더미 데이터를 기록하도록 강제 명령을 내린다.
HDD, 대용량 저장 장치, 장치 드라이버, 파일 시스템, 강제 기록, 리매핑
Description
도 1은 일반적인 대용량 저장 장치인 HDD를 설명하기 위한 도면이다.
도 2는 HDD 에 읽기 요청에 대한 OS의 일반적인 처리 과정을 설명하기 위한 도면이다.
도 3은 HDD로 기록 요청에 대한 OS의 일반적인 처리 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 대용량 저장 장치의 배드 블록 처리를 위한 장치를 나타낸다.
도 5는 도 4의 배드 블록 처리 장치의 동작 설명을 위한 흐름도이다.
도 6은 본 발명의 일실시예에 따른 바이너리 서치를 설명하기 위한 흐름도이다.
도 7은 도 6의 흐름도에 따라 배드 섹터의 위치를 1/2 블록씩 탐색하는 과정을 보여주는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
410: CPU(Control Processing Unit)
411: 응용 프로그램
412: 파일 시스템
413: 장치 드라이버
420: HDD(Hard Disk Drive)
본 발명은 HDD(Hard Disk Drive: 하드 디스크 드라이브)와 같은 대용량 저장 장치를 운영하는 방법에 관한 것으로서, 더욱 상세하게는 읽기 동작에서도 배드 블록(bad block)에 대한 강제 기록 명령으로 리매핑(remapping)이 이루어지도록 하는 대용량 저장 장치의 배드 블록 처리 방법 및 장치에 관한 것이다.
도 1과 같은 일반적인 HDD(100)에서는, 배드 섹터(sector)를 관리하기 위하여 디스크(110) 일부에 리매핑 맵(map)(115)을 가진다. 상기 리매핑 맵(115)에서는 배드 블록 리스트와 리매핑 리스트가 관리된다. 상기 배드 블록 리스트는 파일 시스템으로 구성되는 OS(Operating System : 운영 체계)에서 읽기 실패 시에 기록하는 해당 배드 블록들에 대한 주소들이고, 배드 블록들 각각에 대하여 리매핑될 주소는 기록 동작에서 리매핑 리스트에 기록되어 관리된다.
도 2는 HDD 에 읽기 요청에 대한 OS의 일반적인 처리 과정을 설명하기 위한 도면이다. 응용 프로그램이나 파일 시스템을 통하여 HDD 내용에 대한 읽기 요청이 있는 경우에(210), OS 에서는 해당 데이터의 읽기를 성공할 때까지 일정 횟수(일반 적으로 100회)의 읽기 동작을 반복적으로 수행한다(220). 이때, 읽기에 성공하면 OS는 읽어온 해당 데이터를 응용 프로그램 등에 리턴한다(230). 만일, 배드 섹터(예를 들어, 512 바이트) 때문에 일정 횟수 읽기 시도 후에도 읽기에 성공하지 못한다면 OS는 해당 배드 블록에 대한 주소를 배드 블록 리스트에 등록하고 읽기 오류를 리턴한다(240).
도 3은 HDD로 기록 요청에 대한 OS의 일반적인 처리 과정을 설명하기 위한 도면이다. 응용 프로그램이나 파일 시스템을 통하여 HDD에 데이터 기록 요청이 있는 경우에(210), OS 에서는 해당 주소에 그 데이터를 기록한다(320). 그러나, 기록을 위한 해당 주소가 리매핑 리스트에 있다면, OS는 그 데이터를 리매핑된 주소에 기록한다(330). 기록을 위한 해당 주소가 리매핑 리스트에는 없고 배드 블록 리스트에 있다면, OS는 해당 배드 섹터에 대한 리매핑 주소를 생성하여 리매핑 리스트에 등록하고(340), 그 등록된 리매핑 주소에 해당 데이터를 기록한다(350).
그러나, 이와 같이 HDD를 운영하는 종래의 OS에서는, HDD가 일정 배드 섹터(예를 들어, 512 바이트)를 가지는 경우에, 해당 영역을 포함한 블록(예를 들어, 4k 바이트)의 데이터 읽기 시에 해당 블록에 대한 주소를 HDD의 자체 기능에 의존하여 HDD내부의 배드 블록 리스트에 등록하고 OS는 읽기 오류만을 리턴한다. 이는 텍스트(text) 데이터의 복구 가능성에 주로 중점을 두었던 과거의 방법으로서, 재차 해당 블록의 읽기 시에 성공 가능성을 염두에 두고 같은 블록에 대한 읽기 시도가 다시 이루어지도록 하여 기록 동작에서만 리매핑이 이루어지도록 하는 방법이다.
그러나, 이와 같은 방법은 오늘날 널리 사용되고 있는 MPEG, MP3 등과 같은 비디오 또는 오디오의 멀티 미디어 파일을 운영하기에 적합하지 않다. HDD 등에 기록된 멀티 미디어 파일에 대해서는 주로 한번의 기록 후에 변경 없이 읽기만이 반복적으로 이루어진다. 따라서, 멀티 미디어 파일이 기록된 HDD의 일부 섹터에 오류가 있더라도, 리매핑이 이루어지지 않는 문제점이 있고, 이에 따라 해당 배드 섹터에 대한 일정 횟수의 읽기 재 시도로 인해 1 초 이상의 읽기 중단이 발생할 수 있는 문제점이 있으므로, OS에서 배드 블록 다음에 재생될 블록들을 읽어서 저장할 충분한 버퍼를 이용하여 관리되지 않으면 멀티 미디어 파일의 재생 자체가 중단되는 문제점이 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로서, 본 발명의 목적은, 멀티 미디어 파일 등의 읽기 오류를 신속히 제거 하기 위하여, 읽기 동작에서 검출되는 배드 섹터가 포함된 블록에 대하여 강제 기록을 통하여 리매핑이 이루어지도록 하는 대용량 저장 장치의 배드 블록 처리 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 읽기 동작에서 배드 섹터를 검출하면 강제 기록 명령을 내려 해당 블록에 대한 리매핑이 이루어지도록 하는 대용량 저장 장치의 배드 블록 처리 장치를 제공하는 데 있다.
상기와 같은 본 발명의 목적을 달성하기 위한 본 발명에 따른 대용량 저장 장치의 배드 블록 처리 방법은, 하드 디스크와 같은 대용량 저장 장치를 운영하는 방법에 있어서, 응용 프로그램의 읽기 요청을 수신하는 단계; 상기 읽기 요청에 따른 상기 대용량 저장 장치에 대한 읽기가 실패한 경우, 일정 회수 동안 읽기를 반복하는 단계; 상기 일정 회수 동안 읽기 실패 시에 상기 읽기 요청에 대응한 상기 대용량 저장 장치의 배드 섹터를 식별하는 단계; 및 상기 식별된 배드 섹터에 더미 데이터의 기록 명령을 강제하여 상기 배드 섹터의 주소를 리매핑되도록 하는 단계를 포함하는 것을 특징으로 한다.
상기 기록 명령의 강제 단계는, 상기 읽기 실패에 대하여 바이너리 서치를 이용하여 상기 대용량 저장 장치의 배드 섹터를 찾는 단계; 상기 배드 섹터가 포함된 해당 블록의 주소를 리매핑하는 단계; 및 상기 리매핑된 주소에 상기 더미 데이터를 기록하는 단계를 포함한다. 상기 기록 명령의 강제는 파일 시스템의 레벨에서 이루어질 수 있다.
상기 바이너리 서치는 상기 배드 섹터를 포함하는 블록에 대하여 좌반부 및 우반부로 나누어 각 영역에서 읽기가 성공되는 지를 판단하고, 읽기가 성공되지 않은 영역에 대하여 읽기 최소 단위(블록 또는 섹터 레벨)까지 다시 좌반부 및 우반부로 나누어 각 영역에서 읽기가 성공되는 지를 판단하여 상기 배드 섹터를 찾는 것을 특징으로 한다.
상기 기록 명령의 강제 후의 상기 응용 프로그램의 읽기 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑된 주소의 더미 데이터를 읽어 리턴하는 것을 특징으로 한다. 상기 기록 명령의 강제 후의 배드 섹터가 리매핑 된 상태에서는 상기 응용 프로그램의 기록 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑될 때 기록한 더미 데이터를 지우고 해당 데이터를 기록하는 것을 특징으로 한다.
상기와 같은 본 발명의 다른 목적을 달성하기 위한 본 발명에 따른 대용량 저장 장치의 배드 블록 처리 장치는, 대용량 저장 장치를 운영하는 장치에 있어서, 시스템 파일들을 운용하여 응용 프로그램의 동작을 위한 제어 신호들을 생성하는 파일 시스템; 및 상기 파일 시스템에서 생성된 제어 신호들에 따라 상기 대용량 저장 장치로의 상기 응용 프로그램의 읽기 및 기록 동작을 중재하는 장치 드라이버를 포함하고, 상기 파일 시스템은 상기 장치 드라이버에서의 일정 회수 동안 읽기 실패 시에 상기 읽기에 대응한 상기 대용량 저장 장치의 배드 섹터를 식별하고, 상기 배드 섹터에 더미 데이터의 기록 명령을 강제하여 상기 배드 섹터의 주소를 리매핑되도록 하는 것을 특징으로 한다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 일실시예에 따른 대용량 저장 장치의 배드 블록 처리를 위한 장치(400)를 나타낸다. 도 4를 참조하면, 상기 대용량 저장 장치의 배드 블록 처리 장치(400)는 CPU(Central Processing Unit: 중앙 처리부)(410) 및 HDD(420)를 포함한다.
상기 CPU(410)는 일반적인 컴퓨터의 중앙 처리부에 해당하지만, 이에 한정 되지 않고, 상기 HDD(420)를 운영하기 위한 모든 콘트롤러가 이에 해당할 수 있다. 상기 HDD(420)는 일반적인 컴퓨터에서 널리 사용되는 저장 장치이지만, 이에 한정 되지 않고, USB 저장 장치나 MP3를 위한 저장 장치 등 대용량 저장 장치가 모두 이에 해당할 수 있다.
상기 CPU(410)는 시스템 파일들을 운용하는 파일 시스템(412)을 탑재하여 응용 프로그램(411)의 동작을 위한 제어 신호들을 생성한다. 상기 CPU(410)에 탑재되는 장치 드라이버(413)는 상기 파일 시스템(412)과 상기 HDD(420) 사이에서 상기 파일 시스템(412)에서 생성된 제어 신호들에 따라 상기 HDD(420)로의 상기 응용 프로그램(411)의 읽기 및 기록 동작을 중재한다.
상기 응용 프로그램(411)은 오디오 재생기 또는 비디오 재생기와 같은 멀티 미디어 파일 재생기일 수 있고, 파일의 삭제, 복사, 탐색 등의 기능을 제공하는 파일 관리자일 수 있으며, 또는 일반적인 OS에서 제공하는 폴더 관리자 등일 수 있다. 상기 응용 프로그램(411)은 **.bin, **.exe 등 실행 파일 형태로 상기 CPU(410)의 메인 메모리 등에 로드(load) 되어 장치 형태로 동작할 수 있다. 잘 알려져 있는 바와 같이, 상기 파일 시스템(412)이나 상기 장치 드라이버(413)도 컴퓨터 시스템의 전반적인 운영을 위하여 상기 CPU(410)의 메인 메모리 등에 로드 되어 장치 형태로 동작할 수 있다. 실행 파일 형태로 상기 CPU(410)의 메인 메모리 등에 탑재된 상기 파일 시스템(412), 상기 장치 드라이버(413) 및 상기 응용 프로그램(411)이 운용하는 다른 시스템 파일들이나 응용 파일들은 상기 HDD(420)에 저장되어 필요 시 독출되어 사용될 수 있다.
특히, 본 발명의 일실시예에 따른 상기 대용량 저장 장치의 배드 블록 처리 장치(400)는 상기 HDD(420)에 멀티 미디어 파일이 저장된 경우에, 멀티 미디어 파일에 대해서는 주로 읽기 동작만 이루어지므로, 상기 응용 프로그램(411)에서 멀티 미디어 파일을 재생 할 때, 재생 중단 없이 질 높은 실시간 특성을 만족시킬 수 있도록 하기 위하여 제안되었다.
즉, 본 발명의 일실시예에 따른 상기 대용량 저장 장치의 배드 블록 처리 장치(400)에서는 상기 장치 드라이버(413)에서의 일정 회수 동안 읽기 실패 시에 상기 파일 시스템(412) 레벨에서 해당 주소에 더미(dummy) 데이터의 기록 명령을 강제한다. 이에 따라, 상기 기록 명령의 강제 후의 상기 응용 프로그램(411)의 읽기 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑되는 주소의 더미 데이터를 읽어 리턴할 수 있게 함으로써 읽기 오류가 리턴되는 것을 방지한다. 또한, 상기 기록 명령의 강제 후의 상기 응용 프로그램(411)의 기록 요청에 대하여는, 일반적인 컴퓨터에서와 같이 상기 기록 명령의 강제에 의하여 리매핑된 주소의 더미 데이터를 지우고 해당 데이터를 기록하게 된다.
이하, 이와 같은 읽기 동작에서의 강제 기록에 대한 도 4의 배드 블록 처리 장치(400)의 동작을 도 5의 흐름도를 참조하여 좀더 자세히 설명한다.
먼저, CPU(410)에 로드된 응용 프로그램(411)이 HDD(420)에 저장된 멀티 미디어 파일 등의 재생을 요청할 때, 파일 시스템(412)은 이를 수신하여 해당 제어 신호를 장치 드라이버(413)로 전달 함으로써, 해당 데이터가 리턴 되기를 기다린다(S51). 이에 따라 상기 장치 드라이버(413)에서는 상기 HDD(420)의 해당 섹터에서 읽기를 시도하고, 읽어진 데이터는 512 바이트씩 상기 파일 시스템(412)로 전달한다(S52, S53). 상기 파일 시스템(412)은 상기 장치 드라이버(413)에서 읽어온 한 블록, 예를 들어, 4k 바이트씩 상기 응용 프로그램(411)으로 전달한다.
상기 장치 드라이버(413)는 해당 섹터에서 데이터를 읽을 수 없는 경우에, 일정 횟수(예를 들어, 100회) 읽기를 재시도 한다. 상기 장치 드라이버(413)에서 일정 횟수의 읽기 시도에도 불구하고 결국 읽을 수 없다면, 상기 파일 시스템(412)은 본 발명의 일실시예에 따른 기록 명령의 강제 명령을 위하여, 먼저 바이너리 서치(binary search) 알고리즘에 따라 해당 배드 섹터의 주소를 검출한다(S54).
도 6은 본 발명의 일실시예에 따른 바이너리 서치를 설명하기 위한 흐름도이다. 먼저, 바이너리 서치를 위하여 도 7과 같이 한 블록(710)의 읽기를 시도하여(S61), 배드 섹터 없이 읽기에 성공하면(S62) 읽어온 데이터를 리턴한다(S63). 그렇지 않으면, 도 7의 720, 730과 같이 블록 크기를 1/2로 나누고 좌반부(720) 영역에 대한 읽기를 설정하여 읽기를 시도한다(S64~S66). 이때 읽기에 실패(N)하면(S67), 분할 가능한 경우에(S68) 다시 읽기가 시도된 영역을 1/2로 나누고 위의 과정을 반복한다(S64~S68). 상기 S67 단계에서 읽기에 성공(Y)하는 경우에는 현재 읽기 영역이 좌반부(720)라면(S69) 우반부(730)를 판단하기 위하여 우반부(730) 영역에 대한 읽기를 설정한다(S70). 또한, 상기 S68 단계에서 더 이상 분할 가능하지 않은 읽기 최소 단위인 경우에, 읽기 실패가 일어난 해당 우반부 읽기 단위를 배드 섹터로 추출한다(S71).
최소 읽기 단위까지 위의 과정 반복 후에, 상기 S67 단계에서 읽기에 성공하고 상기 S69 단계에서 현재 읽기 영역이 우반부(750) 영역이었다면, 해당 영역, 즉, 바로 전에 읽기 실패가 일어난 좌반부 영역(740) 의 주소를 배드 섹터 주소로 추출한다(S72). 위에서, 상기 S71 단계에서 우반부 영역이 배드 섹터로 결정되는 경우에는, S69 단계의 판단에 따라 해당 우반부 영역의 주소를 배드 섹터 주소로 추출한다(S72).
이와 같이, 상기 바이너리 서치에서는 상기 배드 섹터를 포함하는 블록(710)에 대하여 좌반부(720) 및 우반부(730)로 나누어 각 영역에서 읽기가 성공되는 지를 판단하고, 읽기가 성공되지 않은 영역(730)에 대하여 읽기 최소 단위까지 다시 좌반부(740) 및 우반부(750)로 나누어 각 영역에서 읽기가 성공되는 지를 판단하여 상기 배드 섹터(740)를 찾는다.
한편, 이와 같이 바이너리 서치에 의하여 배드 섹터(740)의 주소가 검출되면, 상기 파일 시스템(412)은 상기 배드 섹터(740)가 포함된 배드 블록(710)의 주소에 더미 데이터의 기록 명령을 강제한다(S55). 이와 같은 기록 명령에서 상기 파일 시스템(412)은 상기 배드 섹터(740)가 포함된 해당 블록(710)의 주소를 리매핑한다. 이에 따라 리매핑된 주소는 상기 HDD(420)의 디스크 내의 리매핑 리스트에 등록되어 관리된다(S56). 상기 파일 시스템(412)은 이와 같이 리매핑되는 주소에 상기 더미 데이터를 기록한다(S57). 상기 S55 단계에서, 배드 블록의 주소를 리매핑하는 경우에, 해당 배드 블록의 주소가 상기 HDD(420)의 디스크 내의 배드 블록 리스트에 등록되어 관리되도록 할 수도 있다.
미디어 파일 등의 읽기 실패에서 위와 같이 강제 기록이 이루어진 후에는, 상기 응용 프로그램(411)의 읽기 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑된 주소의 더미 데이터를 읽어 리턴하게 된다. 이에 따라 읽기 오류가 리턴되는 것이 방지될 수 있다. 또한, 상기 기록 명령의 강제 후 배드 섹터가 리매핑 된 상태에서는, 상기 응용 프로그램(411)의 기록 요청에 대하여, 일반적인 컴퓨터에서와 같이 상기 기록 명령의 강제에 의하여 리매핑될 때 기록한 리매핑된 주소의 더미 데이터를 지우고 해당 데이터를 기록하게 된다.
위에서 기술한 바와 같이, 본 발명의 일실시예에 따른 대용량 저장 장치의 배드 블록 처리 장치(400)에서는, 장치 드라이버(413)에서 일정 회수 동안 읽기 실패가 있는 경우에, 파일 시스템(412) 레벨에서 바이너리 서치를 통하여 해당 섹터를 찾아 그 배드 섹터가 포함된 블록에 더미 데이터를 기록하도록 강제 명령을 내린다.
본 명세서에서 개시된 방법 및 장치에서 사용되는 기능은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 따른 대용량 저장 장치의 배드 블록 처리 방법 및 장치에서는, 읽기 동작에서 배드 섹터에 대한 강제 기록 명령이 이루어지므로 기록 동작까지 기다릴 필요 없이 신속히 리매핑되어 읽기 오류를 방지할 수 있는 효과가 있다. 특히, 멀티 미디어 파일을 재생하는 응용에서 읽기 실패 시 OS 레벨에서 더미 데이터가 신속히 리턴되므로 대용량 버퍼 없이도 재생의 중단 없이 실시간 특성을 만족시켜 주어 서비스 질을 향상시켜 줄 수 있는 효과가 있다.
Claims (10)
- 대용량 저장 장치를 운영하는 방법에 있어서,응용 프로그램의 읽기 요청을 수신하는 단계;상기 읽기 요청에 따른 상기 대용량 저장 장치에 대한 읽기가 실패한 경우, 일정 회수 동안 읽기를 반복하는 단계;상기 일정 회수 동안 읽기 실패 시에 상기 읽기 요청에 대응한 상기 대용량 저장 장치의 배드 섹터를 식별하는 단계; 및상기 식별된 배드 섹터에 더미 데이터의 기록 명령을 강제하여 상기 배드 섹터의 주소를 리매핑되도록 하는 단계를 포함하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제1항에 있어서, 상기 읽기 요청에 대응한 상기 대용량 저장 장치의 배드 섹터를 식별하는 단계는,상기 읽기 실패에 대하여 바이너리 서치를 이용하여 상기 대용량 저장 장치의 상기 배드 섹터를 식별하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제2항에 있어서, 상기 배드 블록에 더미 데이터의 기록 명령을 강제하여 상기 배드 섹터의 주소를 리매핑되도록 하는 단계는,상기 배드 섹터의 주소를 리매핑하는 단계; 및상기 리매핑된 주소에 상기 더미 데이터를 기록하는 단계를 포함하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제2항에 있어서, 상기 바이너리 서치는 상기 배드 섹터를 포함하는 블록에 대하여 좌반부 및 우반부로 나누어 각 영역에서 읽기가 성공되는 지를 판단하고, 읽기가 성공되지 않은 영역에 대하여 읽기 최소 단위까지 다시 좌반부 및 우반부로 나누어 각 영역에서 읽기가 성공되는 지를 판단하여 상기 배드 섹터를 찾는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제1항에 있어서, 상기 기록 명령의 강제는 파일 시스템의 레벨에서 이루어지는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제1항에 있어서, 상기 기록 명령의 강제 후의 상기 응용 프로그램의 읽기 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑된 주소의 더미 데이터를 읽어 리턴하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제1항에 있어서, 상기 기록 명령의 강제 후 배드 섹터가 리매핑 된 상태에서는 상기 응용 프로그램의 기록 요청에 대하여 상기 기록 명령의 강제에 의하여 리매핑될 때 기록한 더미 데이터를 지우고 해당 데이터를 기록하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 방법.
- 제 1항 내지 제 7항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
- 대용량 저장 장치를 운영하는 장치에 있어서,시스템 파일들을 운용하여 응용 프로그램의 동작을 위한 제어 신호들을 생성하는 파일 시스템; 및상기 파일 시스템에서 생성된 제어 신호들에 따라 상기 대용량 저장 장치로의 상기 응용 프로그램의 읽기 및 기록 동작을 중재하는 장치 드라이버를 포함하고,상기 파일 시스템은 상기 장치 드라이버에서의 일정 회수 동안 읽기 실패 시에 상기 읽기에 대응한 상기 대용량 저장 장치의 배드 섹터를 식별하고, 상기 배드 섹터에 더미 데이터의 기록 명령을 강제하여 상기 배드 섹터의 주소를 리매핑되도록 하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 장치.
- 제9항에 있어서, 상기 파일 시스템은,상기 읽기 실패에 대하여 바이너리 서치를 이용하여 상기 대용량 저장 장치의 배드 섹터를 찾고, 상기 배드 섹터의 주소를 리매핑하여 상기 리매핑된 주소에 상기 더미 데이터를 기록하는 것을 특징으로 하는 대용량 저장 장치의 배드 블록 처리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050105867A KR100745204B1 (ko) | 2005-11-07 | 2005-11-07 | 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050105867A KR100745204B1 (ko) | 2005-11-07 | 2005-11-07 | 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070048851A KR20070048851A (ko) | 2007-05-10 |
KR100745204B1 true KR100745204B1 (ko) | 2007-08-01 |
Family
ID=38273066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050105867A KR100745204B1 (ko) | 2005-11-07 | 2005-11-07 | 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100745204B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10089031B2 (en) | 2015-04-13 | 2018-10-02 | Samsung Electronics Co., Ltd. | Data storage and operating method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06111218A (ja) * | 1992-09-28 | 1994-04-22 | Nec Corp | 磁気記憶装置のエラー再試行方法および装置 |
KR19990070269A (ko) * | 1998-02-18 | 1999-09-15 | 윤종용 | 실시간 데이터 기록을 위한 선형 대치 결함 관리 처리 방법 |
-
2005
- 2005-11-07 KR KR1020050105867A patent/KR100745204B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06111218A (ja) * | 1992-09-28 | 1994-04-22 | Nec Corp | 磁気記憶装置のエラー再試行方法および装置 |
KR19990070269A (ko) * | 1998-02-18 | 1999-09-15 | 윤종용 | 실시간 데이터 기록을 위한 선형 대치 결함 관리 처리 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10089031B2 (en) | 2015-04-13 | 2018-10-02 | Samsung Electronics Co., Ltd. | Data storage and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20070048851A (ko) | 2007-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970002859A (ko) | 디지탈 신호기록방법 및 디스크 재생장치 | |
CN1192818A (zh) | 信息记录再现装置和信息记录再现媒体 | |
KR100623125B1 (ko) | 정보 기억 장치, 정보 기억 방법 및 정보 기억 처리프로그램 제품 | |
KR100589518B1 (ko) | 광디스크 드라이버에서의 데이터 독출 속도 가변 제어방법 | |
WO2008136563A1 (en) | Method of storing meta-data and system for storing meta-data | |
US7716412B2 (en) | Data storage apparatus and data access method for controlling address information for data writing using a free area control table | |
US7751292B2 (en) | Control device, control method, recording device and recording method for recording real-time and non-real time data on recording medium | |
KR100745204B1 (ko) | 강제 기록을 이용한 대용량 저장 장치의 배드 블록 처리방법 및 장치 | |
US6405283B1 (en) | Method for handling buffer under-run during disc recording | |
JPS60129976A (ja) | 記憶情報の代替方式 | |
US6779129B2 (en) | Method, article of manufacture and apparatus for copying information to a storage medium | |
JP4585052B2 (ja) | データ記録システム | |
EP1684288A1 (en) | Information recorder, information recording method, and recording medium containing program | |
JP2000215644A (ja) | 画像記録再生装置 | |
JP4634616B2 (ja) | 実時間ファイル転送のための方法 | |
US20080098050A1 (en) | Defect Management for Storage Media | |
JP4984677B2 (ja) | 情報処理装置 | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
JP6156710B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
EP1460543B1 (en) | Method and apparatus of error processing according to data types | |
JP3030949B2 (ja) | ディジタルデータ記録再生装置 | |
JP4607504B2 (ja) | データユニット内に可変制御フィールドを有するデータ媒体 | |
KR100389110B1 (ko) | 저속 기억 장치를 위한 환형 큐의 관리 방법 | |
JP4277707B2 (ja) | 情報記録方法 | |
JP2007514251A (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 | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130628 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140703 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150630 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |