상기의 과제를 이루기 위해, 본 발명에 따른 데이터의 읽기 또는 쓰기 반복방법은 데이터에 대하여 기록매체에 쓰기를 요청하거나, 기록매체에 기록된 데이터의 읽기를 요청하는 단계, 이전에 정해진 반복 제한시간을 타이밍하는 단계, 데이터의 읽기 또는 쓰기를 실행하는 단계, 데이터의 읽기 또는 쓰기에 에러가 발생하는가를 판단하는 단계, 데이터가 영상 데이터 또는 음향 데이터인가를 판단하는 단계, 데이터가 영상 데이터 또는 음향 데이터라고 판단되면, 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하는 단계 및 데이터가 영상 데이터 또는 음향 데이터가 아니라고 판단되면, 이전에 정해진 반복 제한횟수 내에서 상기 데이터의 읽기 또는 쓰기를 반복하는 단계로 이루어짐이 바람직하다.
상기의 다른 과제를 이루기 위해, 본 발명에 따른 데이터의 읽기 또는 쓰기 반복장치는 데이터에 대하여 기록매체에 쓰기를 요청하거나, 기록매체에 기록된 데이터의 읽기를 요청하는 요청신호 발생부, 이전에 정해진 반복 제한시간을 타이밍하고, 타이밍하고 남은 잔여 반복 제한시간을 출력하는 타이밍부, 기록매체에 기록된 데이터의 읽기를 실행하는 읽기 실행부, 기록매체에 데이터의 쓰기를 실행하는 쓰기 실행부, 데이터의 읽기 또는 쓰기에 에러가 발생하였는가를 검사하는 에러 검사부, 데이터가 영상 데이터 또는 음향 데이터인가를 식별하는 데이터 식별부, 잔여 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제1 지시신호로서 출력하는 제1 반복 지시부 및 이전에 정해진 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제2 지시신호로서 출력하는 제2 반복 지시부로 구성됨이 바람직하다.
이하, 본 발명에 의한 데이터의 읽기 또는 쓰기 방법을 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 2는 본 발명에 의한 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 일 실시예의 플로우차트로서, 데이터가 영상 데이터 또는 음향 데이터인가 여부에 따라, 이전에 정해진 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하거나 이전에 정해진 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복하는 단계(제30 ~ 제42 단계들)로 이루어진다.
먼저, 데이터에 대하여 기록매체에 쓰기를 요청하거나, 기록매체에 기록된 데이터의 읽기를 요청한다(제30 단계). 여기서, 기록매체는 데이터를 저장하는 장치로서, 하드디스크 드라이브가 일 예가 될 수 있다. '쓰기'라 함은, 데이터를 저장하기 위해 기록매체에 기록하는 것을 말한다. '읽기'라 함은, 기록매체에 기록된 데이터에 대해 이 데이터를 이용하는 구성요소로 불러들이는 것을 말한다.
제30 단계 후에, 반복 제한시간을 타이밍 한다(제32 단계). 반복 제한시간은 읽기 또는 쓰기의 반복을 한정하기 위해 마련된 시간이다. 반복 제한시간은 시스템 전체 버퍼(buffer)에 남아있는 데이터의 크기와 단위시간당 사용되는 데이터의 크기를 비교하여 호스트에서 계산하여 결정한다. 데이터의 읽기 또는 쓰기에 에러가 발생하여 읽기 또는 쓰기의 반복을 실행한다고 하더라도 전술한 반복 제한시간 내에서만 읽기 또는 쓰기의 반복을 행하도록 하기 위함이다. 반복 제한시간은 제30 단계에서 데이터의 읽기 또는 쓰기를 요청하면, 즉시 타이밍을 시작한다. 반복 제한시간은 호스트에서 계산된 일정시간을 감소시키는 방식으로 타이밍 한다. 예를 들어, 반복 제한시간이 200[ms]로 정해졌을 경우에, 200[ms]에서부터 점점 시간을 감소시키는 방식으로 타이밍 한다.
제32 단계 후에, 데이터의 읽기 또는 쓰기를 실행한다(제34 단계). 제30 단계에서 사용자에 의해 요청된 데이터의 읽기 또는 쓰기를 실행한다.
제34 단계 후에, 데이터의 읽기 또는 쓰기에 에러가 발생하는가를 판단한다(제36 단계). 데이터가 읽기 또는 쓰기를 실행할 때, 한번만에 사용자가 원하는 읽기 또는 쓰기 명령을 달성할 수도 있지만 여러 번 반복해야 비로소 달성하는 경우도 있다. 따라서, 데이터의 읽기 또는 쓰기가 사용자가 원하는 대로 달성되었는가 또는 데이터의 읽기 또는 쓰기에 에러가 발생하였는가를 판단하여 읽기 또는 쓰기의 반복 여부를 판단한다. 만일, 데이터의 읽기 또는 쓰기에 에러가 발생하지 않았다고 판단되면, 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 전술한 단계를 종료한다.
그러나, 데이터의 읽기 또는 쓰기에 에러가 발생하였다고 판단되면, 데이터가 영상 데이터 또는 음향 데이터인가를 판단한다(제38 단계). 즉, 읽기 또는 쓰기가 요청된 데이터가 영상 데이터 또는 음향 데이터를 통칭하는 AV 데이터에 해당하는가를 판단한다.
만일, 데이터가 영상 데이터 또는 음향 데이터라고 판단되면, 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복한다(제40 단계). 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복한 후에, 읽기 또는 쓰기를 반복한 데이터는 데이터의 재생 또는 저장 등을 위해 소정 구성요소로 전송된다.
도 3은 도 2에 도시된 제38 단계에 대한 본 발명에 의한 일 실시예(40A)를 설명하기 위한 플로우차트로서, 결정된 세부 반복종류의 읽기 또는 쓰기에 소요되는 반복 소요시간과 타이밍 되고 남은 잔여 반복 제한시간을 비교하여, 세부 반복종류에 대한 데이터의 읽기 또는 쓰기를 실행하고, 읽기 또는 쓰기가 실행된 데이터의 에러 여부를 다시 확인하는 단계(제50 ~ 제58 단계들)로 이루어진다.
먼저, 데이터에 대한 읽기 또는 쓰기의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복 종류들 중 하나의 세부 반복종류를 결정한다(제50 단계). 세부 반복종류들은 데이터의 읽기 또는 쓰기의 실행 중 발생한 에러를 보정하기 위해 마련된 것으로, 읽기 또는 쓰기의 다양한 반복을 통해 데이터의 에러를 보정할 수 있도록 한다. 읽기에 대한 세부 반복 종류들로는 '변수값 변경' 및 '전류의 인가' 등을 예로 들 수 있다. 또한, 쓰기에 대한 세부 반복종류들로는 '초기 설정 상태' 및 '파킹영역으로 이동' 등을 예로 들 수 있다. 전술한 세부 반복종류들 중 결정되는 하나의 세부 반복종류는 읽기 또는 쓰기의 에러를 보정하기 위해 최적화된 것부터 순차적으로 결정된다.
제50 단계 후에, 결정된 세부 반복종류의 읽기 또는 쓰기에 소요되는 반복 소요시간을 인출한다(제52 단계). 세부 반복종류들 각각의 읽기 또는 쓰기에 소요되는 반복 소요시간들을 룩업 테이블(look up table) 형태로 구비되어 있다. 표 1은 룩업 테이블의 일 예를 나타낸 것이다.
〈표 1〉
|
순서 |
세부 반복 종류 |
반복 소요시간 |
read |
1 |
변수값 변경 |
5 [ms] |
2 |
전류의 인가 |
10 [ms] |
write |
1 |
초기설정 상태 |
15 [ms] |
2 |
파킹 영역으로 이동 |
10 [ms] |
3 |
변수값 변경 |
5 [ms] |
예를 들어, 읽기 실행에 대한 에러를 보정하기 위해 최적화된 순서 중 첫 번째에 해당하는 '변수값 변경'이 결정되면, 결정된 세부 반복종류에 대응하는 반복 소요시간인 5 [ms]을 전술한 룩업 테이블로부터 인출한다. 또한, 쓰기 실행에 대한 에러를 보정하기 위해 최적화된 순서 중 첫 번째에 해당하는 '초기설정 상태'가 결정되면, 결정된 세부 반복종류에 대응하는 반복 소요시간인 15 [ms]을 전술한 룩업 테이블로부터 인출한다.
제52 단계 후에, 인출된 반복 소요시간이 반복 제한시간의 타이밍 되고 남은 잔여 반복 제한시간보다 큰가를 판단한다(제54 단계). 제32 단계에서 얻어진 잔여 반복 제한시간을 제52 단계에서 인출된 반복 소요시간과 비교하여, 반복 소요시간이 잔여 반복 제한시간보다 큰가를 판단한다. 만일, 인출된 반복 소요시간이 잔여 반복 제한시간보다 크다고 판단되면, 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 플로차트를 종료한다. 예를 들어, 읽기 명령을 수행할 때, 잔여 반복 제한시간이 20[ms]라 하고 인출된 반복 소요시간이 전술한 표 1의 '전류의 인가'에 대응하는 30[ms]라 하면, 반복 소요시간이 잔여 반복 제한시간보다 크므로 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 전술한 단계를 종료한다.
그러나, 인출된 반복 소요시간이 잔여 반복 제한시간보다 크지 않다고 판단되면, 결정된 세부 반복종류에 대한 읽기 또는 쓰기를 실행한다(제56 단계). 예를 들어, 읽기 명령을 수행할 때, 잔여 반복 제한시간이 40[ms]라 하고 인출된 반복 소요시간이 전술한 표 1의 '전류의 인가'에 대응하는 30[ms]라 하면, 반복 소요시간이 잔여 반복 제한시간보다 크지 아니하므로, 결정된 '전류의 인가'에 대한 데이터의 읽기 또는 쓰기를 실행한다.
제56 단계 후에, 데이터의 읽기 또는 쓰기에 에러가 발생하는가를 다시 한번 판단한다(제58 단계). 만일, 데이터의 읽기 또는 쓰기에 에러가 발생하지 않았다고 판단되면, 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 전술한 단계를 종료하고, 데이터의 읽기 또는 쓰기에 에러가 발생하였다고 판단되면, 전술한 제50 단계로 진행한다.
한편, 도 2의 제38 단계에서, 데이터가 영상 데이터 또는 음향 데이터가 아니라고 판단되면, 이전에 정해진 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복한다(제40 단계). 즉, AV 데이터가 아닌 일반 데이터의 읽기 또는 쓰기에 대한 요청이 있으면, 전술한 제32 단계에서 타이밍 되는 시간과 관계없이 이전에 정해진 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기의 반복을 수행한다.
도 4는 도 2에 도시된 제42 단계에 대한 본 발명에 의한 일 실시예(42A)를 설명하기 위한 플로우차트로서, 반복 제한횟수 내에서 결정된 세부 반복종류에 대한 데이터의 읽기 또는 쓰기를 반복하는 단계(제70 ~ 제78 단계들)로 이루어진다.
먼저, 데이터에 대한 읽기 또는 쓰기의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복종류들 중 하나의 세부 반복종류를 결정한다(제70 단계). 세부 반복종류들은 전술한 바와 같으므로, 이하 설명을 생략한다.
제70 단계 후에, 결정된 세부 반복종류에 대한 데이터의 읽기 또는 쓰기를 실행한다(제72 단계).
제72 단계 후에, 데이터의 읽기 또는 쓰기에 에러가 발생하는가를 판단한다(제74 단계). 결정된 세부 반복종류에 대한 데이터의 읽기 또는 쓰기에 에러가 발생하는가를 판단한다. 만일, 데이터의 읽기 또는 쓰기에 에러가 발생하지 않았다고 판단되면, 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 전술한 단계를 종료한다.
그러나, 데이터의 읽기 또는 쓰기에 에러가 발생하였다고 판단되면, 세부 반복종류에 대한 데이터의 읽기 또는 쓰기의 반복횟수를 계수한다(제76 단계). 읽기 또는 쓰기의 반복횟수에 대한 계수는 카운터의 숫자를 증가시키는 방식으로 한다.
제76 단계 후에, 계수된 반복횟수가 이전에 정해진 반복 제한횟수보다 큰가를 판단한다(제78 단계). 만일, 계수된 반복횟수가 이전에 정해진 반복 제한횟수보다 크다고 판단되면, 데이터의 읽기 또는 쓰기 방법을 설명하기 위한 전술한 단계를 종료한다.
그러나, 계수된 반복횟수가 이전에 정해진 반복 제한횟수보다 크지 않다고 판단되면, 전술한 제70 단계로 진행한다. 예를 들어, 반복 제한횟수가 100회로 제한되어 있고 계수된 반복횟수가 88회라면, 데이터에 대해 12번을 반복해서 읽기 또는 쓰기를 실행할 수 있다.
이하, 본 발명에 의한 데이터의 읽기 또는 쓰기 반복장치를 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 5는 본 발명에 의한 데이터의 읽기 또는 쓰기 반복장치를 설명하기 위한 일 실시예의 블록도로서, 기록매체(100), 요청신호 발생부(110), 타이밍부(120), 읽기 실행부(130), 쓰기 실행부(140), 에러 검사부(150), 데이터 식별부(160), 제1 반복 지시부(170) 및 제2 반복 지시부(180)로 구성된다. 도 6 및 도 7은 도 2에 도시된 플로우 차트에 상응하는 도 5에 도시된 각 구성요소 사이의 신호 전달과정을 나타낸 도면이다.
기록매체(100)는 데이터를 저장하는 구성요소이다. 저장되는 데이터는 영상 데이터 또는 음향 데이터를 지칭하는 AV 데이터 뿐만아니라 일반 데이터를 포함한다. 특히, AV 데이터의 처리를 담당하는 컴퓨터, PVR 또는 DVR 등에 마련된 기록매체(100)는 하드디스크 드라이브인 것을 특징으로 한다.
요청신호 발생부(110)는 데이터에 대하여 기록매체(100)에 쓰기를 요청하거나, 기록매체(100)에 기록된 데이터의 읽기를 요청하고, 요청한 결과를 요청신호로서 출력한다. 도6 에 도시된 바와 같이, 요청신호 발생부(110)는 데이터의 쓰기에 대한 사용자의 요청을 입력단자 IN1을 통해 입력받아서, 데이터에 대하여 기록매체(100)에 쓰기를 요청하고, 요청한 결과를 요청신호로서 타이밍부(120) 및 쓰기 실행부(140)로 출력한다. 또한, 요청신호 발생부(110)는 데이터의 읽기에 대한 사용자의 요청을 입력단자 IN1을 통해 입력받아서, 기록매체(100)에 기록된 데이터의 읽기를 요청하고, 요청한 결과를 요청신호로서 타이밍부(120) 및 읽기 실행부(130)로 출력한다.
타이밍부(120)는 이전에 정해진 반복 제한시간을 타이밍하고, 타이밍하고 남은 잔여 반복 제한시간을 출력한다. 도6 에 도시된 바와 같이, 타이밍부(120)는 요청신호 발생부(110)로부터 입력된 요청신호에 응답하여, 읽기 또는 쓰기의 반복을 일정 시간으로 한정하기 위해 미리 마련된 반복 제한시간을 타이밍하고, 반복 제한시간의 타이밍하고 남은 잔여 반복 제한시간을 제1 반복 지시부(170)로 출력한다.
읽기 실행부(130)는 기록매체(100)에 기록된 데이터의 읽기를 실행하고, 실행한 결과를 읽기 신호로서 출력한다. 도 6에 도시된 바와 같이, 읽기 실행부(130)는 요청신호 발생부(110)로부터 입력된 요청신호에 응답하여, 기록매체(100)에 이전에 기록되어 있던 데이터를 인출하여 읽기를 실행하고, 실행한 결과를 읽기 신호로서 에러 검사부(150)로 출력한다. 또한, 도 7 에 도시된 바와 같이, 읽기 실행부(130)는 제1 반복 지시부(170)로부터 입력단자 IN2를 통해 입력된 제1 지시신호 또는 제2 반복 지시부(180)로부터 입력단자 IN3을 통해 입력된 제2 지시신호에 응답하여, 기록매체(100)에 이전에 기록되어 있던 데이터를 인출하여 읽기를 실행하고, 실행한 결과를 읽기 신호로서 에러 검사부(150)로 출력한다.
쓰기 실행부(140)는 데이터에 대하여 기록매체(100)에 쓰기를 실행하고, 실행한 결과를 쓰기 신호로서 출력한다. 도 6에 도시된 바와 같이, 쓰기 실행부(140)는 요청신호 발생부(110)로부터 입력된 요청신호에 응답하여, 사용자가 요청한 데이터에 대하여 기록매체(100)에 쓰기를 실행하고, 실행한 결과를 쓰기 신호로서 기록매체(100)와 에러 검사부(150)로 출력한다. 또한, 도 7 에 도시된 바와 같이, 쓰기 실행부(140)는 제1 반복 지시부(170)로부터 입력단자 IN2를 통해 입력된 제1 지시신호 또는 제2 반복 지시부(180)로부터 입력단자 IN3을 통해 입력된 제2 지시신호에 응답하여, 사용자가 요청한 데이터에 대하여 기록매체(100)에 쓰기를 실행하고, 실행한 결과를 쓰기 신호로서 기록매체(100)와 에러 검사부(150)로 출력한다.
에러 검사부(150)는 데이터의 읽기 또는 쓰기에 에러가 발생하였는가를 검사하고, 검사한 결과를 검사신호로서 출력한다. 에러 검사부(150)는 읽기 실행부(130)에서 입력된 읽기 신호로부터 데이터의 읽기에 에러가 발생하였는가를 검사하고, 쓰기 실행부(140)에서 입력된 쓰기 신호로부터 데이터의 쓰기에 에러가 발생하였는가를 검사한다.
에러 검사부(150)는 데이터의 읽기 또는 쓰기가 한번이상 반복되는가를 감지하는 반복 감지부(미도시)를 구비한다. 반복 감지부는 데이터의 읽기 또는 쓰기가 한번도 반복되지 않았다고 감지하면, 전술한 감지신호를 데이터 식별부(160)로 출력하고, 데이터의 읽기 또는 쓰기가 한번이상 반복되었다고 감지하면, 전술한 감지신호를 제1 반복 지시부(170) 또는 제2 반복 지시부(180)로 출력한다.
도 6에 도시된 바와 같이, 에러 검사부(150)는 데이터의 읽기 또는 쓰기에 에러가 발생하였는가를 검사하고, 에러가 발생하지 않았다는 검사신호를 출력단자 OUT1을 통해 출력하거나 에러가 발생하였다는 검사신호를 반복 감지부의 감지된 결과에 따라 데이터 식별부(160)로 출력한다. 또한, 도 7에 도시된 바와 같이, 에러 검사부(150)는 데이터의 읽기 또는 쓰기에 에러가 발생하였는가를 검사하고, 에러가 발생하지 않았다는 검사신호를 출력단자 OUT4를 통해 출력하거나 에러가 발생하였다는 검사신호를 반복 감지부의 감지된 결과에 따라 제1 반복 지시부(170) 또는 제2 반복 지시부(180)로 출력한다. 출력단자 OUT1 또는 OUT4를 통해 출력된 검사신호는 데이터의 읽기 또는 쓰기의 실행을 중지시키는 제어신호로서 기능한다.
데이터 식별부(160)는 데이터가 영상 데이터 또는 음향 데이터인가를 식별하고, 식별한 결과를 식별신호로서 출력한다. 도 6에 도시된 바와 같이, 데이터 식별부(160)는 에러 검사부(150)로부터 입력된 검사신호에 응답하여, 데이터가 영상 데이터 또는 음향 데이터를 통칭하는 AV 데이터인가를 식별하고, 식별한 결과를 식별신호로서 제1 반복 지시부(170) 또는 제2 반복 지시부(180)로 출력한다. 사용자가 읽기 또는 쓰기를 요청한 데이터가 AV 데이터인가를 식별하는 이유는, AV 데이터에 대해서만 제1 반복 지시부(170)를 이용해 일정시간 내에서만 데이터의 읽기 또는 쓰기를 수행하도록 하기 위함이다.
제1 반복 지시부(170)는 잔여 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제1 지시신호로서 출력한다. 도 6에 도시된 바와 같이, 제1 반복 지시부(170)는 데이터 식별부(160)로부터 식별신호를 입력받아서, 타이밍부(120)로부터 입력된 잔여 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제1 지시신호로서 출력단자 OUT2를 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다. 또한, 도 7에 도시된 바와 같이, 제1 반복 지시부(170)는 에러 검사부(150)로부터 검사신호를 입력받아서, 타이밍부(120)로부터 입력된 잔여 반복 제한시간 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제1 지시신호로서 출력단자 OUT5를 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다.
도 8은 도 5에 도시된 제1 반복 지시부(170)에 대한 본 발명에 의한 일 실시예(170A)를 설명하기 위한 블록도로서, 제1 반복종류 결정부(200), 소요시간 저장부(210), 소요시간 인출부(220), 시간 비교부(230) 및 제1 지시부(240)로 구성된다. 도 9는 도 3에 도시된 플로우 차트에 상응하는 도 8에 도시된 각 구성요소 사이의 신호 전달과정을 나타낸 도면이다.
제1 반복종류 결정부(200)는 데이터의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복종류들 중 하나의 세부 반복종류를 결정하고, 결정한 결과를 결정신호서 출력한다. 도 9에 도시된 바와 같이, 제1 반복종류 결정부(200)는 데이터 식별부(160)로부터 입력단자 IN4를 통해 입력된 식별신호 또는 에러 검사부(150)로부터 입력단자 IN5를 통해 입력된 검사신호에 응답하여, 세부 반복종류들 중 하나의 세부 반복종류를 결정하고, 결정한 결과를 결정신호로서 소요시간 인출부(220)로 출력한다.
소요시간 저장부(210)는 세부 반복종류들 각각의 읽기 또는 쓰기에 소요되는 반복 소요시간들을 저장한다. 도 9에 도시된 바와 같이, 소요시간 저장부(210)는 세부 반복종류들에 대응하는 반복 소요시간들을 룩업 테이블 형태로 저장하고 있는 것을 특징으로 한다. 예를 들어, 전술한 표 1은 소요시간 저장부(210)에 저장된 룩업 테이블의 일 예를 나타낸 것이다
소요시간 인출부(220)는 반복 소요시간을 인출하고, 인출된 반복 소요시간을 출력한다. 도 9에 도시된 바와 같이, 소요시간 인출부(220)는 제1 반복종류 결정부(200)로부터 입력된 결정신호에 응답하여, 결정된 세부 반복종류에 대응하는 반복 소요시간을 소요시간 저장부(210)에 요청한다. 소요시간 인출부(220)는 요청된 반복 소요시간을 소요시간 저장부(210)로부터 인출하고, 인출한 반복 소요시간을 시간 비교부(230)로 출력한다.
시간 비교부(230)는 인출된 반복 소요시간의 크기와 타이밍부(120)로부터 입력된 잔여 반복 제한시간의 크기를 비교하고, 비교한 결과를 비교신호로서 출력한다. 도 9에 도시된 바와 같이, 시간 비교부(230)는 소요시간 인출부(220)로부터 입력된 반복 소요시간에 응답하여, 반복 소요시간의 크기와 타이밍부(120)로부터 입력단자 IN6을 통해 입력된 잔여 반복 제한시간의 크기를 비교하고, 비교한 결과를 비교신호로서 제1 지시부(240)로 출력한다.
제1 지시부(240)는 결정된 세부 반복종류에 대한 읽기 또는 쓰기를 반복하도록 지시한다. 도 9에 도시된 바와 같이, 제1 지시부(240)는 시간 비교부(230)로부터 입력된 시간 비교신호에 응답하여, 반복종류 결정부(200)에서 결정된 세부 반복종류에 대한 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제1 지시신호로서 출력단자 OUT7을 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다.
제2 반복 지시부(180)는 이전에 정해진 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제2 지시신호로서 출력한다. 도 6에 도시된 바와 같이, 제2 반복 지시부(180)는 데이터 식별부(160)로부터 식별신호를 입력받아서, 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제2 지시신호로서 출력단자 OUT3을 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다. 또한, 도 7에 도시된 바와 같이, 제2 반복 지시부(180)는 에러 검사부(150)로부터 검사신호를 입력받아서, 반복 제한횟수 내에서 데이터의 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제2 지시신호로서 출력단자 OUT6을 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다.
도 10은 도 5에 도시된 제2 반복 지시부(180)에 대한 본 발명에 의한 일 실시예(180A)를 설명하기 위한 블록도로서, 제2 반복종류 결정부(300), 제2 지시부(310), 카운팅부(320) 및 횟수 비교부(330)로 구성된다. 도 11 및 도 12는 도 4에 도시된 플로우차트에 상응하는 도 10에 도시된 각 구성요소 사이의 신호 전달과정을 나타낸 도면들이다.
제2 반복종류 결정부(300)는 데이터의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복종류들 중 하나의 세부 반복종류를 결정한다. 도 11에 도시된 바와 같이, 제2 반복종류 결정부(300)는 데이터 식별부(160)로부터 입력단자 IN7을 통해 입력된 식별신호에 응답하여, 데이터의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복종류들 중 하나의 세부 반복종류를 결정하고, 결정한 결과를 결정신호로서 제2 지시부(310)로 출력한다. 또한, 도 12에 도시된 바와 같이, 제2 반복종류 결정부(300)는 횟수 비교부(160)로부터 입력된 횟수 비교신호에 응답하여, 데이터의 에러를 보정하기 위한 읽기 또는 쓰기의 세부 반복종류들 중 하나의 세부 반복종류를 결정하고, 결정한 결과를 결정신호로서 제2 지시부(310)로 출력한다.
제2 지시부(310)는 결정된 세부 반복종류에 대한 읽기 또는 쓰기를 반복하도록 지시한다. 도 11 또는 도 12에 도시된 바와 같이, 제2 지시부(310)는 제2 반복종류 결정부(300)로부터 입력된 결정신호에 응답하여, 결정된 세부 반복종류에 대한 읽기 또는 쓰기를 반복하도록 지시하고, 지시한 결과를 제2 지시신호로서 출력단자 OUT8 또는 OUT9를 통해 읽기 실행부(130) 또는 쓰기 실행부(140)로 출력한다.
카운팅부(320)는 세부 반복종류에 대한 데이터의 읽기 또는 쓰기의 반복횟수를 계수한다. 도 12에 도시된 바와 같이, 카운팅부(320)는 에러 검사부(150)로부터 입력단자 IN8을 통해 입력된 검사신호에 응답하여, 제2 반복종류 결정부(300)에서 결정된 세부 반복종류에 대한 데이터의 읽기 또는 쓰기의 반복횟수를 계수하고, 계수된 결과를 계수신호로서 횟수 비교부(330)로 출력한다.
횟수 비교부(330)는 계수된 반복횟수의 크기와 이전에 정해진 반복 제한횟수의 크기를 비교한다. 도 12에 도시된 바와 같이, 횟수 비교부(330)는 카운팅부(320)로부터 입력된 계수신호에 응답하여, 카운팅부(320)에서 계수된 반복횟수의 크기와 이전에 정해진 반복 제한횟수의 크기를 비교하고, 비교한 결과를 횟수 비교신호로서 제2 반복종류 결정부(300)로 출력한다.