KR20000016425A - 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법 - Google Patents

데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법 Download PDF

Info

Publication number
KR20000016425A
KR20000016425A KR1019980710009A KR19980710009A KR20000016425A KR 20000016425 A KR20000016425 A KR 20000016425A KR 1019980710009 A KR1019980710009 A KR 1019980710009A KR 19980710009 A KR19980710009 A KR 19980710009A KR 20000016425 A KR20000016425 A KR 20000016425A
Authority
KR
South Korea
Prior art keywords
data
block
sub
recording
subblocks
Prior art date
Application number
KR1019980710009A
Other languages
English (en)
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 KR20000016425A publication Critical patent/KR20000016425A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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

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)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

디스크 레코더(2)는 1 프레임의 소스 비디오 데이타를 복수의 서브 블럭으로 분할함과 동시에, 이 복수의 서브 블럭에 대응지워진 패리티 데이타를 생성하는 RAID 컨트롤러와, RAID 컨트롤러에서의 1 프레임으로부터 복수의 서브 블럭을 생성하는 RAID 처리를 제어하는 CPU 블럭을 구비하고 있다. CPU 블럭은 각 서브 블럭을 기록할 때의 기록 처리 및 재생할 때의 재생 처리가 항상 일정 시간 내에 행해지도록 각 서브 블럭의 기록 위치를 이론적으로 포맷하기 위한 블럭 맵을 생성하고, 그 블럭 맵에 기초해서 RAID 컨트롤러에 의해 생성되는 각 서브 블럭의 사이즈가 블럭 맵에 의해 지정된 사이즈가 되도록 1 프레임의 데이타의 분할수를 결정한다.

Description

데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법
방송국의 편집기의 분야에 있어서, 최근, 보다 편집 효율을 향상시키기 위해 하드디스크(HDD) 등의 랜덤 억세스 가능한 디스크 매체를 사용한 비선형 편집기가 등장하여 왔다. 또한, 보다 억세스성을 향상시키기 위해, 비선형 편집을 행하기 위한 기록 매체로서, 하드디스크 1대만 사용하는 것이 아니라, HDD를 어레이형으로 접속 디스크 어레이 장치를 사용하는 것이 제안되어 있다.
이 디스크 어레이 장치는, 복수의 디스크 장치(HDD)를 내장하여, 각 디스크 장치를 병렬로 움직짐으로써 판독 혹은 기록을 고속화하는 장치이다. 이와 같은 디스크 어레이 장치에 데이타를 저장하는 경우, 데이타를 분할하여 복수의 분할 데이타를 생성함과 동시에, 이들 복수의 분할 데이타로부터 오류 정정용 데이타를 생성한다. 그리고, 이들의 복수의 분할 데이타와 오류 정정용 데이타를 각각 별개의 디스크 장치에 기록한다.
반대로, 디스크 어레이 장치로부터 데이타를 추출하는 경우, 데이타를 구성하는 복수의 분할 데이타와 오류 정정용 데이타가 저장되어 있는 디스크 장치로부터, 복수의 분할 데이타와 오류 정정용 데이타를 동시에 판독하고, 판독한 분할 데이타로부터 원래의 데이타를 구성하고, 에러가 없으면 그대로 송출한다. 그 때, 분할 데이타가 저장되어 있는 기록 영역이 파손되어 있는 등의 이유로, 정상적으로 판독할 수 없는 경우, 다른 정상적으로 판독된 분할 데이타와 오류 정정용 데이타를 기초로, 정확한 데이타를 복원한 후, 송출한다.
또한, 디스크 어레이 장치에서는, 1개의 디스크 장치가 완전히 파손된 경우라도, 파손된 디스크 장치를 새로운 것으로 교환하고, 다른 디스크 장치의 데이타를 이용하여 파손된 데이타를 복구한다고 하는 기능을 구비하도록 하는 것도 가능하다.
오류 정정용 데이타를 도입한 디스크 어레이 장치에는 몇몇의 다른 방식이 있다. UC 버클리 대학의 David A. Patterson 교수 등은, 그 방식을 5단계로 분류하고, RAID(Redundant Arrays of Inexpensive Disks)의 레벨이라는 용어를 처음으로 제창하였다. 이하에 그 내용을 간단히 소개한다.
RAID-1은 디스크 장치의 데이타를 2중화하는 것으로, 미러드 디스크라고도 불린다. RAID-1에서는 완전히 동일한 데이타가 2개의 디스크 장치에 저장된다. RAID-2, 3은 입력 데이타를 비트 단위나 바이트 단위로 분할하고, 복수의 디스크 장치에 저장한다. RAID-2에서는 허밍 부호를, RAID-3에서는 패리티를, 각각 오류 정정용 데이타로서 사용한다. RAID-4, RAID-5는 데이타를 섹터단위로 인터리뷰한다. RAID-4는 패리티를 동일한 디스크 장치에 저장하는데 대해 RAID-5에서는 복수의 디스크 장치로 분산시킨다.
이들 RAID의 레벨 내, 통상의 디스크 어레이 장치에 가장 잘 채용되어 있는 방식은 RAID-3과 RAID-5이다. 도 64는 RAID-3 방식의 디스크 어레이 장치의 일례의 구성을 나타내며, 도 65는 RAID-5 방식의 디스크 어레이 장치의 일례의 구성을 나타내고 있다.
도 64에 도시한 RAID-3 방식의 디스크 어레이 장치에서는, 입력 데이타를 바이트 단위로 분할하고, 바이트 단위로 분할된 각 데이타를 복수의 디스크 장치에 저장한다. 그리고, 정정용 데이타로서의 패리티를 소정의 디스크 장치에 저장한다. 여기서는, 복수의 디스크 장치에 저장된 번호 1 내지 4의 데이타에 대한 패리티 P1-4와, 번호 5 내지 8의 데이타에 대한 패리티 P5-8이 저장되어 있다.
또한, 도 65에 도시한 RAID-5 방식의 디스크 어레이 장치에서는, 입력 데이타를 섹터 단위로 분할하고, 이들의 데이타를 인터리뷰하여 복수의 디스크 장치로 분산시킨다. 이 경우, 최초의 디스크 장치에는 데이타 A, E, I, 다음의 디스크 장치에는 데이타 B, F, J, 다음의 디스크 장치에는 데이타 C, G와 데이타 I 내지 L에 대한 패리티 PI-L이 저장되어 있다. 그리고, 다음 디스크에는 데이타 D, K와, 데이타 E 내지 H에 대한 패리티 PE-H가 저장되고, 최후의 디스크 장치에는 데이타 A 내지 D에 대한 패리티 PA-D와, 데이타 H, L이 저장되어 있다.
그러나, 이러한 RAID 알고리즘을 사용하여 1비디오 프레임의 것으로부터 분할된 분할 데이타를 각각의 디스크로 분산하여 기록하는 종래의 디스크 어레이 장치는, 예를 들면, 비디오 데이타의 연속성을 고려하여 디스크의 외주측(또는 내주측)으로부터 데이타를 기록하기 시작하도록 구성되어 있다. 그 결과, 비교적 전반의 프레임으로부터 분할된 분할 데이타는 모든 디스크의 외주측에 기록되고, 비교적 후반의 프레임으로부터 분할된 분할 데이타는, 모든 디스크의 내주측에 기록되게 된다. 또한, 이 비디오 프레임의 데이타량은 항상 일정하므로, 분할된 분할 데이타도 일정한 데이타량이 된다.
즉, 기억 용량이 큰 외주측의 트랙 및 기억 용량이 작은 내주측의 트랙에는 모두, 동일한 데이타량을 갖는 분할 데이타가 기록되게 되고, 그 결과, 외주측 트랙의 분할 데이타에 억세스하는 시간보다도, 내주측 트랙의 분할 데이타에 억세스하는 시간 쪽이 길어지게 된다.
따라서, 비교적 전반의 비디오 프레임을 기록 및 판독하는 시간보다도, 비교적 후반의 비디오 프레임을 기록 및 판독하는 시간 쪽이 길어진다. 즉, 이 종래의 디스크 어레이 장치는, 어떠한 비디오 프레임만으로도 어떤 일정한 시간 내에 판독하는 것을 보증할 수 없다고 하는 문제가 있었다. 다시 말해서, 비디오 데이타를 리얼 타임으로 처리할 수 없다라고 하는 것이다.
일반적으로 방송국 및 업무의 분야에서는, 최악의 경우라도 이것만의 시간로 처리할 수 있다고 하는 상한을 보증하는 것을 리얼 타임성을 보증한다고 부르고 있지만, 특히 이 방송국 및 업무의 분야에서는, 이 리얼 타임성을 보증할 수 있는지의 여부가 매우 중요한 기능이다. 즉, 항상, 일정한 처리 시간 내에서, 데이타의 기록 재생 처리가 행해지고 있는 것이 요구되고 있다는 것이다.
또한, 이러한 디스크 어레이 장치에 사용되고 있는 HDD는 기록 트랙에 억세스할 때에, 그 트랙까지의 헤드의 탐색 시간은 그만큼 문제로 되지 않는다. 그러나, 헤드가 지정된 트랙에 탐색하고, 그 위치에 있어서 헤드가, 판독 요구된 데이타가 회전하여 오는것을 대기하는 시간이 상당한 문제였다. 최악의 경우, 이 대기 시간은 디스크의 1회전분의 시간으로도 된다. 즉, 판독 요구된 수프레임분의 데이타가, 디스크 상에 있어서 물리적으로 연속하는 위치에 기록되어 있는 것이면, 이러한 문제는 일어나지 않을지도 모르지만, 판독 요구된 수 프레임분의 데이타가, 물리적으로 랜덤 위치에 기록되어 있으면, 헤드의 대기 시간때문에, 이들 수 프레임분의 데이타를 리얼 타임으로 판독할 수 없다고 하는 문제가 있었다.
또한, 이러한 RAID 알고리즘은 원래 리얼 타임성이 요구되지 않는 컴퓨터 데이타를 기록하기 위해 개발된 알고리즘으로서, 비디오 데이타를 기록하기 위해 개발된 알고리즘이 아니었다. 따라서, 비디오 데이타와 같이 리얼 타임성이 요구되는 데이타에 대해서는, RAID 알고리즘을 이대로 사용할 수 없었다.
〈발명의 개시〉
본 발명은, 상술한 바와 같은 상황에 감안하여 이루어진 것으로, 공급된 소스 데이타를 리얼 타임성을 보증하면서 복수의 디스크에 기록하는 데이타 기록 장치 및 방법, 및 소스 데이타를 리얼 타임성을 보증하면서 재생하는 디스크 어레이 제어 장치 및·방법을 제공하는 것을 목적으로 한다.
즉, 본 발명에 따른 데이타 기록 장치는, 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크 매체에 기록하는 데이타 기록 장치에 있어서, 상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크 매체에 기록하는 기록 수단과, 상기 서브 블럭에 대해 지정된 상기 디스크 매체 상의 위치에 따른 사이즈의 서브 블럭을 생성하도록, 상기 데이타 처리 수단에 있어서의 상기 서브 블럭의 분할 처리를 제어하는 제어 수단을 구비한 것을 특징으로 한다.
여기서, 상기 제어 수단을 대신해서, 상기 각 디스크의 외주측 및, 내주측의 기록 영역이 균일하게 사용되도록, 상기 데이타 처리수단에 의한 상기 복수의 서브 블럭과 상기 패리티의 생성 처리를 제어하는 제어 수단을 이용하는 것을 예로 들 수 있다.
또한, 상기 제어 수단을 대신해서, 상기 서브 블럭에 대해 지정된 상기 디스크 상의 위치에 따라서, 상기 데이타 처리 수단에 의해 생성되는 상기 서브 블럭 데이타와 상기 패리티 데이타와의 비를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단을 이용하는 것을 예로 들 수 있다.
또한, 본 발명에 따른 데이타 기록 장치는 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크 매체에 기록하는 데이타 기록 장치에 있어서, 상기 소스 데이타의 1블럭을 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과, 상기 서브 블럭에 대해 지정된 상기 디스크 상의 위치에 따라서, 상기 데이타 처리 수단에 있어서의 상기 서브 블럭의 분할수를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 데이타 기록 장치는, 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서, 상기 소스 비디오 데이타의 1프레임의 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과, 상기 소스 비디오 데이타의 신호 방식에 따라서, 상기 1프레임의 비디오 데이타의 분할수를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 데이타 기록 장치는, 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서, 상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과, 상기 각 디스크의 외주측 영역 및 내주측 영역이 균일하게 사용되듯이, 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 기록하기 위해 사용되는 디스크를, 1프레임마다 가변하는 제어 수단을 구비한 것을 특징으로 한다.
여기서, 상기 제어 수단을 대신해서, 상기 각 디스크의 외주측 영역 및 내주측 영역을 대체로 균일하게 사용하기 때문에, 각 서브 블럭이 기록되는 위치에 따라서, 상기 1프레임의 비디오 데이타로부터 사이즈가 다른 복수 종류의 서브 블럭 및 상기 복수 종류에 대응하는 패리티 데이타를 생성하도록 상기 데이타 처리 수단을 제어하는 제어 수단을 이용하는 것을 예로 들 수 있다.
또한, 본 발명에 따른 데이타 기록 장치는, 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 장치에 있어서, 상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하는 블럭 맵 생성 수단과, 상기 블럭 맵에 기초하여, 상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 각각 기록하는 기록 수단과, 상기 블럭 맵에 대응한 사이즈의 서브 블럭을 생성하도록, 상기 데이타 처리 수단에 있어서의 상기 서브 블럭의 분할 처리를 제어하는 제어 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 데이타 기록 장치는, 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 장치에 있어서, 상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록 함과 동시에, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하는 수단과, 상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 가변함으로써, 상기 블럭 맵에 의해 지정된 복수 사이즈의 크기를 갖는 복수의 서브 블럭을 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 수단과, 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 데이타 기록 방법은, 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 방법에 있어서, 상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하고, 상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써, 상기 블럭 맵에 의해 지정된 복수 사이즈의 크기를 갖는 복수의 서브 블럭을 생성하고, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고, 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는 것을 특징으로 한다.
또한, 본 발명에 따른 디스크 어레이 제어 장치는 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서, 상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과, 상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 전송하는 전송 수단과, 상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록, 상기 데이타 처리 수단에 의한 상기 복수의 블럭과 상기 패리티의 생성 처리를 제어하는 제어 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 디스크 어레이 제어 방법은 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 방법에 있어서, 상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵으로서, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록, 상기 각 서브 블럭의 기록 위치를 결정하기 위한 블럭 맵을 생성하고, 상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써, 상기 블럭 맵에 의해 지정된 복수 사이즈의 크기를 갖은 복수의 서브 블럭을 생성하고, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고, 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는 것을 특징으로 한다.
본 발명은, 공급된 소스 데이타를 복수의 디스크에 기록하기 위한 데이타 기록 장치 및 방법, 및 소스 데이타를 기록 재생하기 위한 디스크 어레이를 제어하는 디스크 어레이 제어 장치 및 방법에 관한 것으로, 특히, 소정의 알고리즘에 따라서 다른 사이즈의 서브 블럭 데이타를 생성함으로써, 리얼 타임성을 유지하면서 항상 일정 시간 내에 디스크에 대한 기록 및 재생 처리를 행하는 것을 보증하는 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법에 관한 것이다.
도 1은 본 발명을 적용한 편집 시스템의 구성예를 나타낸 블럭도.
도 2는 도 1의 편집 장치의 구성을 나타낸 블럭도.
도 3은 도 2의 시스템 컨트롤부의 구성을 나타낸 블럭도.
도 4는 도 2의 매트릭스 스위쳐부의 구성을 나타낸 블럭도.
도 5는 도 2의 비디오 처리부의 구성을 나타낸 블럭도.
도 6은 도 2의 오디오 처리부의 구성을 나타낸 블럭도.
도 7은 도 1의 디스크 레코더의 구성예를 나타낸 블럭도.
도 8은 도 7의 CPU 블럭의 구성예를 나타낸 블럭도.
도 9는 NTSC 방식의 경우의 도 8의 ZBR 테이블의 예를 나타낸 도면.
도 10은 PAL 방식의 경우의 도 8의 ZBR 테이블의 예를 나타낸 도면.
도 11의 (A), (B)는 실린더, 트랙, 및 섹터 관계의 설명도.
도 12는 ZBR의 기록의 원리를 나타낸 도면.
도 13의 (A), (B)는 도 8의 물리 어드레스 테이블의 예를 나타낸 도면.
도 14는 도 8의 블럭 맵의 포맷을 나타낸 도면.
도 15는 도 8의 블럭 맵의 예를 나타낸 도면.
도 16은 블럭 맵 작성의 처리를 설명하는 플로우차트
도 17은 탐색 시간의 특성을 나타낸 도면.
도 18은 갭 θgap을 설명하는 도면.
도 19는 갭 θgap과 스큐 θskew의 설명도.
도 20은 복수 실린더 간에 있어서의 스큐의 설명도.
도 21은 갭 θgap의 실린더에 대한 관계의 설명도.
도 22는 갭 θgap의 실린더에 대한 관계의 설명도.
도 23은 갭 θgap의 실린더에 대한 관계의 설명도.
도 24의 (A)∼(C)는 스케쥴링의 설명도.
도 25는 오버헤드의 설명도.
도 26은 도 7의 컨트롤러의 스케쥴링 처리를 설명하는 플로우차트.
도 27은 도 7의 컨트롤러의 k번째의 데이타의 배치 처리를 설명하는 플로우차트.
도 28은 도 27의 스텝 S31의 보다 상세한 처리를 설명하는 플로우차트.
도 29는 도 27의 스텝 S32의 보다 상세한 처리를 설명하는 플로우차트.
도 30은 도 29의 스텝 S51의 보다 상세한 처리를 설명하는 플로우차트.
도 31은 도 29의 스텝 S52에 있어서의 보다 상세한 처리를 설명하는 플로우차트.
도 32는 도 27의 스텝 S33의 보다 상세한 처리를 설명하는 플로우차트.
도 33은 도 28의 처리에 의해 실현되는 하드디스크 상의 데이타의 배치를 설명하는 도면.
도 34의 (A), (B)는 패리티 데이타 생성의 설명도.
도 35의 (A), (B)는 패리티 데이타에 의한 오류 정정의 설명도.
도 36은 도 7의 RAID 컨트롤러와 DMA 컨트롤러의 보다 상세한 구성예를 나타낸 블럭도.
도 37의 (A), (B)는 도 36의 RAID 컨트롤러의 비트 변환 처리의 설명도.
도 38은 도 36의 FIFO의 동작의 설명도.
도 39는 1프레임분의 화상의 화소 데이타의 설명도.
도 40은 패킷 전송 블럭을 설명하는 도면.
도 41은 DMA 커맨드의 설명도.
도 42는 도 36의 데이타 버퍼에 있어서의 데이타의 기록 상태의 설명도.
도 43은 1프레임의 화상의 RAID 영역의 설명도.
도 44는 도 43에서 도시되는 1프레임의 화상의 서브 블럭 구성의 설명도.
도 45는 오류가 존재하지 않은 경우의 재생 시의 DMA 커맨드의 설명도.
도 46은 오류가 존재하는 경우의 재생 시의 DMA 커맨드의 설명도.
도 47은 도 36의 RAID 컨트롤러의 보다 상세한 구성을 나타낸 블럭도.
도 48은 도 47의 RAID 컨트롤러에 있어서의 패리티 생성 처리의 설명도.
도 49는 도 47의 RAID 컨트롤러에 있어서의 데이타 정정 처리의 설명도.
도 50은 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 51은 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 52는 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 53은 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 54는 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 55는 NTSC 방식에 있어서의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 56은 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 57은 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 58은 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 59는 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 60은 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 61은 PAL 방식의 경우의 패리티 데이타와 서브 블럭의 구성예를 나타낸 도면.
도 62는 각 프레임의 서브 블럭의 데이타의 각 디스크 상에 있어서의 배치의 설명도.
도 63은 스트림의 구성의 설명도.
도 64는 종래 RAID의 설명도.
도 65는 종래 RAID의 설명도.
이하, 본 발명에 따른 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법의 바람직한 실시 형태에 대해 설명한다.
도 1은 본 발명을 응용한 편집 시스템의 구성예를 나타내고 있다. 이 시스템에서는, 편집 장치(1)에 소스 비디오 테이프 레코더(VTR: 9)나 데일리 서버(7) 등으로부터 비디오 데이타가 입력되고, 편집되도록 이루어져 있다. 이 편집 장치(1)는 디스크 레코더(2)를 제어하고, 편집 처리를 행하도록 이루어져 있다. 편집 장치(1)는 2채널의 SDI(Serial Data Interface)를 통해 디스크 레코더(2)에, 비디오 데이타와 오디오 데이타를 전송하고, 또한, 디스크 레코더(2)는, 각각 6채널의 비디오 데이타와, 16채널의 오디오 데이타를 SDI를 통해 편집 장치(1)에 공급하도록 이루어져 있다. 또한, 편집 장치(1)는 SDI를 통해 메인 모니터(4), 온 에어 버퍼(8), 소스 VTR(9), 및 호스트 퍼스널 컴퓨터(3)에, 비디오 데이타와 오디오 데이타를 공급하도록 이루어져 있다. 또한, 편집 장치(1)는 증폭기(5)에 오디오 신호를 출력하고, 스피커(6)로부터 방음시키도록 이루어져 있다.
한편, 호스트 퍼스널 컴퓨터(3)는 편집 장치(1)에 대해, RS-422 규격의 통신 프로토콜을 사용하여 커맨드를 보내고, 편집 장치(1)를 제어하도록 이루어져 있다. 또한, 편집 장치(1)도 디스크 레코더(2), 데일리 서버(7), 소스 VTR(9) 등에, RS-422를 통해 커맨드를 보내고, 각각을 제어하도록 이루어져 있다. 또한 편집 장치(1)는, 호스트 퍼스널 컴퓨터(3)를 통해 이더넷(Ethernet)에 의해 제어되거나, 외부 장치를 제어할 수 있도록 이루어져 있다. 디스크 레코더(2)는 SCSI(ANSI Small Computer System Interface)를 통해 호스트 퍼스널 컴퓨터(3)에 제어되도록 이루어져 있다.
도 2는 편집 장치(1)의 내부의 구성예를 나타내고 있다. 이 편집 장치(1)는 컨트롤 버스(25)를 통해 서로 접속된 매트릭스 스위쳐부(21), 비디오 처리부(22), 오디오 처리부(23), 및 시스템 컨트롤부(24)에 의해 구성되어 있다.
도 3에 도시한 바와 같이, 시스템 컨트롤부(24)는 컨트롤 버스(25)를 통해, 매트릭스 스위쳐부(21), 비디오 처리부(22), 오디오 처리부(23) 등을 제어하기 위한 메인 CPU(121), 소스 VTR(9), 로컬 스토리지로서의 디스크 레코더(2), 및 데일리 서버(7) 등의 각 디바이스를 제어하는 디바이스 제어 CPU(122-1 내지 122-3)를 갖고 있다. 또한, 시스템 컨트롤부(24)는, 또한, 호스트 퍼스널 컴퓨터(3)와 사이에서, GUI를 위한 인터페이스 처리를 행하거나, 레퍼런스 타임 레코드를 교환하거나 하는, 커뮤니케이션 CPU(124)를 갖고 있다.
도 4에 도시한 바와 같이, 매트릭스 스위쳐부(21)는 입력 라인과 출력 라인을 전환하기 위한 블럭이다. 이 매트릭스 스위쳐부(21)는, SDI 포맷에 기초하여 공급된 비디오 신호 또는 오디오 신호를 수취하는 12개의 입력 라인(31-1 내지 31-12)을 갖고 있다. 이 12개의 입력 라인에 대해, 매트릭스형으로 12개의 출력 라인이 배치되어 있고, 각 출력 라인에는, 아웃풋 프로세서(32-1 내지 32-12)가 배치되어 있다. 입력 라인(31-1 내지 31-12)과, 아웃풋 프로세서(32-1 내지 32-12)가 대응하는 12개의 출력 라인은 도면 중 ×로 표시되는 크로스 포인트로, 적절하게, 접속되도록 이루어져 있다. 이 접속은, 매트릭스 스위쳐부(21)의 제어 블럭(34)이, 시스템 컨트롤부(24)의 메인 CPU(121)로부터의 지령을, 컨트롤 버스(25)를 통해 수취하고, 이 지령에 대응하여 제어하도록 이루어져 있다.
이 입력 라인에는, 도 1에 도시한, 데일리 서버(7), 소스 VTR(9), 또는 디스크 레코더(2)로부터의 비디오 신호나 오디오 신호가 공급될 뿐만 아니라, 비디오 처리부(22)로 처리된 비디오 신호도 공급된다. 제어 블럭(34)은 크로스 포인트를 적절하게 전환함으로써, 이들 입력의 소정의 것을, 12개의 출력 라인의 아웃풋 프로세서(32-1 내지 32-12) 중 어느 하나에 공급시킨다. 아웃풋 프로세서(32-1 내지 32-12)는 입력된 비디오 신호를 SDI 포맷으로 변환하는 처리를 행한다. 아웃풋 프로세서(32-1)의 출력은 캡쳐 라인으로의 출력으로 되고, 호스트 퍼스널 컴퓨터(3)에 공급된다. 아웃풋 프로세서(32- 2)의 출력은 프레뷰 라인의 출력으로 되고, 메인 모니터(4)에 공급된다.
한편, 아웃풋 프로세서(32-3 내지 32-12)의 후단에는, 또한, 컨바이너(33-1 내지 33-10)가 설치되어 있고, 이들 컨바이너(33-1 내지 33-10)는 대응하는 아웃풋 프로세서(32-3 내지 32-12)에 의해 입력된 비디오 신호에, 오디오 처리부(23)로부터 공급된 임베디드 오디오 신호를 SDI의 비디오 신호에 중첩하는 처리를 행한다. 컨바이너(33-1 내지 33-10)의 출력은 프로그램 아웃 라인의 출력으로서, 로컬 스토리지로서의 디스크 레코더(2)에 공급된다. 또, 임베디드 오디오 신호란, SDI 규격의 디지탈 비디오 데이타의 블랭킹 기간에, 보조 데이타로서 삽입된 오디오 데이타를 의미한다.
도 5에 도시한 바와 같이, 비디오 처리부(22)는 매트릭스 스위쳐부(21)로부터 공급된 비디오 신호에 대해, 화상 변환 처리를 실시하기 위한 블럭이다. 이 화상 변환 처리란, 예를 들면, 소스 비디오 신호에 특수 효과를 걸거나, 백그라운드 비디오 신호에 특수 효과가 걸린 비디오 신호를 삽입하는 애니메이션 이펙트나, 백그라운드 비디오 신호로부터, 포그라운드 비디오 신호로 영상을 전환하는 트랜지션 이펙트 처리나, 특수 효과가 실시된 제1 비디오 신호와 제2 비디오 신호를 믹스하는 합성 처리 등의 것이다.
이 비디오 처리부(22)는 매트릭스 스위쳐부(21)로부터 입력되는 SDI 포맷의 신호로부터, 키 신호 또는 비디오 신호(휘도 신호와 크로마 신호)를 추출하는 디멀티플렉서 블럭(41), 키 신호 또는 비디오 신호에 대해 와이프 등의 트랜지션 이펙트를 제공하기 위한 스위쳐 블럭(42), 키 신호 또는 비디오 신호에 대해 3차원 화상 변환 등의 애니메이션 이펙트를 제공하는 특수 효과 블럭(43), 스위쳐블럭(42), 특수 효과 블럭(43), 및 매트릭스 스위쳐부(21)로부터의 비디오 신호를 믹스하는 믹서 블럭(44), 및, 이들 디멀티플렉서 블럭(41), 스위쳐 블럭(42), 특수 효과 블럭(43), 및 믹서 블럭(44)을 제어하는 제어 블럭(45)에 의해 구성되어 있다.
제어 블럭(45)은 시스템 컨트롤부(24)로부터 컨트롤 버스(25)를 통해 제어 신호를 수취하고, 도시하지 않은 제어선을 통해 디멀티플렉서 블럭(41), 스위쳐 블럭(42), 특수 효과 블럭(43), 또는 믹서 블럭(44)을 제어한다.
디멀티플렉서 블럭(41)은 디멀티플렉서 회로(41-1 내지 41-5)를 갖고 있고, 이들 디멀티플렉서 회로(41-1 내지 41-5)는 매트릭스 스위쳐부(21)로부터 공급된 SDI 포맷에 준하도록 패킷화되어 있는 비디오 신호를 추출하는 회로로서, 각 패킷 데이타의 페이로드부의 영역 내에 기록되어 있는 비디오 신호를, 직렬형으로 기록되어 있는 각 비디오 신호의 선두에 기록된 동기 신호 및 헤더정보에 기초하여 추출한다.
스위쳐 블럭(42)은 제어 블럭(45)으로부터의 제어 커맨드에 대응하여, 오퍼레이터에 의해 지정된 트랜지션 이펙트에 대응하는 와이프 신호를 생성하는 와이프 신호 발생 회로(52-1, 52- 2)를 갖고 있다. 와이프 신호 발생 회로(52-1)는 생성한 와이프 신호를 키신호 처리 회로(51-1)와 비디오 신호 처리 회로(51-2)에 공급하고, 와이프 신호 발생 회로(52-2)는 생성한 와이프 신호를 키 신호 처리 회로(51-3)와 비디오 신호 처리 회로(51-4)에 공급하고 있다.
키 신호 처리 회로(51-1)는 디멀티플렉서 회로(41-1)에 의해 공급된 키 신호를 와이프 신호 발생 회로(52-1)에 의해 공급된 와이프 신호에 대응하여 처리하거나, 새로운 키 신호를 생성하도록 이루어져 있다. 비디오 신호 처리 회로(51-2)는 디멀티플렉서 회로(41-2)에 의해 공급된 비디오 신호를 와이프 신호 발생 회로(52-1)에 의해 공급된 와이프 신호에 대응하여 처리하도록 이루어져 있다.
마찬가지로, 키 신호 처리 회로(51-3)는 디멀티플렉서 회로(41-3)에 의해 공급된 키 신호를, 와이프 신호 발생 회로(52-2)에 의해 공급된 와이프 신호에 대응하여 처리하거나 새로운 키 신호를 생성한다. 비디오 신호 처리 회로(51-4)는 디멀티플렉서 회로(41-4)에 의해 공급된 비디오 신호를 와이프 신호 발생 회로(52-2)에 의해 공급된 와이프 신호에 대응하여 처리하도록 이루어져 있다.
특수 효과 블럭(43)에서는 프레임 메모리(61-1) 또는 프레임 메모리(61-2)에 키 신호 처리 회로(51-3) 또는 비디오 신호 처리 회로(51- 4)에 의해 공급된 키 신호 또는 비디오 신호가 각각 기억되도록 이루어져 있다. 3차원 어드레스 발생 회로(63)는 제어 블럭(45)으로부터의 특수 화상 변환의 제어 커맨드를 수취하여, 키신호 또는 비디오 신호를 각각 3차원적인 화상으로 변환하기 위한 변환 어드레스를 발생하고 프레임 메모리(61-1, 61-2)와, 인터폴레이터(2-1, 62-2)에 출력하도록 이루어져 있다. 프레임 메모리(61-1, 61-2)는 3차원 어드레스 발생회로(63)로부터의 변환 어드레스에 대응하여 키 신호 또는 비디오 신호의 판독이 제어된다. 인터폴레이터(62-1, 62-2)는 각각 프레임 메모리(61-1 또는 61-2)에 의해 공급된 키 신호 또는 비디오 신호의 화소를 공간적으로 보간하기 위한 처리를, 3차원 어드레스 발생 회로(63)로부터의 변환 어드레스에 기초하여 행하도록 이루어져 있다.
믹서 블럭(44)에서는, 믹스 회로(71-1)가 인터폴레이터(62-1)에 의해 공급되는 화상 변형된 키 신호에 기초하여 인터폴레이터(62-2)에 의해 공급되는, 변형된 비디오 신호와, 디멀티플렉서 회로(41-5)에 의해 공급되는 백그라운드 비디오 신호를 합성하도록 이루어져 있다. 또한, 믹스 회로(71-2)는 믹스 회로(71-1)에 의해 출력되는 비디오 신호와, 비디오 신호 처리 회로(51-2)에 있어서 와이프 신호에 기초하여 처리된 비디오 신호를, 키 신호 처리 회로(51-1)가 출력하는 와이프 신호에 기초하여 처리된 키 신호에 대응하여 합성하도록 이루어져 있다. 믹스 회로(71-1, 71- 2)에 의해 출력된 비디오 신호는 매트릭스 스위쳐부(21)의 12개의 입력 라인 중 2개의 입력 라인에 공급되어 있다.
도 6에 도시한 바와 같이, 오디오 처리부(23)에서는, 세퍼레이터 블럭(81)이, 세퍼레이터(81-1 내지 81-3)를 갖고 있고, 이들 세퍼레이터(81-1 내지 81-3)는 매트릭스 스위쳐부(21)로부터 공급된 SDI 포맷의 신호로부터, 임베디드 오디오(Embeded Audio) 신호를 분리하도록 이루어져 있다. 이들 신호는, AES/EBU (Audio Engineering Society/European Broadcasting Union) 포맷의 신호로 되어 있다.
믹서 블럭(83)은, 세퍼레이터(81-1 내지 81-3)의 출력을, 가변저항(91-1 내지 91-3)으로 소정의 레벨로 조정한 후 가산하는 가산기(92-1)와, 세퍼레이터(81-1 내지 81-3)의 출력을, 가변 저항(91-4 내지 91-6)에 의해, 소정의 레벨로 조정한 후 가산하는 가산기(92-2)를 갖고 있다.
임베디드 회로(85)는 가산기(92-1와 92-2)에 의해 출력된 오디오 신호를 SDI 포맷 신호에 중첩할 수 있도록 임베디드 오디오신호로 변환하는 처리를 행한다. 임베디드 회로(85)의 출력은, 매트릭스 스위쳐부(21)의 컨바이너(33-1 내지 33-10)에 공급되고, 아웃풋 프로세서(32-3 내지 32-12)에 의해 SDI 포맷으로 변환된 비디오 신호에 중첩되고, 디스크 레코더(2)에 공급되도록 이루어져 있다.
제어 블럭(86)은, 이들 세퍼레이터 블럭(81), 믹서 블럭(83), 및 임베디드 회로(85)의 동작을, 시스템 컨트롤부(24)로부터의 제어 신호를 컨트롤 버스(25)를 통해 수취하여, 제어하도록 이루어져 있다.
가산기(92-1, 92-2)의 출력은, 도 1의 증폭기(5)를 통해 스피커(6)로부터 출력되도록 이루어져 있다.
도 7은 디스크 레코더(2)의 내부의 구성예를 나타내고 있다. 또, 이 디스크 레코더(2)는 고속 리얼 타임 랜덤 억세스를 위한 하드디스크 매니지먼트 알고리즘 FARAD(Fast Random Access Disk) (상표)을 응용한 것으로, 비교적 적은 디스크로, 멀티 채널의 데이타를 고속 랜덤 억세스할 수 있도록 이루어져 있다.
이 구성예에서는, 디스크 어레이로서, 32대의 하드디스크(201-1 내지 201-32)가 설치되어 있다. SPC(SCSI Peripheral Controller)로서의 SCSI 컨트롤러(202-1 내지 202-16)는 각각 2대의 하드디스크를 제어하도록 이루어져 있다. 예를 들면, SCSI 컨트롤러(202-1)는 하드디스크(201-1)와 하드디스크(201-2)를 제어하고, SCSI 컨트롤러(202-2)는 하드디스크(201-3)와 하드디스크(201-4)를 제어하도록 이루어져 있다.
또한, 버퍼 블럭(203-1 내지 203-8)이 설치되어 있다. 1개의 버퍼 블럭은 2개의 SCSI 컨트롤러를 제어하도록 이루어져 있고, 예를 들면, 버퍼 블럭(203-1)은 SCSI 컨트롤러(202-1과 202-2)를 제어하고, 버퍼 블럭(203-2)은 SCSI 컨트롤러(202-3과 202-4)를 제어하도록 이루어져 있다. 각 버퍼 블럭(203-i) (또, i는 임의의 값이고, 여기서는, i= 1, 2, …, 8)에는, 데이터 버퍼(212-i)와, 이것을 제어하는 버퍼 컨트롤러(211-i)가 설치되어 있다.
또한, 데이타 버퍼(212-1 내지 212-8)는 CPU 블럭(261)의 컨트롤러(262)에 의해 일률적으로 규정되는 직렬 어드레스가 할당되고, 그 어드레스에 의해 데이타의 기억 위치를 지정할 수 있다. 따라서, 이 복수의 데이타 버퍼(212-1 내지 212-8)는 컨트롤러(262)로부터 본 경우, 1개의 데이타 버퍼가 된다.
또, 이 디스크 레코더(2)에서는, 합계 36대의 하드디스크를 장비할 수 있도록 이루어져 있지만, 이 구성예에서는, 32대의 하드디스크가 설치되어 있다.
이들 하드디스크(201-1 내지 201-32)에 대해, 오디오 데이타를 기록 재생하기 위한 블럭으로서, 오디오 블럭(231-1, 231-2)이 설치되어 있고, 비디오 데이타를 기록 재생하기 위해, 비디오 블럭(271-1 내지 271-6)이 설치되어 있다.
오디오 블럭(231-1과 231-2)은 각각 마찬가지의 구성으로 되고 있고, 각각이 8채널분의 오디오 데이타를 처리하도록 이루어져 있으므로, 합계 16채널분의 오디오 데이타를 처리할 수 있도록 이루어져 있다.
각 오디오 블럭(231-i)은, 입출력(I/O) 컨트롤러(242-i) (i=1, 2)와, DMA 컨트롤러(241-i)를 갖고 있다. 입출력 컨트롤러(242-i)는, 도 4의 매트릭스 스위쳐부(21)의 컨바이너(33-1 내지 33-10) 중 어느 하나로부터, 8채널분의 오디오 신호의 공급을 받고, 이것을 처리하여 DMA 컨트롤러(241-i)에 공급함과 동시에, DMA 컨트롤러(241-i)에 의해 공급된, 최대 8채널분의 오디오 신호를 처리하여, 도 4의 편집 장치(1)의 매트릭스 스위쳐부(21)의 입력 라인으로 출력한다.
DMA 컨트롤러(241-i)는 입출력 컨트롤러(242-i)에 의해 공급된 오디오 신호를, DMA 버스(251)를 통해 버퍼 컨트롤러(211-1 내지 211-8) 중 어느 하나에 공급하고, 대응하는 데이타 버퍼(212- 1내지 2121-8)로 DMA 전송시킨다. 또한, 이들 데이타 버퍼(212- 1내지 212-8)에 의해 판독된 데이타를 DMA 버스(251)를 통해 판독하고, 입출력 컨트롤러(242-i)로 DMA 전송한다.
비디오 블럭(271-i) (i= 1, 2, … , 6)에서는, DMA 컨트롤러(281-i)가, DMA 버스(251)를 통해 데이타 버퍼(212-1 내지 212-8)와, RAID 컨트롤러(282-i) 사이에서, 비디오 데이타를 DMA 전송하도록 이루어져 있다.
RAID 컨트롤러(282-i)는 비디오 프로세서(283-i)에 의해 공급되는, 하드디스크(201-1 내지 201-32)에 기록하여야 할 비디오 데이타에 대해, 오류 정정을 위한 처리를 실시하고, DMA 컨트롤러(281-i)에 공급함과 동시에, DMA 컨트롤러(281-i)에 의해 공급된, 하드디스크(201-1 내지 201-32)에 의해 재생된 데이타에 대해 오류 정정 처리를 실시하고, 비디오 프로세서(283-i)에 출력하도록 이루어져 있다. 이 RAID 컨트롤러(282-i)의 처리에 대해서는, 그 상세를 후술한다.
비디오 프로세서(283-i)는, 입출력 컨트롤러(284-i)에 의해 공급된 비디오 데이타를 RAID 컨트롤러(282-i) 측에서 처리하는데 필요한 클럭 레이트로 변환하는 처리와, 반대로, RAID 컨트롤러(282-i)에 의해 공급된 재생 데이타를, 입출력 컨트롤러(284-i)의 처리하여야 할 클럭 레이트로 변환하는 처리를 행한다.
입출력 컨트롤러(284-i)는 편집 장치(1)의 매트릭스 스위쳐부(21)의 컨바이너(33-1 내지 33-10) 중 어느 하나에 의해 공급되는 비디오 데이타를 수취하고, 이것을 스위칭하여 비디오 프로세서(283-1 내지 283-6) 중 어느 하나에 공급함과 동시에, 반대로, 비디오 프로세서(283-i)에 의해 공급된 비디오 데이타를 편집 장치(1)의 입력 라인에 공급하도록 이루어져 있다.
이 구성예에서는, 6개의 비디오 블럭(271-1 내지 271-6)이 설치되어 있으므로, 합계 6채널분의 비디오 신호를 처리하는 것이 가능해지고 있다.
CPU 블럭(261)은 컨트롤러(262)와 RAM(263)을 갖고 있고, 제어 버스(252)를 통해 SCSI 컨트롤러(202-i), 버퍼 블럭(203-i), DMA 컨트롤러(241-i), 입출력 컨트롤러(242-i), DMA 컨트롤러(281-i), RAID 컨트롤러(282-i), 비디오 프로세서(283-i), 및 입출력 컨트롤러(284-i)와 접속되어 있고, 적절하게, 이들을 제어하도록 이루어져 있다. 컨트롤러(262)는 각 블럭을 제어하고, RAM(263)에는, 컨트롤러(262)가 각종 처리를 실행하는데 있어서 필요한 소프트웨어 프로그램이나, 테이블 데이타 등이 기억되어 있다. 컨트롤러(262)는 지정된 포맷 파라메터와, 도 8에 도시한 바와 같이, RAM(263)에 형성되어 있는 존 비트 레코딩(ZBR) 테이블(301)로부터의 데이타에 기초하여 블럭 맵(304)을 작성하고, 또한, 그 블럭 맵(304)을 적절하게 갱신한다. 여기서, 포맷 파라메터는 기록 재생단위가 되는 1블럭의 크기 S, 이 1블럭의 데이타를 분할하는 수 n, 및 적절한 스큐 θskew 등으로 구성되어 있다.
본 발명의 실시 형태의 편집 시스템에 있어서 사용되고 있는 디스크 레코더에서는, 기록 재생 단위가 되는 1블럭을, 1비디오 프레임으로 하고, 이 1블럭의 데이타를 분할하는 수를, NTSC 규격의 비디오 신호의 경우에는, 「4」로 하고, PAL 규격의 비디오 신호의 경우에는, 「5」로 하고 있다.
컨트롤러(262)는 블럭 맵(304)을 참조하여, DMA 컨트롤러(281-i)나 RAID 컨트롤러(282-i)의 동작을 제어하기 위한 커맨드를 생성한다. 또한, 컨트롤러(262)는 데이타 버퍼(212-i)에 버퍼링된 비디오 데이타 또는 오디오 데이타를, 하드디스크(201-i)에 기록할때, 또는, 재생할 때에, 헤드 이동량이 최소가 되도록, 헤드의 억세스 순서를 스케쥴링하는 처리를 실행한다. 이 스케쥴링 처리를 SCAN 처리라 부르고 있다. 이 SCAN 처리에 대해서는 후술한다.
컨트롤러(262)는, 이 밖에, 도 8에 도시한 바와 같이, 물리 어드레스 테이블(302)이나 얼로케이션 맵(303)을 생성하고, 이들을 RAM(263)에 기록한다.
존 비트 레코딩(ZBR) 테이블(301)은, 하드디스크의 실린더 어드레스와, 그 실린더 위치에서의 1트랙 내에서 사용되는 섹터수를 대응시킨 표이다. 도 9와 도 10은 이 ZBR 테이블의 예를 나타내고 있고, 도 9는 비디오 신호가 NTSC 규격의 비디오 신호인 경우에 있어서의 ZBR 테이블의 예를 나타내고 있고, 도 10은 비디오신호가 PAL 규격의 비디오 신호인 경우에 있어서의 ZBR 테이블을 나타내고 있다.
도 11의 (A), (B)에 도시한 바와 같이, 하드디스크(201-i)는 복수의 미디어(디스크)에 의해 구성되어 있고, 각 미디어에는, 복수의 트랙이 형성되어 있다. 각 트랙은 복수의 섹터로 구분되고, 각 섹터는 이 실시 형태의 경우, 512바이트의 크기로 된다. 그리고, 각 미디어의 중심으로부터 동일 지름에 위치하는 트랙에 의해 구성되는 영역은 실린더라고 한다. 이 실린더에는, 외주측으로부터 내주측을 향해 순서대로 연속의 번호가 매겨지고, 이것이 실린더 어드레스로 된다.
각 하드디스크(201-i)는 디스크의 반경 방향의 기록 영역을 복수의 존으로 분할하는 존 비트 레코딩에 의한 포맷이 행해지고 있다. 즉, 기록면이 디스크의 중심으로부터의 거리에 따라서 복수의 존으로 구분되고, 외측의 존에서는, 내측의 존보다, 트랙당 섹터수가 많아지도록 포맷된다. 이 실시 형태의 경우, 도 9, 도 10, 및 도 12에 도시한 바와 같이, 최외주로부터 최내주를 향해, 0001 내지 6000의 실린더 어드레스에서 규정되는 6000개의 트랙이 형성되어 있고, 이들 각 트랙이 500개를 단위로하여, 12 존으로 구분되어 있다. 그리고, 예를 들면, 도 9에 도시한 바와 같이, 0001 내지 0500의 실린더 어드레스로 규정되는 가장 외주측의 제1 존에서는, 1트랙당 567개의 섹터가 형성되어 있고, 5501 내지 6000의 실린더 어드레스로 규정되는 가장 내주측의 제12 존에서는, 1트랙당 섹터수는 393개로 되어 있다.
또, 구체적으로는 후술하지만, 이 12개의 존 중, 최외주의 제1 존과, 최내주의 제12 존이 페어(쌍)로서 사용되고, 이하 마찬가지로, 제2 존과 제11 존, 제3 존과 제10 존, 제4 존과 제9 존, 제5 존과 제8 존, 및, 제6 존과 제7 존이, 각각 쌍으로서 사용된다. 이와 같이, 보다 외주의 존과 보다 내주의 존을, 각각 페어로서 사용함으로써, 디스크 용량을, 가장 효율적으로 사용하는 것이 가능해진다. 이 점에 대해서는, 후에 상술한다.
이와 같이, ZBR 테이블(301)에는, 각 존마다의 트랙당 섹터수가 기억되어 있기 때문에, 실린더 어드레스가 특정되면, 그 트랙에 있어서 사용하는 것이 가능한 섹터수를 결정할 수 있다. 또, 이 실시의 형태에서는, 1섹터당 128워드(1워드는 32비트)의 데이타를 기록할 수 있도록 이루어져 있다.
한편, 도 8에 도시한 물리 어드레스 테이블(302)은 하드디스크(201-i)의 논리 섹터 번호(이 논리 섹터 번호는 논리 블럭 어드레스라고도 칭해진다)를 물리 어드레스와 대응시키기 위한 테이블이다. 물리 어드레스란, 실린더 번호, 미디어 번호, 및 섹터 번호로 이루어지는 어드레스를 말한다.
도 13의 (A), (B)는, 물리 어드레스 테이블(302)의 예를 나타내고있다. 논리 섹터(Logical Sector) 번호 Lki는, 각 하드디스크(201-i)에 있어서, 모든 미디어의 각 섹터에 연속하여 부가된 번호이고, 도 13의 (A)에 도시한 바와 같이, 이 논리 섹터 번호 Lki는 실린더 번호 CYKki, 미디어 번호 MEDki, 및 섹터 번호 SECki에 의해 특정할 수 있다. 도 13의 (B)는 그 구체적인 예를 나타내고 있다. 예를 들면, 논리 섹터 번호 2의 섹터는, 실린더 번호 0의 미디어 번호 0의 섹터 번호 2의 섹터이다. 따라서, 이 물리 어드레스 테이블(302)을 참조함으로써, 논리 섹터 번호를 물리 섹터 번호로 변환하거나, 혹은 반대로, 물리 섹터 번호를 논리 섹터 번호로 변환할 수 있다.
도 8의 로케이션 맵(303)은 하드디스크(201-i)의 모든 미디어(디스크)의 기록 종료 영역과, 미기록 영역의 어드레스를 관리하기 위한 맵이다. 이 얼로케이션 맵(303)을 참조함으로써, 각 디스크의 미기록의 영역을 검색할 수 있다.
블럭 맵(304)은 디스크 상의 어떤 위치에, 어떠한 크기의 데이타가 기억되어 있는 것인지를 나타내는 테이블 상의 맵이고, 도 14에 도시한 바와 같이, k(데이타의 총수를 넘지 않은 임의의 자연수)로 나타내는 블럭 번호를 갖는 블럭 데이타(기록되는 데이타 또는 재생되는 데이타)마다, 디스크 상에서의 배치 위치를 관리하기 위한 맵이다. 또, 이 블럭 번호 k로 나타내는 1개의 블럭 데이타는 예를 들면, 1프레임(소정의 크기의 화상)의 비디오 데이타로 되고, 이 블럭 번호 k는 모든 채널의 비디오 데이타의 각 프레임 데이타에 대해 각각 일률적으로 지정된 번호(ID 번호)이다. 따라서, 비디오 데이타의 재생 요구가 있는 경우에는, 이 블럭 번호 k에 의해, 디스크 상에 있어서의 배치 위치를 특정할 수 있다.
도 14에 도시한 바와 같이, 1프레임분의 블럭 데이타는 n개의 서브 블럭 데이타 Dk1∼Dkn과, 1개의 오류 정정용의 패리티 데이타 Dkp에 의해 구성되고, 각각은, 다른 하드디스크(201-i)에 기록된다. 패리티 데이타의 배치 장소는 하드디스크(201-i)의 디스크 식별 번호(ID) Dkp, 패리티 데이타가 기록된 영역의 기록 개시 위치를 나타내는 논리 섹터 번호 Lkp, 및 패리티 데이타가 기록된 영역의 크기(사이즈)를 나타내는 섹터의 수 Skp에 의해 규정된다.
마찬가지로, 번호 k의 서브 블럭의 배치 장소는 하드디스크(201-i)의 디스크 IDDki, 서브 블럭이 기록된 영역의 기록 개시 위치를 나타나는 논리 섹터 번호 Lki, 및, 서브 블럭이 기록된 영역의 크기를 나타나는 섹터의 수 Ski에 의해 규정된다.
또, 여기서, n(1프레임의 비디오 데이타를 분할하는 수)은 그 규격(NTSC 또는 PAL) (데이타량)에 따라서, 적절하게 정할 수 있다. 그 상세는 후술한다.
도 15는 1440×512 화소의 NTSC 방식의 1프레임의 비디오 데이타를, 4개의 서브 블럭으로 분할하여 기록하는 경우에 사용된 블럭 맵(304)의 구체예를 나타내고 있다. 이 예에서는, 블럭 번호(프레임 번호) 1로 나타나는 프레임의 패리티 데이타 P1은 디스크 ID가 1로 나타나는 하드디스크 상의 번호 0의 개시 논리 섹터로부터 567섹터분의 영역(최외주의 영역)에 기록되어 있다. 또한, 이 블럭 번호 1로 나타나는 프레임의 제1번째의 서브 블럭의 데이타 S1-1은 디스크 ID가 2로 나타나는 하드디스크 상의 번호 599600의 개시 논리 섹터로부터, 393섹터분의 영역(최내주의 영역)에 기록되고, 이하 마찬가지로, 이 프레임의 제2번째의 서브 블럭의 데이타 S1-2는, 디스크 ID가 3으로 나타나는 하드디스크 상의 번호 0의 개시 논리 섹터로부터, 567섹터분의 영역(최외주의 영역)에 기록되고, 제3번째의 서브 블럭의 데이타 S1-3은, 디스크 ID가 4로 나타나는 하드디스크 상의 번호 599600의 개시 논리 섹터로부터, 393섹터분의 영역(최내주의 영역)에 기록되고, 제4번째의 서브 블럭의 데이타 S1-4는, 디스크 ID가 5로 나타나는 하드디스크 상의 번호 0의 개시논리 섹터로부터, 567섹터분의 영역(최내주의 영역)에 기록되어 있다.
1서브 블럭의 데이타의 크기는, 기본적으로, 1프레임의 데이타의 1/4의 크기이지만, 이 1서브 블럭의 데이타는 반드시, 1프레임의 비디오 데이타의 연속하는 1/4의 화소 데이타로 구성되는 데이타는 아니다. 물론, 이 서브 블럭의 화소 데이타를 1프레임의 비디오 데이타의 연속하는 1/4의 영역의 화소 데이타로 하는 것도 가능하지만, 그와 같이 하면, 화소 데이타가 누락한 경우에 있어서의 영향이, 그만큼 커진다. 그래서, 1프레임의 비디오 데이타 중, 연속하는 영역이 아니라, 분산적으로 존재하는 소정의 영역의 화소 데이타로 구성되는 패킷 전송 블럭을 여러개 모아, 1개의 서브 블럭이 구성된다. 또한, 각 서브 블럭의 크기는 반드시 동일한 것은 아니다. 이 점에 대해서는, 도 43, 도 44 등을 이용하여 후에 상술한다.
다음에, CPU 블럭(261)의 컨트롤러(262)가 행하는 블럭 맵(304)의 작성 처리에 대해, 도 16의 플로우차트를 참조하여 설명한다. 이 블럭 맵(304)의 작성 처리는 소스 비디오 데이타를 각 하드디스크에 기록하기 전에 행해지는 처리이다. 즉, 디스크를 물리적으로 포맷한다고 하기 보다는, 이 작성한 블럭 맵(304)에 의해 이론적으로 포맷한다고 하는 표현이 적절할 것이다.
또, 이하의 설명에 있어서, 예를 들면 하드디스크(201-1 내지 201-32)를, 개개로 구별할 필요가 없는 경우, 단순히, 하드디스크(201)라 기술한다. 대응하는 디바이스가 여러개 존재하는 그 밖의 디바이스에 대해서도 마찬가지로 기술한다.
컨트롤러(262)는 블럭 맵(304)을 생성하기 위한 포맷 파라메터로서, 기록하여야 할 비디오 데이타의 1서브 블럭의 크기, SCAN 스케줄을 행할 때의 헤드의 평균 이동 거리 La, 사용하는 하드디스크(201)의 드라이브의 탐색 시간 Ts(L), 하드디스크(201)의 물리적 포맷(실린더수, 1트랙 내의 섹터 수, 실린더를 구성하는 미디아의 매수)을, 미리 결정해 놓고(서브 블럭의 사이즈의 결정에 대해서는, 도 27을 참조하고 후술), 이것을 참조하여, 각 서브 블럭의 하드디스크(201) 상에서의 위치를, 도 16에 도시한 스텝 S1 내지 S5의 순서로 결정한다.
헤드의 평균 이동 거리 La는, 하드디스크(201)의 총 실린더수 Lt와, 1회의 스캔으로 처리하는 억세스의 갯수 N으로부터 하기 수학식 1로 주어진다(후술하는 도 24의 (C) 참조).
La = Lt/(N-1)
드라이브의 탐색 시간 Ts(L)는 탐색 거리 L(실린더수)의 함수이고, 그 값은 사용하는 디스크 드라이브의 기계적 특성에 의해서 결정된다. 도 17에 그 예를 나타낸다. 스캔(SCAN) 알고리즘을 사용하여 몇개의 억세스 요청을 통합하여 처리할지는, 이 디스크 레코더(2)를 사용하는 어플리케이션의 성격, 거기서 구해지는 성능, 사용할 수 있는 데이타 버퍼(212)의 양 등으로부터 결정한다. 통합하여 스캔하는 억세스 요청의 수 N은 클수록 하드디스크의 랜덤 억세스 성능이 향상하지만, 필요한 데이타 버퍼의 양이 증가함과 동시에, 응답 시간이 증가한다고 하는 역효과가 있다.
도 16의 스텝 S1에서 1실린더 내에 존재하는 서브 블럭의 수(Bc)를 계산한다. 1실린더 내의 섹터의 총수는 트랙 내의 섹터수에 미디어의 매수를 곱한 것이다. 따라서, 1실린더 내의 섹터의 총수를, 1서브 블럭의 데이타를 저장하기 위해 필요한 섹터수로 나누면, Bc가 구해진다.
스텝 S2에서 갭 θgap을 구한다. 갭 θgap은, 서브 블럭의 선두 섹터와 최종 섹터와의 디스크의 중심으로부터 본 각도차이다. 예를 들면, 도 18에 도시한 바와 같이, 그림자를 붙여 나타낸 서브 블럭은, 그 선두가 트랙「1」의 섹터「0」, 그 말미가 트랙「2」의 섹터「6」이기 때문에, 그 갭 θgap은 원주의 5/12, 즉 5π/6라디안이다.
이상의 데이타를 기초로 스텝 S3에서 스큐 θskew를 구한다. 여기서, 스큐 θskew란, 도 19에 도시한 바와 같이, 하드디스크(201) 상의 인접하는 서브 블럭의 선두끼리의 원주 방향에 있어서의 디스크의 중심으로부터 본 각도차를 말한다. 우선, 1개의 서브 블럭의 기록 또는 판독이 끝난 시점에서의 헤드의 위치를 기점으로하고, 거기부터 L 실린더분만큼, 반경 방향으로 예를 들면 내주측으로 이동한 위치(트랙)에 있어서, 데이타의 선두가 원주 방향의 동일한 각도에 도달할 때까지의 시간 Td(L)를 식으로 나타내면, 하기의 수학식 2로 나타낸 바와 같이 된다.
Td(L) = (L·Bc·θ skew + θ gap + 2· m·π) /ω
여기서, L은 탐색 거리이고 단위는 실린더수, Bc는 1실린더 내에 존재하는 서브 블럭수, θskew는 스큐로 단위는 라디안, θgap은 갭으로 단위는 라디안, ω은 하드디스크(201)의 회전 속도(라디안/ 초), m은 Td(L)가 플러스가 되는 임의의 정수이다.
도 20은, 상기 수학식 2의 의미를 하드디스크(201) 상에서 설명하는 것이다. 도 20에 있어서, 마침, 서브 블럭「0」의 억세스가 종료한 것으로 한다. 이 때, 헤드는 중심으로부터 보아 각도 A의 방향에 있다. 지금, 동일한 서브 블럭「0」을 다시 억세스하는 것을 고려하면, 갭 θgap의 분만큼 디스크가 회전하는 것을 기다리지 않으면 안되기 때문에, θgap/ω의 대기 시간이 발생한다.
또한, 서브 블럭「0」보다 n트랙 (서브 블럭) 분만큼 내주의 서브 블럭「n」의 선두에 억세스하기 위해서는, 서브, 블럭「0」의 스타트 위치로부터, n 서브 블럭분의 스큐(nθskew)와의 합의 각도만큼, 하드디스크(201)의 회전을 기다리지 않으면 안된다. 이것에는, nθskew/ω의 시간을 요한다. 하드디스크(201)는 회전하고 있기 때문에, 이렇게 해서 얻어진 시간에, 회전 주기(Trot)의 정수배를 가한 시각에도 데이타의 선두는 헤드가 존재하는 위치에 도달한다. n 서브 블럭의 이동은, 실린더수에서는 n/Bc 실린더의 이동에 상당하므로, 횡축을 실린더수, 종축을 선두가 도착할 때까지의 대기 시간으로하여 그래프를 그리면, 도 21에 도시한 바와 같이 된다. 스큐 θskew를 크게 할수록 도 21의 직선군의 기울기는 커진다.
또, 이상의 의론에서는 중심으로부터 본 헤드의 원주 방향의 위치(각도)가, 중심으로부터의 거리에 상관 없이 일정하다고 하였다. 실제로는 헤드의 기구에 의해서는 정확하게 위치가 일정하지 않은 경우도 있지만, 그 영향은 충분히 작기 때문에 통상은 무시할 수 있다.
도 21에 도시한 바와 같이, 상기 수학식 2에 의해, 각 실린더에 있어서 서브 블럭의 선두가 헤드의 아래로 도달할 때까지의 시간이 얻어진다. 단, 이 시간 내에 헤드가 원하는 실린더까지 이동하고 있지 않으면 안되기 때문에, 대기 시간은 탐색 후에, 최초에 블럭의 선두가 나타날 때까지의 시간이 된다. 이것이 탐색과 회전 대기의 양쪽을 고려한 오버헤드 Td(L)이다. 도 22에 그 예를 나타내고, 하기 수학식 3에 그 정의를 나타낸다. 실제의 오버헤드(대기 시간) Td(L)은 도 22에 있어서 굵은 선으로 나타내었다. 또 탐색 시간 Ts(L)의 함수는 점선으로 나타내고 있다. 도면 중, Trot는 1회전 주기이다.
스텝 S3-1에서는, 수학식 2나 도 21에 있어서의 m=0의 직선의 방정식, 즉, 하기 수학식 3으로 나타내는 방정식을 구한다.
Td(L) = (L·Bc·θskew+θgap) /ω
계속되는 스텝 S3-2, S3-3 및 S3-4는, 이 직선이 항상 탐색 시간 Ts(L)보다도 위이고 (크고), 또한, 탐색 시간 Ts(L)에 거의 접하도록, 스큐 θskew를 선택하는 스텝이다.
즉, 스텝 S3-2에 있어서, 컨트롤러(262)는 스큐 θskew에 0을 초기 설정하고, 스텝 S3-3에 있어서, 탐색 시간 Ts(L)과, 오버헤드 Td(L)의 크기를 비교한다. 탐색 시간 Ts(L)의 쪽이, 오버헤드 Td(L)보다 작다고 판정된 경우, 스텝 S3-4로 진행하고, 컨트롤러(262)는, 스큐 θskew를 delta만큼 인크리멘트한다. 그리고, 스텝 S3-3으로 되돌아가서, 다시 탐색 시간 Ts(L)과 오버헤드 Td(L)의 크기를 비교한다.
이상과 같이 하여, 탐색 시간 Ts(L)가, 오버헤드 Td(L)와 같거나, 그 보다 크다고 판정될 때까지, 스텝 S3-3과 스텝 S3-4의 처리가 반복 실행된다. 스텝 S3-3에 있어서, 탐색 시간 Ts(L)가, 오버헤드 Td(L)와 같거나, 그 보다 크다고 판정된 경우, 도 22에 있어서, 탐색 시간 Ts(L)에 가장 가깝고, 또한, 그 보다 상측에 위치하는 m=0의 직선의 기울기(스큐 θskew)가 구해지게 된다.
스텝 S4, S5는 이상과 같이 하여 얻어진 스큐 θskew와 갭 θgap을 이용하여, 하드디스크(201)의 전 영역에 걸쳐, 각 서브 블럭의 디스크 상의 위치를 결정하는 것이다. 스텝 S4에서 우선 물리 어드레스(실린더/미디어/섹터)의 포인터를 (0/0/0)으로 초기화한다. 다음의 스텝 S5는 모든 서브 블럭에 대해 반복하는 루프이고, 루프의 내부에서는, 우선 스텝 S5-1에서, 물리 어드레스 테이블(302)을 참조하여, 물리 어드레스로부터 논리 섹터 번호를 얻고, 스텝 S5-2에서, 이것과 물리 어드레스 등의 정보를 블럭 맵(304)에 기록한다.
여기까지의 처리가 끝나면, 다음 서브 블럭의 처리의 준비로서, 물리 어드레스의 포인터 Ppa를 스텝 S5-3에 있어서 갱신한다. 스텝 S5-4에서는, 모든 서브 블럭에 대해, 스텝 S5-1 내지 S5-3의 처리를 행하였는지의 여부를 판단하여, 행하지 않고 있으면, 처리되고 있지 않은 서브 블럭에 대해, 스텝 S5-1 내지 S5-3의 처리를 행한다. 여기서, 제N번째의 서브 블럭의 하드디스크(201) 상의 배치는,
(1) 할당한 서브 블럭보다 후방(외주측으로부터 순차 할당하고 있는 경우에는 내주측, 내주측으로부터 순차 할당하고 있는 경우에는 외주측)이고,
(2) 또한 제0 블럭의 선두와의 각도차가 Nθskew에 가장 가까운 섹터를 선두로 하는 영역이다.
이와 같이, 이상의 플로우를 실행함으로써, 도 14 및, 도 15에 도시되는 바와 같은 블럭 맵(304)을 작성할 수 있다. 또한, 이 블럭 맵(304)이 작성될 때에는, 아직 실제의 비디오 데이타 및 패리티 데이타는 디스크 상에는 기록되어 있지 않다. 즉, 실제로 비디오 데이타를 디스크 상에 기록하기 전에, 도 14 및 도 15에 도시되는 바와 같은 블럭 맵(304)이 작성되어 있다는 것이다.
즉, 이 블럭 맵(304)은, 이 미리 작성된 블럭 맵(304)에 따라서 비디오 데이타 및 패리티 데이타가 기록되도록, 디스크 상의 기록 영역을 이론적으로 포맷하기 위한 데이타라고 말할 수 있다. 다시 말해서, 이 블럭 맵(304)은, 블럭 맵(304)에 따라서 비디오 데이타 및 패리티 데이타가 기록되도록, 디스크 상의 기록 영역을 예약하기 위한 데이타라고 말할 수 있다.
따라서, 도 15에 도시된 블럭 맵의 예에서는, 블럭 번호(프레임 번호) 1로 나타나는 프레임의 패리티 데이타 P1이, 디스크 ID가 1로 나타나는 하드디스크 상의 번호 0의 개시 논리 섹터로부터, 567섹터분의 영역(최외주의 영역)에 기록되도록, 디스크 상의 기록 영역이 예약되고, 또한, 이 블럭 번호 1로 나타나는 프레임의 제1번째의 서브 블럭의 데이타 S1-1이, 디스크 ID가 2로 나타나는 하드디스크 상의 번호 599600의 개시 논리 섹터로부터, 393섹터분의 영역(최내주의 영역)에 기록되도록, 디스크 상의 기록 영역이 예약되고, 이하 마찬가지로, 이 프레임의 제2번째의 서브 블럭의 데이타 S1-2가, 디스크 ID가 3으로 나타나는 하드디스크 상의 번호 0의 개시 논리 섹터로부터, 567섹터분의 영역(최외주의 영역)에 기록되도록 디스크 상의 기록 영역이 예약되고, 제3번째의 서브 블럭의 데이타 S1-3은, 디스크 ID가 4로 나타나는 하드디스크 상의 번호599600의 개시 논리 섹터로부터, 393섹터분의 영역(최내주의 영역)에 기록되도록 디스크 상의 기록 영역이 예약되고, 제4번째의 서브 블럭의 데이타 S1-4는, 디스크 ID가 5로 나타나는 하드디스크 상의 번호 0의 개시 논리 섹터로부터, 567섹터분의 영역(최내주의 영역)에 기록되도록 디스크 상의 기록 영역이 예약되어 있다는 것을 나타내고 있다.
다음에, 이 실시 형태에 있어서의 리얼 타임성을 보증할 때에 고려하여야 할 최악의 오버헤드에 대해 설명한다.
도 23은, 도 19에 도시한 바와 같이 각 서브 블럭이 배치된 디스크의 오버헤드 타임을 나타내고 있다. 횡축은 탐색 거리, 즉, 하드디스크(201)의 헤드가 이동할 때에 가로지르는 실린더수 L을 나타내고 있고, 종축은 그 때에 걸리는 시간 Td(L)를 나타내고 있다. 일점 쇄선이 탐색 시간 Ts (L)이고, 실선이 전체의 오버헤드 타임 Td (L)이다. 오버헤드 타임은, 탐색 시간 Ts(L)과 회전 대기시간 Trd와의 합이기 때문에, 실선과 일점 쇄선의 차가 회전 대기 시간 Trd로 된다.
일반적으로 억세스 요청은 하드디스크(201) 상의 모든 장소에 대해 발생한다. 1회의 스캔으로 처리하는 장소는, 도 24의 (A)나 (B)에 도시한 바와 같이, 분포에 기울기가 있거나, 반대로 도 24의 (C)에 도시한 바와 같이, 균등하게 분포하거나 한다. 도 24의 예에서는, 6개의 억세스 요청의 사이를 이동하기 때문에, 5회의 랜덤 억세스와 그것에 수반하는 오버헤드가 발생한다. 그 1개씩에 대해, 도 22에서 굵은 선으로 나타낸 오버헤드가 발생한다. 이 5회의 랜덤 억세스에 대한 오버헤드의 총합이 최악으로 되는 것은, 도 23에 도시한 바와 같이, 오버헤드의 함수 Td(L) 상에 볼록인 경우, 도 24의 (C)에 도시한 바와 같이, 모든 억세스가 균등하게 분포하고 있을 때이다. 분포에 기울기가 있을 때에는, 오버헤드의 총합은 이것보다도 적어진다. 바꿔 말하면, 헤드의 평균 이동 거리 La (=L/5) 에 있어서의 오버헤드가 반복 발생할 때, 오버헤드의 총합은 최악(최대)이 된다.
도 16에 도시한 스텝 S3에서는, 상기 수학식 2로 주어지는 회전 대기의 직선군의 1개가 탐색 시간 Ts(L)보다도 위에서, 또한, 되도록이면 그것에 가깝도록 스큐 θskew를 선택하였다. 이것에 의해, 거리 La 부근에서 Td(L)를 작게 할 수 있고, 나아가서는 최악의 오버헤드 Tmax를 작게 할 수 있다.
도 25는, 상기한 방법에 의한 (FARAD (상표) 방식에 의한) 알고리즘을 이용한 경우에 있어서의 오버헤드의 길이를 모식적으로 나타내고 있다. 동 도면에 도시한 바와 같이, 억세스를 발생한 순서대로 행하는 종래의 방식에 비해, 억세스를 여러개 통합하고, 통합한 범위 내에서 외주로부터 내주를 향해 순서대로 억세스를 행하고, 또한, 반대로, 내주로부터 외주를 향해 순서대로 억세스를 행하도록 한 SCAN 방식에서는, 탐색 시간을 감소시킬 수 있어, 그만큼, 오버헤드를 짧게 할 수 있다. 그러나, 이 SCAN 방식도, 종래의 경우에 비해 탐색 시간은 짧게 할 수 있지만, 회전대기 시간은 짧게 할 수 없다. 그것에 대해, 상기한 방법(FARAD (상표) 방식)에서는, 탐색 시간을 SCAN 방식과 같이 짧게 할 수 있을 뿐만 아니라, 회전 대기 시간도, 종래의 경우(SCAN 방식의 경우)보다 짧게 할 수 있어, 따라서 전체적인 오버헤드를 SCAN 방식의 경우보다 짧게 할 수 있다.
이상 설명한 바와 같이, 본 실시 형태에서는 스큐 θskew와 갭θgap을 적절하게 (스큐 θskew가 갭θgap에 대응하도록) 선택함으로써, 헤드의 평균 이동 거리 La에서의 오버 헤드 Td(L)를 최저한으로 억제하는 것이 가능하고, 이에 따라 회전 대기 시간을 작게 할 수 있다.
도 16에 도시된 플로우차트의 처리에서는, 서브 블럭의 크기는 부여된 고정값이었지만, 서브 블럭의 크기를 어느 정도의 범위에서 선택 가능하다. 이 경우는 갭θgap과 스큐 θskew의 양쪽을 변화시킬 수 있으므로, 평균 이동 거리 La 부근에서 탐색 시간에 접근하도록, 보다 정밀하게 직선의 위치를 제어할 수 있다. 이 점에 대해서는, 나중에 상술하겠다.
이상의 방법에 따라, 서브 블럭사이의 이동에 따르는 오버헤드는 크게 개선된다. 그러나 서브 블럭이 크고, 복수의 트랙, 혹은 복수의 실린더에 걸친 경우에는, 트랙 변경에 수반하는 시간이나 인접 실린더에의 이동 시간도 고려해야한다. 트랙의 변경도 인접 실린더에의 이동도, 필요한 시간은 각각 일정하므로, 이 시간을 거친 후에, 정확히 헤드 밑으로 데이타가 도착하도록, 트랙 사이 혹은 실린더 사이에서 스큐를 부여해 둠에 따라, 트랙의 변경이나 실린더의 이동에 따라, 서브 블럭 내에서 긴 회전 대기가 발생하는 것을 억제할 수 있다.
이어서, 컨트롤러(262)가, 헤드의 이동량이 최소가 되도록, 헤드의 억세스 순서를 결정하는 스케쥴링하는 SCAN 알고리즘에 대해 설명한다. 도 26은, 이 SCAN 알고리즘에 기인하는 스케쥴링의 처리의 플로우차트를 나타내는 것이다. 스텝 S11에서 컨트롤러(262)는 SCSI 컨트롤러(202)를 제어하고, 하드 디스크(201)의 헤드를 실린더「#0」로 이동시킨다. 계속해서 실제의 스케줄을 행하는 스텝 S12로 이동시킨다.
스텝 S12에서는, 스텝 S12-1에서 컨트롤러(262)는, 시간적으로 앞의(오래된) 것으로부터 순서대로 N 개의 억세스 요구를 내장하는 억세스 요구 버퍼 (도시하지 않음)로부터 판독한다. 이 억세스 요구 버퍼에는, 호스트 퍼스널 컴퓨터(3)로부터 공급된 억세스 요구가 입력된 순서대로 유지되어 있다. 억세스 요구 하나에는, 억세스해야 할 서브 블럭의 번호와, 데이타 전송에 사용되는 데이타 버퍼(212)의 선두 어드레스가 기술되어 있다. 또한, 개수 N은 미리 호스트 퍼스널 컴퓨터(3)로부터 부여되는 정수이다.
스텝 S12-2에서, 컨트롤러(262)는, N 개의 억세스 요구의 각각에 대해 블럭 맵(304)을 참조하여, 억세스해야 할 서브 블럭의 물리 어드레스(실린더 번호, 미디어 번호, 섹터 번호)를 알 수 있다. 계속해서 스텝 S12-3에서, 이들 N 개의 억세스 요구를 실린더 번호가 작은 순서대로 (외주측으로부터 내주측 순서대로) 재나열한다. 이 조작에 따라 SCAN 알고리즘의 스케줄이 실현된다.
스텝 S12-4에서는, 재나열된 이들 억세스 요구를, 실린더 번호가 작은 것으로부터 순서대로, SCSI 컨트롤러(202)를 통해 하드 디스크(201)로 이송하고, 실제의 억세스와 데이타 전송을 행한다. 1서브 블럭분의 억세스 지시를 내리면, 스텝 S12-5에서 데이타 전송의 종료를 대기하고, 계속해서 다음 억세스 지시를 내린다. 스텝 S12-6에서, 모든 리퀘스트의 전송을 완료했는지의 여부를 판정하고, 아직 전송하지 않은 리퀘스트가 있을 때는, 스텝 S12-4로 복귀하고, 동일한 처리를 실행한다. 이것을 N회 반복함으로써, 스텝 S12-6에서, N 개의 억세스 요구의 처리가 종료했다고 판정된다.
이어서, 스텝 S12-7에서 N 개의 억세스의 처리가 종료한 것을 호스트 퍼스널 컴퓨터(3)에 통지하여, 상기 N개의 억세스 요구에 관한 일련의 처리가 종료한다.
또한, 마지막 스텝 S12-8에서, 억세스 요구가 모두 처리되고, 억세스 요구 버퍼가 비었는지의 여부가 판단된다. 억세스 요구가 남아있는 경우, 컨트롤러(262)는 스텝 S12-1로 복귀하고, 다음 N 개의 억세스 요구를 추출하여 처리를 속행한다. 혹시 억세스 요구 버퍼에 N 개의 리퀘스트가 없으면, N 개의 리퀘스트가 축적될 때까지, 이 스텝에서 대기하고, N 개의 리퀘스트가 축적되면, 스텝 S12-1로 복귀하고, 동일한 처리가 실행된다.
또한, 컨트롤러(262)는, 하드 디스크(201)의 외측으로부터 내측의 전 영역에 걸쳐 갭θgap과 스큐 θskew가 대략 일정해지도록, 서브 블럭의 크기 및 서브 블럭의 기록 개시 위치를 결정함으로써, 억세스의 리얼 타임성을 더욱 높일 수 있다. 실제로는, 컨트롤러(262)는, 하드 디스크(201)의 외측으로부터 내측의 전 영역에 걸쳐 갭 θgap과 스큐 θskew가 대략 일정해지도록, 블럭 맵(304)이 생성된다.
이어서, 도 27 내지 도 32의 플로우차트를 참조하여, 컨트롤러(262)가 k번째의 서브 블럭을 소정의 하드 디스크(201)의 소정의 트랙에 배치하는 경우의 처리 순서에 대해 설명한다.
최초로, 스텝 S31에서 전부 m개(도 7의 실시 형태의 경우, m=32) 있는 하드 디스크(201)로부터, 오류 정정용 데이타로서의 패리티 데이타 및 n 개의 서브 블럭의 데이타를 저장하는 합계 n+1 개의 하드 디스크(201)를 선택한다. 이 예에서는, 우선 패리티 데이타를 저장하는 하드 디스크(201)를 선택하고, 이어서 서브 블럭의 데이타를 내주측으로부터 순차 배치하는 하드 디스크(201)와, 서브 블럭의 데이타를 외주측에서 순차 배치하는 하드 디스크(201)를 선택하고 있다.
각 서브 블럭에 1 내지 n의 번호를 붙였을 때, 예를 들면 홀수번째의 서브 블럭은 하드 디스크(201)에 내주측으로부터 순차 배치하고, 짝수번째의 서브 블럭은 하드 디스크(201)에 외주측으로부터 순차 배치한다. 또한, 소수의 하드 디스크(201)에 집중하여 서브 블럭이 배치되지 않도록, 데이타에 의해 배치하는 하드 디스크(201)를 어긋나게 선택하도록 한다.
도 28은, 도 27의 스텝 S31의 처리의 상세한 내용을 나타내는 플로우차트이다. 이 도 28에서, k는 데이타 번호에서 k=1, 2, ···, m은 하드 디스크수, n은 데이타를 분할하는 수, i = 1, 2, ···, n, 이다. 즉, 스텝 S41에서 패리티 데이타를 배치하는 하드 디스크(201)로서, 다음 수학식 4에서 나타내는 j번째의 하드 디스크(201)를 선택한다.
j = MOD(k-1, m) + 1
여기서, MOD는 k-1을 m(하드 디스크(201)의 총수)으로 나눈 나머지를 연산하는 연산자이다.
이 처리에 따라, 예를 들면 지금 하드 디스크(201)의 수m를 32로 할 때, j = 1, 2, 3, · · ·, 31, 32, 1, 2, ··· 라고 한 순서로, 각 하드 디스크(201)가 선택된다.
이어서, 스텝 S42에서 제i번째(i = 1, 3, 5, ·· ·)의 서브 블럭의 데이타를, 내주측으로부터 순차 배치하는 하드 디스크(201)로서, 다음 수학식 5로 나타내는 j번째의 하드 디스크(201)를 선택한다.
j = MOD (k+i-1, m) +1
이로서, 예를 들어 i=1일 경우(제1번째의 서브 블럭을 기록할 경우), j로서 2, 3, 4, ···, 32, 1, 2, ···의 순서로, 하드 디스크(201)가 선택되고, i=3일 경우(제3번째의 서브 블럭를 기록할 경우), 4, 5, 6, ···, 32, 1, 2, ···의 순서로 하드 디스크(201)가 선택된다.
이어서, 스텝 S43으로 진행하고, 제i번째 (i = 2, 4, 6, · ··)의 서브 블럭의 데이타를, 외주측으로부터 순차 배치하는 하드 디스크(201)로서, 상기 수학식 5로 나타내는 j번째의 하드 디스크(201)를 선택한다.
이로써, 예를 들어 i=2일 경우(제2번째의 서브 블럭을 기록할 경우), j = 3, 4, 5, ···, 32, 1, 2, ···의 하드 디스크(201)가 선택되고, i = 4일 경우(제4번째의 서브 블럭을 기록할 경우), j = 5, 6, 7, ···, 32, 1, 2, ···의 하드 디스크(201)가 순차 선택된다.
이와 같이, 외주측의 트랙과 내주측의 트랙을 교대로 페어(쌍)로 이용함으로써, 보다 내주측의 서브 블럭의 크기를, 보다 외주측의 서브 블럭의 크기보다 작게 하는 것이 가능해지고, 각 서브 블럭의 갭 θgap을 일정하게 할 수 있다.
도 28에 도시된 플로우차트에서는, 서브 블럭의 데이타를, 내주측으로부터 순차 배치하는 서브 블럭과, 외주측으로부터 순차 배치하는 서브 블럭을 교대로 결정해 갔지만, 균형이 잡혀 있으면, 교대가 아니라도 상관없다. 즉, 서브 블럭을 순서대로, 내주측으로부터 순차적으로 하드 디스크(201)에 배치하고, 이어서 나머지의 서브 블럭을 순서대로 외주측에서 순차적으로 하드 디스크(201)에 배치하도록 해도 좋다.
또한, 서브 블럭이 소수의 하드 디스크(201)에 집중하지 않으면, 상기 수학식 4와 수학식 5로 나타내는 j번째의 하드 디스크(201)를 선택하지 않아도 상관없다. 예를 들어, 내주측으로부터 순차적으로 서브 블럭을 배치하는 하드 디스크(201)는, 내주를 그다지 사용하지 않는 하드 디스크(201) 중에서 선택하고, 또한 외주측으로부터 순차적으로 서브 블럭을 배치하는 하드 디스크(201)는, 외주를 그다지 사용하지 않는 하드 디스크(201) 중에서 선택하는 방법도 유효하다. 어느 경우로 해도, 패리티 데이타는 스텝 S41에서 선택된 하드 디스크(201) 상의 외주측으로부터 순차 배치한다.
이상과 같이 하여, 하드 디스크(201)를 결정하면 리턴하고, 이어서 도 27의 스텝 S32로 진행한다.
스텝 S32에서는, 선택된 각 하드 디스크(201) 상에서, 패리티 데이타 및 서브 블럭의 데이타의 배치를 개시하는 개시 논리 섹터를 결정한다.
도 29는, 이 개시 논리 섹터를 결정하는 처리 순서를 나타내는 플로우차트이다. 우선, 스텝 S51에서 외주측으로부터 순차적으로 패리티 데이타를 배치하는 하드 디스크(201)에 대해, 개시 논리 섹터 어드레스 Lkp를 구한다.
도 30은, 도 29의 스텝 S51에서의 처리의 상세함을 나타내는 플로우차트이다. 최초로, 스텝 S61에서 서브 블럭(지금의 경우, 패리티 데이타)을 배치하는 트랙으로서, 서브 블럭(패리티 데이타)이 배치되어 있지 않은 미배치 영역 중에서의 최외주 트랙을 선택한다. 미배치 영역은, 얼로케이션 맵(303)으로부터 알 수 있다. 이로써, 물리 섹터 어드레스의 실린더 번호(CYLki), 미디어 번호(MEDki)가 결정되고, ZBR 테이블(301)을 참조하여 이 배치 장소에서의 1트랙당의 섹터수(Tki)를 알 수 있다.
이어서, 스텝 S62에서 실린더 번호(CYLki)와 최적인 스큐(θskew)의 값으로부터, 다음 수학식 6에 의해, 스텝 S61에서 선택된, 미배치 영역 중의 최외주 트랙(실린더 번호 CYLki)의 선두와, 물리적인 최외주 트랙(최초의 서브 블럭의 데이타가 기록된 트랙 ; 실린더 번호 0의 트랙)의 선두 사이(양트랙 사이의 실린더수는, CYLki 가 됨)가 이루는 각도 θki를 구할 수 있다.
θki=θskew×CYLki
단, θki〉2π일 때, θki〈2π가 될 때까지, θki=θki-2π의 처리를 반복한다.
이어서, 스텝 S63으로 진행하고, 수학식 6으로 구한 각도 θki와, 트랙당의 섹터수(Tki)로부터, 다음 수학식 7에 의해 섹터 번호(SECki)를 구할 수 있다.
SECki=ROUNDUP (Tki×θki/2π)
여기서, ROUNDUP는, 우수리를 반올림한 정수를 구하는 연산자를 의미한다.
이어서, 스텝 S64에서 물리 어드레스 테이블(302 ; 도 13)을 참조하여, 스텝 S61 내지 S63에서 구한 물리 섹터 어드레스(CYLki, MEDki, SECki)로부터 논리 섹터 어드레스(Lki ; 지금의 경우, Lkp)를 결정하여, 리턴한다.
이어서, 도 29의 스텝 S52로 진행하고, 내주측에서 순차 배치하는 모든 하드 디스크(201)에 대해, 각각의 개시 논리 섹터 어드레스 Lki(i=1, 3, 5, · · ·) 를 구한다.
도 31은, 도 29의 스텝 S52에서의 처리의 상세함을 나타내는 플로우차트이다. 최초로, 스텝 S71에서 물리 어드레스 테이블(302 ; 도 13)을 참조하여, 서브 블럭을 배치하는 트랙으로서, 미배치 영역 중에서의 최내주 트랙을 선택한다. 이로써, 물리 섹터 어드레스의 실린더 번호(CYLki), 미디어 번호(MEDki)가 결정되고, ZBR 테이블(301)을 참조하여, 이 배치 장소에서의 1트랙당의 섹터수(Tki)를 알 수 있다.
이어서, 스텝 S72에 있어서, 스텝 S71에서 선택된, 미배치 영역 중의 최내주 트랙의 선두와, 물리적인 최내주 트랙(최초의 서브 블럭의 데이타가 기록된 트랙)의 선두 사이가 이루는 각도 θki를 구하고, 스텝 S73에서 섹터 번호(SECki)를 구한다. 그리고, 스텝 S74에서 구한 물리 섹터 어드레스(CYLki, MEDki, SECki)로부터 논리 섹터 어드레스(Lki)를 결정하여, 리턴한다. 상술된 스텝 S72 내지 S74에서의 처리는, 트랙을 외주측으로부터가 아니라, 내주측으로부터 순차적으로 선택하는 점을 제외하고, 기본적으로는 도 30의 스텝 S62 내지 S64에서의 처리와 동일한 처리이므로, 여기서는 그 상세한 설명은 생략한다.
이어서, 도 29의 스텝 S53으로 진행하고, 서브 블럭의 데이타를 외주측으로부터 순차 배치하는 모든 하드 디스크(201)에 관하여, 각각의 개시 논리 섹터 어드레스 Lki(i = 2, 4, 6, ···)를 구한다. 여기서의 처리 순서는, 도 30의 플로우차트를 참조하여 상술한 경우와 마찬가지이기 때문에, 여기서는 그 설명은 생략한다. 그리고, 처리가 종료하면 리턴한다.
도 29 내지 도 31에 도시된 처리예에서는, 서브 블럭을 외주측으로부터 순차적으로 각 트랙에 배치할 경우, 서브 블럭을 배치하는 트랙을 미배치 영역 중의 최외주 트랙으로부터 선택하고, 서브 블럭을 내주측으로부터 순차적으로 각 트랙에 배치할 경우, 서브 블럭을 배치하는 트랙을 미배치 영역 중의 최내주 트랙으로부터 선택하는 것으로 했지만, 반드시 최외주 트랙이나 최내주 트랙을 선택할 필요는 없다. 예를 들면, ZBR 방식의 포맷에서는 동일한 존이면, 트랙당 섹터수도 동일하고, 각 서브 블럭의 사이즈 및 갭의 값은 변하지 않기 때문이다.
이상과 같이 하여, 개시 논리 섹터 어드레스를 구하면, 이어서 도 27의 스텝 S33으로 진행하고, 패리티 데이타와 각 서브 블럭의 사이즈가 결정된다. 서브 블럭 사이즈를 결정할 경우의 처리 순서에 대해서는, 도 32의 플로우차트를 참조하여 후술한다.
이어서, 각 서브 블럭(패리티 데이타의 경우를 포함함)의 사이즈(섹터수)는 어떻게 되는지를 생각해 본다. 우선, 각 서브 블럭 사이즈의 합은, 원래의 1블럭의 데이타의 사이즈와 동일하다. 즉, 각 서브 블럭의 사이즈(섹터수)를 Ski(i=1, 2, 3, ···, n)로 하고, 원래의 1블럭의 데이타 사이즈(섹터수)를 S로 하면, S는 다음 수학식 8로 나타낸다.
Sk1+Sk2+, · · ·, +Skn=S
한편, 각 서브 블럭의 판독 시간 또는 기록 시간이 동일해지기 위해서는, 각 서브 블럭의 갭θgap의 값이 동일해져야 한다. 즉, 다음 수학식 9가 성립해야 한다.
Sk1/Tk1=Sk2/Tk2=, · · ·, =Skn/Tkn
상기 수학식 9에서, Tki (i = 1, 2, 3, · · ·, n)는, i번째의 서브 블럭이 배치되는 트랙의 섹터수이다.
수학식 8 및 수학식 9로부터, 각 서브 블럭의 갭θgap의 값을 일정하게 하기 위한 각 서브 블럭의 섹터수 Ski는 다음 수학식 10으로 부여된다.
Ski=S×Tki/T
단, T=Tk1+Tk2+, · · ·, +Tkn 으로 한다.
실제로는, 섹터수 Ski는 정수로 부여되므로, 각 사이즈는 약간의 미조정이 필요하다.
한편, 패리티 데이타의 사이즈 Skp는, 각 서브 블럭의 사이즈가 결정되어 있을 때, 다음 수학식 11로 부여된다.
Skp=MAX(Sk1, Sk2, · · ·, Skn)
수학식 11에서, MAX는 서브 블럭의 사이즈 Sk1 내지 Skn 중, 가장 큰 것을 구하는 연산자이다.
패리티 데이타는, 도 27의 스텝 S31 및 스텝 S32로부터, 하드 디스크(201)의 외주로부터의 트랙에 배치되는 것이 보증되어 있으므로, 다음 수학식 12가 성립하는 것을 알 수 있다.
Sk1/Tk1=Sk2/Tk2=, ···, = Skn/Tkn=Skp/Tkp
여기서, Tkp는 서브 블럭 Skp가 배치되는 트랙의 섹터수이다.
이상의 서브 블럭의 사이즈를 결정하는 순서를 실현하는 플로우차트가 도 32에 나타낸 것이다. 최초로, 스텝 S81에서 n 개의 서브 블럭이 배치되는 배치 장소에 대응하는 트랙의 1트랙당의 섹터수 Tki (i=1, 2 , . . . , n)의 합 T을 구한다. 이어서, 상기 수학식 10에서 나타내는 연산을, 변수 i가 1로부터 n 까지에 대해 행하고, 각 서브 블럭의 사이즈 Ski(i=1, 2, ···, n)를 구한다.
이어서, 스텝 S82로 진행하고, 상기 수학식 8에서 나타내는 연산을 행하고, 스텝 S81에서 구한 각 서브 블럭의 사이즈 Ski의 합이, 원래의 1블럭의 데이타 사이즈 S와 동일한지의 여부가 판정된다. 각 서브 블럭의 사이즈 Ski의 합이, 원래의 1블럭의 데이타 사이즈 S와 같지 않다고 판정되었을 경우, 스텝 S83으로 진행하고, 각 서브 블럭의 사이즈 Ski의 합이, 원래의 1블럭의 데이타 사이즈 S와 동일해지도록, 각 서브 블럭의 사이즈 Ski를 미증감시킨다. 그 후, 스텝 S82로 되돌아가고, 각 서브 블럭의 사이즈 Ski의 합이, 원래의 1블럭의 데이타 사이즈 S와 같다고 판정될 때까지, 스텝 S82 및 S83의 처리가 반복된다.
한편, 스텝 S82에서 각 서브 블럭의 사이즈 Ski의 합이, 원래의 1블럭의 데이타 사이즈 S와 동일하다고 판정되었을 경우, 스텝 S84로 진행하고, 패리티 데이타의 사이즈 Skp를 구할 수 있다. 즉, 서브 블럭 Ski 중 가장 큰 사이즈가 패리티 데이타의 사이즈 Skp로 된다.
스텝 S84의 처리가 종료하면, 리턴한다. 이로써, 도 23에 도시된 플로우차트의 스텝 S33의 처리가 종료하고, 모든 처리를 종료한다.
이상과 같이 하여, 각 하드 디스크(201)에서 각 서브 블럭의 갭θgap이 일정해지도록, 내주측에 배치되는 서브 블럭의 사이즈를 작게 하고, 외주측에 배치되는 서브 블럭의 사이즈를 크게 한다.
도 33은, 이상과 같이 하여 하드 디스크(201)에서 분배된 서브 블럭의 예를 나타내고 있다. 여기서는, 하드 디스크(201)의 수m를 6으로 하고, 서브 블럭의 수m를 4로 하고 있다.
1번째의 프레임의 패리티 데이타는, 하드 디스크(201-1)에, 그것에 대응하는 4개의 서브 블럭은, 하드 디스크(201-2 내지 201-5)에서 분배하여 배치된다. 하드 디스크(201-1)에 배치되는 패리티 데이타와, 하드 디스크(201-3, 201-5)에 배치되는 서브 블럭은, 최외주 트랙으로 받아들이고, 하드 디스크(201-2, 201-4)에 배치되는 서브 블럭은, 최내주 트랙으로 받아들여진다.
또한, 2번째 프레임의 패리티 데이타는 하드 디스크(201-2)에, 서브 블럭은 하드 디스크(201-3 내지 201-6)에, 각각 외주로부터, 내주로부터, 외주로부터, 내주로부터, 외주로부터의 순서로 받아들여지고, 3번째 프레임의 패리티 데이타는, 하드 디스크(201-3)에, 서브 블럭은 하드 디스크(201-4 내지 201-6), 및 하드 디스크(201-1)에, 각각 외주로부터, 내주로부터, 외주로부터, 내주로부터, 외주로부터의 순서로 받아들여진다. 이하 마찬가지로 하여, 각 프레임의 데이타가 배치되고, 마지막 프레임의 데이타는, 예를 들면 하드 디스크(201-3 내지 201-6) 및 하드 디스크(201-1)의 실린더의 거의 중간쯤에 배치된다.
이와 같이 배치된 패리티 데이타와 서브 블럭을, 하나의 하드 디스크(201)에 주목하여 관찰해 보면, 각 서브 블럭의 갭 θgap 및 스큐 θskew의 값이 거의 동일하기 때문에, 각 서브 블럭의 판독 및 기록에 필요한 시간이 거의 일정해진다.
이상과 같이, 상기 실시 형태에서는 하드 디스크(201) 상에서의 데이타의 저장 장소에 상관 없이, 패리티 데이타 및 서브 블럭을 실제로 판독 혹은 기록을 행하는 시간을 일정하게 할 수 있다.
또한, 상기 실시 형태에서는 데이타에 억세스할 경우, 외주로부터 내주 방향으로 스캔하도록 했지만, 내주로부터 외주 방향으로 스캔하도록 하는 것도 가능하다. 그 경우, 내주로부터 외주에 헤드를 이동시키면서, 데이타에 억세스할 때에 최적인 스큐를 설정하도록 할 수 있다.
이어서, RAID 컨트롤러(282)에서의, 패리티 데이타를 생성하고, 이것을 이용하여 오류를 보정할 경우의 동작에 대해 설명한다. 예를 들면, 도 15에 도시된 바와 같이, 외주에 기록되는 서브 블럭의 사이즈는, 내주에 기록되는 서브 블럭의 사이즈보다 크게 되어, 하나의 블럭이 4개의 서브 블럭 #1 내지 서브 블럭 #4로 분할된다.
패리티 데이타의 사이즈는, 분할된 서브 블럭 중 가장 사이즈가 큰 서브 블럭의 사이즈와 동일해지도록 설정된다.
기본적으로는, j번째의 패리티 데이타 Pj는, 각 서브 블럭의 j번째의 데이타로부터 생성된다. 도 34의 (A)에 도시된 바와 같이, j의 값이 작을 경우, 모든 서브 블럭에 대응하는 j번째의 데이타가 존재하므로, 모든 서브 블럭 #1 내지 #4의 데이타로부터, 패리티 데이타 Pj가 생성된다. 한편, j가 어느 정도보다 커지면, 도 34의 (B)에 도시된 바와 같이, 서브 블럭 #1, #3에서는 j번째의 데이타가 존재하지 않게 된다.
이와 같은 경우, 사이즈가 j 이상인 서브 블럭 #2, #4로부터 j번째의 데이타에 기초하여, 패리티 데이타 Pj가 생성된다. 혹은, 서브 블럭 #1, #3에 미리 결정된 소정의 데이타를 부가하고, 모든 서브 블럭의 데이타로부터 패리티 데이타 Pj를 생성하도록 할 수도 있다. 또, 패리티 데이타를 발생하는 알고리즘에는 여러가지 종류가 있지만, 여기서는 그 상세한 내용까지를 진술할 필요가 없으므로 생략한다.
다음에, 데이타의 오류를 정정할 경우의 동작은 다음과 같다. 즉, 예를 들면 소정의 서브 블럭의 j번째의 데이타가 잘못되어 있을 경우, 기본적으로는 다른 서브 블럭의 j번째의 데이타와 패리티 데이타를 이용하여 오류를 정정한다. 예를 들면, 도 35의 (A)에 도시된 바와 같이, j의 값이 작을 경우, 모든 서브 블럭의 j번째의 데이타로부터 패리티 데이타가 생성되어 있기 때문에, 패리티 데이타의 j번째의 데이타와 오류가 없는 서브 블럭 #1 내지 #3의 모든 j번째의 데이타를 이용해, 오류가 있는 서브 블럭 #4의 j번째의 데이타의 정정을 행한다.
한편, 도 35의 (B)에 도시된 바와 같이, j의 값이 어느 정도 커지면, 사이즈가 j 이상인 서브 블럭의 j번째의 데이타로부터 패리티 데이타가 생성되기 때문에, 사이즈가 j 이상인 서브 블럭 중 오류가 없는 서브 블럭 #2와, 패리티 데이타를 사용하여 오류가 있는 서브 블럭 #4의 j번째의 데이타의 정정을 행한다.
본 실시 형태에서는, 이와 같은 패리티 데이타의 생성과, 패리티 데이타를 이용한 오류 정정 처리는, 리얼 타임으로 행해지도록 이루어져 있다. 도 36은, 그와 같은 처리를 행하는 부분의 구성을 나타내고 있다.
이 도 36에 도시된 바와 같이, 비디오 블럭(271-1)의 RAID 컨트롤러(282-1)는, 데이타를 1패킷 전송 블럭분만큼 지연시키는 지연 소자(401-1 내지 403-1)를 구비하고 있다. RAID 컨트롤러(282-1)는, 비디오 프로세서(283-1)로부터 10비트의 버스를 통해 공급되는 화소 데이타로부터 패리티 데이타를 생성하고, 32비트의 버스를 통해 FIFO 404-1로 공급함과 동시에, 화소 데이타를 32비트의 버스를 통해 FIFO 405-1로 공급하도록 이루어져 있다. 또한, RAID 컨트롤러(282-1)는, DMA 컨트롤러(281-1)로부터 64비트의 버스와 FIFO 406-1을 통해 공급된 화소 데이타(재생 데이타)에 대해, 패리티 데이타에 기초한 오류 정정 처리를 행하고, 10비트의 화소 데이타 단위로 비디오 프로세서(283-1)로 공급하도록 이루어져 있다.
도 37의 (A), 도 37의 (B)는, RAID 컨트롤러(282-1)에서의 10비트의 데이타와 32비트의 데이타의 변환 처리의 예를 나타내고 있다. 제1 모드가 설정되어 있을 경우, RAID 컨트롤러(282-1)는, 도 37의 (A)에 도시된 바와 같이 비디오 프로세서(283-1)로부터 10비트 단위로 데이타가 공급되면, 그 10비트 단위의 데이타를 3개 모으고, 제1번째와 제2번째의 10비트의 데이타 사이에, 1비트의 0의 더미 데이타를 삽입하고, 또한 제2번째와 제3번째의 10비트의 데이타 사이에, 0의 더미 데이타를 삽입하여, 합계 32비트의 데이타로 한다. 또한, 반대로 32비트의 데이타가, 버스로부터 공급되었을 경우, 제11번째의 비트와 제22번째의 비트를 무시하여, 그 전후의 10비트씩의 데이타로 3분할하여 처리한다. 또한, 제2 모드가 설정되어 있을 경우, 도 37의 (B)에 도시된 바와 같이, RAID 컨트롤러(282-1)는, 10비트로 입력되는 데이타 중, 하위 2비트를 무시하고, 4세트의 8비트의 데이타를 조합하여, 32비트의 데이타로 한다. 또한, 반대로 32비트의 데이타가 입력되었을 경우에는, 이것을 8비트씩으로 구분하고, 각 8비트의 데이타에, 2비트의 더미 데이타를 부가하여, 10비트의 데이타로 한다.
도 36의 RAID 컨트롤러(282-1)와 DMA 컨트롤러(281-1)는, FIFO 404-1 내지 406-1을 통해 서로 접속되어 있다. FIFO 404-1 내지 406-1의 RAID 컨트롤러(282-1)측은, 32비트의 버스로 구성되어 있고, DMA 컨트롤러(281-1)측은, 64비트의 버스로 구성되어 있다. 각 FIFO는, 32비트로 구성되어 있기 때문에, 예를 들면 FIFO 404-1은 최초로 입력된 32비트의 패리티 데이타를 64비트의 버스의, 예를 들면 상위측의 32비트의 버스를 통해 DMA 컨트롤러(281-1)에 출력하고, 이어서 입력되는 32비트의 패리티 데이타를, 64비트의 버스의 하위측의 32비트의 버스를 통해DMA 컨트롤러(281-1)로 공급한다.
FIFO 405-1도, FIFO 404-1과 마찬가지로, RAID 컨트롤러(282-1)로부터 공급되는, 최초의 32비트의 화소 데이타를, 64비트 버스의 MSB측의 32비트의 버스를 통해 DMA 컨트롤러(281-1)에 출력하고, 이어서 입력되는 32비트의 화소 데이타를, 64비트 버스의 LSB측의 32비트의 버스를 통해 DMA 컨트롤러(281-1)에 출력한다.
한편, DMA 컨트롤러(281-1)로부터 64비트의 버스를 통해 공급되는 화소 데이타(재생 화소 데이타)를, RAID 컨트롤러(282-1)로 공급하는 FIFO 406-1은, 도 38에 도시된 바와 같이 각각 32비트의 용량을 갖는 FIFO 406A-1과 406B-1에 의해 구성되어 있다. DMA 컨트롤러(281-1)로부터 64비트 버스의 MSB측의 32비트의 버스를 통해 공급된 화소 데이타는, FIFO 406A-1로 공급되고, LSB측의 32비트의 버스를 통해 공급된 화소 데이타는, FIFO 406B-1로 공급된다. 그리고, FIFO 406A-1에 기억된 화소 데이타가, 32비트의 버스를 통해 RAID 컨트롤러(282-1)로 공급된 후, 이어서 FIFO 406B-1에 기억된 32비트의 화소 데이타가 판독되고, 32비트의 버스를 통해 RAID 컨트롤러(282-1)로 공급된다.
DMA 컨트롤러(281-1)는, 64비트의 DMA 버스(251)에 접속되어 있다. 또한, FIFO 407-1은, 32비트의 제어 버스(252)에 접속되어 있고, 제어 버스(252)를 통해 입력된 커맨드를, RAID 컨트롤러(282-1)로 출력하도록 이루어져 있다.
또, 도시는 생략하지만, 비디오 블럭 271-2 내지 271-6도, 비디오 블럭 271-1과 마찬가지로 구성되어 있다.
보드(421-1)에는, 3장의 SCSI 보드(431-1 내지 431-3)가 설치되어 있다. 그리고, SCSI 보드(431-1)에는, S-DRAM으로 구성되는 데이타 버퍼(212-1)가 설치되어 있고, 그 입출력이 버퍼 컨트롤러(211-1)에 의해 제어되도록 이루어져 있다. 버퍼 컨트롤러(211-1)에는, 32비트의 버스를 통해 2개의 SCSI 컨트롤러(202-1, 202-2)가 접속되어 있고, SCSI 컨트롤러(202-1)는, 2대의 하드 디스크(201-1, 201-2)를 제어하도록 이루어져 있다. 또한, SCSI 컨트롤러(202-2)는, 2대의 하드 디스크(201-3, 201-4)를 제어하도록 이루어져 있다.
도시는 생략하지만, SCSI 보드(431-2, 431-3)도, SCSI 보드(431-1)와 마찬가지로 구성되어 있다. 또한, 보드 421-2, 421-3도, 보드 421-1과 마찬가지로 구성되어 있다. 따라서, 이 구성예에서는 1매의 보드(421-i)에 의해, 12대의 하드 디스크(201)를 제어할 수 있도록 이루어져 있고, 3장의 보드가 설치되어 있기 때문에, 합계 36대의 하드 디스크(201)를 제어하는 기능을 갖는 것으로 되어 있다. 단, 실제로는 32대의 하드 디스크(201)가 접속되어 있다.
상술된 바와 같이, 1프레임분의 화상 데이타는, 예를 들면 4개의 서브 블럭으로 구분되지만, 이 서브 블럭은 또한 128워드분의 화소 데이타를 단위로 하는 패킷 전송 블럭으로 구분되어, 패리티 데이타의 생성과, 이것을 이용한 오류 정정 처리가 실행된다.
즉, 예를 들면 NTSC 방식의 1프레임분의 화상 데이타는, 도 39에 도시된 바와 같이 1440×512 화소에 의해 구성된다. 1화소는, 10비트의 휘도(Y) 데이타와, 1 0비트의 색차(U 또는 V) 데이타로 구성된다.
1워드는 32비트로 구성되기 때문에, 1워드 중에 10비트의 휘도 데이타를 3개배치할 수 있다. 그리고, 3개의 휘도 데이타 사이에, 도 37의 (A)에 도시된 바와 같이 2비트의 더미 데이타를 부가함으로써, 1워드에 의해 결국 3화소분의 데이타를 배치할 수 있다. 이와 같은 관점에서 봤을 때, 도 40에 도시된 바와 같이 1패킷 전송 블럭에, 384 화소의 데이타를 배치하게 된다.
단, 10비트의 휘도 데이타와 10비트의 색차 데이타에 의해, 1화소분의 데이타가 구성되는 것으로 생각하면, 1패킷 전송 블럭(128워드)에 배치되는 화소수는, 1워드에 1.5 화소분을 배치할 수 있게 되기 때문에, 129화소분의 데이타를 배치하게 된다.
또, 여기서는 간단하게 하기 위해, 도 40에 도시된 바와 같이 하나의 화소가 10비트의 휘도 데이타로 구성되는 것으로 생각하여, 1패킷 전송 블럭에 384화소가 배치되는 것으로 한다.
상술된 바와 같이, 도 36의 DMA 컨트롤러(281)는, RAID 컨트롤러(282)와 데이타 버퍼(212) 사이에서, 패킷 전송 블럭을 단위로 하는 DMA 전송을 행한다. 도 41은, 제어 버스(252)를 통해, 컨트롤러(262)로부터 DMA 컨트롤러(281)로 공급되는 DMA 커맨드의 예를 나타내고 있다. 이 예는, RAID 컨트롤러(282)로부터 데이타 버퍼(212)에 대해, 기록해야 할 화소 데이타를 DMA 전송하는 경우의 커맨드의 예를 나타내고 있다.
도 41에 도시된 바와 같이 이 DMA 커맨드는, 커맨드와 오퍼랜드에 의해 구성되어 있고, 오퍼랜드에게는 화소 데이타를 기록해야 할 데이타 버퍼(212)의 어드레스가 유지되고 있다. 또한, 커맨드에는 패킷 전송 블럭을 전송하는 횟수(루프 횟수)가 규정되어 있다.
또, 이 커맨드에서는 루프 횟수 외에, 각종 제어를 지령하는 커맨드도 물론 배치할 수 있다. 예를 들면, RAID 컨트롤러(282)에 대한 커맨드에는, RAID 비가 설정되어 있다.
예를 들면, 지금 도 40에 도시된 바와 같이, 1프레임분의 화소 데이타가, 1패킷 전송 블럭마다 A0, B0, C0, D0, A1, B1, C1, D1, · · ·과 마찬가지로, 좌측 위로부터 우측 아래 방향으로, 순차적으로 구분된 것으로 한다. 이 패킷 전송 블럭을, 도 41에 도시된 바와 같은 DMA 커맨드로, 도 36의 DMA 컨트롤러(281)에 전송을 지령하면, DMA 컨트롤러(281)는, 그 FIFO 501-1에서 이 커맨드를 수취하고, 도 42에 도시된 바와 같이 데이타 버퍼(212)에 대해 데이타의 기록을 행한다.
즉, 도 41에 도시된 바와 같이 커맨드에는, 4개의 서브 블럭에 대응하여, 데이타 버퍼(212)의 어드레스 a0 내지 d0가 그 오퍼랜드에 규정되어 있고, 또한 그 4개의 서브 블럭에 대응하는 패리티 데이타의 기록해야 할 데이타 버퍼(212)의 어드레스로서, p0이 오퍼랜드에 기술되어 있다. 그리고, 커맨드로서 루프 횟수 n이 기술되어 있다. 이 경우, 도 42에 도시된 바와 같이 데이타 버퍼(212)의 어드레스 a0에 패킷 전송 블럭 A0이 기록된다. 어드레스 b0에 패킷 전송 블럭 B0이 기록되고, 어드레스 c0에 패킷 전송 블럭 C0이 기록되고, 어드레스 d0에 패킷 전송 블럭 D0이 기록된다. 그리고, 4개의 서브 블럭에 대응하여 생성된 패리티 데이타 중, 최초의 1패킷 전송 블럭분의 패리티 데이타 P0이, 데이타 버퍼(212)의 어드레스 p0에 기록된다.
이어서, 데이타 버퍼(212)의 어드레스 a0+128 (워드)에 패킷 전송 블럭 A1이 기록되고, 어드레스 b0+128에 패킷 전송 블럭 B1이 기록되며, 어드레스 c0+128에 패킷 전송 블럭 C1이 기록되고, 또한 어드레스 d0+128에 패킷 전송 블럭 D1이 기록된다. 그리고, 어드레스 p0+128에, 패리티 데이타 P1이 기록된다.
이하, 마찬가지로 어드레스 a0으로부터 연속하는 영역에, 데이타 A0, A1, A2, ··· A(n-1)가 기록되고, 어드레스 b0으로부터 연속하는 영역에, 데이타 B0, B1, B2, ···B(n-1)가 기록된다. 또한, 어드레스 c0으로부터 연속하는 영역에, 데이타 C0, C1, C2, ··· C(n-1)가 기록되고, 어드레스 d0으로부터 연속하는 영역에, 데이타 D0, D1, D2, ···D(n-1)가 기록되며, 어드레스 p0으로부터 연속하는 영역에, 패리티 데이타 P0 내지 P(n-1)가 기록된다.
도 43은, 1프레임의 화상의 화소 데이타를 4 : 1의 RAID에서 전송하는 영역R1과, 2 : 1의 RAID를 행하는 영역 R2의 범위를 나타내고 있다. 이하의 설명에서 사용하는 「n : m의 RAID」란, 소스 비디오 데이타를 n 개의 서브 블럭의 수로 분할하고, 그 분할된 n 개의 서브 블럭으로부터 m개의 패리티 데이타를 생성하는 RAID 알고리즘인 것을 나타내고 있다. 따라서, 「4 : 1의 RAID 」란, 4개의 서브 블럭으로부터 하나의 패리티 데이타를 생성하는 RAID 알고리즘이다.
동일 도면에 도시된 바와 같이, A0, B0, C0, D0, A1, Bl, C1, D1, ···, An, Bn, Cn, Dn의 연속하는 패킷 전송 블럭이, 4 : 1의 RAID에서 전송된다. 그리고, 계속되는 영역 R2의 패킷 전송 블럭 A(n+1), C(n+1), A(n+2), C(n+2), ···, Ar, Cr이, 2 : 1의 RAID로 전송된다.
상기된 패킷 전송 블럭 Ai, Bi, Ci, Di는, 각각 제1 내지 제4 서브 블럭을 구성하고 있다.
즉, 도 44에 도시된 바와 같이 제1 서브 블럭은, A0 내지 Ar의 패킷 전송 블럭으로 구성되고, 제2 서브 블럭은, B0 내지 Bn의 패킷 전송 블럭으로 구성되며, 제3 서브 블럭은, C0 내지 Cr의 패킷 전송 블럭으로 구성되고, 제4 서브 블럭은 D0 내지 Dn의 패킷 전송 블럭으로 구성되어 있다. 그리고, 패리티 데이타는 P0 내지Pr의 패킷 전송 블럭으로 구성되어 있다.
이 도 43와 도 44를 비교하여 분명히 알 수 있듯이, 예를 들면 제1 서브 블럭을 구성하는 패킷 전송 블럭 Ai는, 도 43에 도시된 1프레임의 화상 상의 연속하는 화소가 아니고, 소정 위치에 분산하여 배치되어 있는 화소로 구성되어 있다(물론, 하나의 패킷 전송 블럭 내에서는, 화소가 연속하고 있음).
그리고, 도 44에 도시된 바와 같이 각 서브 블럭의 n+1 개의 패킷 전송 블럭은, n+1개의 패리티 데이타와 함께, 4 : 1의 RAID를 구성하고 있다.
이에 대해, 제1 서브 블럭의 패킷 전송 블럭 An+1로부터 패킷 전송 블럭 Ar까지의 패킷 전송 블럭, 제3 서브 블럭의 패킷 전송 블럭 Cn+1로부터 패킷 전송 블럭 Cr까지의 패킷 전송 블럭, 또한 패킷 전송 블럭 Pn+1로부터 패킷 전송 블럭 Pr까지의 패리티 데이타에 의해, 2 : 1의 RAlD가 구성되어 있다.
4 : 1의 RAID 영역의 패킷 전송 블럭은, 도 44의 좌측에 도시된 바와 같은 DMA 커맨드에 의해, 도 36의 데이타 버퍼(212)로 DMA 전송된다. 즉, 제1 서브 블럭의 데이타 A1은 데이타 버퍼(212)의 어드레스 a0에 기억되고, 제2 서브 블럭의 패킷 전송 블럭 B1은 데이타 버퍼(212)의 어드레스 b0에 기억되며, 제3 서브 블럭의 패킷 전송 블럭 C1은 데이타 버퍼(212)의 어드레스 c0에 기억되고, 또한 제4 서브 블럭의 패킷 전송 블럭 D1은 데이타 버퍼(212)의 어드레스 d0에 기억된다. 그리고, 패리티 데이타는 데이타 버퍼(212)의 어드레스 p0에 기억된다. 이어서, 제2번째의 패킷 전송 블럭 A2, B2, C2, D2와, 패리티 데이타 P2가, 순차적으로 전송된다. 이하, 마찬가지로 하여 이 4 : 1의 RAID 영역의 패킷 전송 블럭에 대해서는, n+1 회의 전송이 행해진다.
이에 대해, 2 : 1의 RAID의 영역의 패킷 전송 블럭은, 도 44에서 우측에 도시하는 DMA 커맨드로서, 도 36의 데이타 버퍼(212)로 DMA 전송된다. 즉, 제1 서브 블럭의 패킷 전송 블럭 An+1은, 데이타 버퍼(212)의 어드레스 a0에 기억된다. 마찬가지로, 제3 서브 블럭의 패킷 전송 블럭 Cn+1은 데이타 버퍼(212)의 어드레스 c0에 기억되고, 패리티 데이타 Pn+1은 데이타 버퍼(212)의 어드레스 p0에 기억된다. 이하, 마찬가지로 제2번째 이후의 패킷 전송 블럭 An+2, Cn+2, Pn+2, An+3, Cn+3, Pn+3, ···이 순차 전송된다. 그리고, 이 경우의 패킷 전송 블럭의 전송 횟수는, r-n+2회로 된다.
도 45와 도 46은, 데이타 버퍼(212)로부터 패킷 전송 블럭을 판독할 경우의 DMA 커맨드를 나타내고 있다. 도 45는, 각 패킷 전송 블럭에 오류가 없을 경우를 나타내고 있고, 도 46은 오류가 있을 경우를 나타내고 있다.
도 45에 도시된 바와 같이, 각 패킷 전송 블럭에 오류가 없을 경우에는, 각 패킷 전송 블럭이 기억되어 있는 데이타 버퍼(212)의 어드레스 a0 내지 d0와, 전송 횟수가 기술되어 있다. 즉, 이 경우 데이타 버퍼(212)의 어드레스 a0으로부터 제1 서브 블럭 중 하나의 패킷 전송 블럭이 판독되고, 어드레스 b0으로부터 제2 서브 블럭중 하나의 패킷 전송 블럭이 판독되며, 어드레스 c0으로부터 제3 서브 블럭 중 하나의 패킷 전송 블럭이 판독되고, 또한 어드레스 d0으로부터 제4 서브 블럭 중 하나의 패킷 전송 블럭이 판독된다. 이러한 판독이, 루프 횟수분만큼 행해진다.
이에 대해, 도 46에 도시된 바와 같이 예를 들면 제3 블럭의 패킷 전송 블럭에 오류가 있을 경우에는, 그 오류가 있는 패킷 전송 블럭이 기억되어 있는 어드레스 c0을 대신하여, 패리티 데이타가 기억되어 있는 어드레스 p0이 기술된다. 그리고, 커맨드로서 루프 횟수가 지정됨과 동시에, 어드레스 c0에 기억되어 있는 제3 서브 블럭의 데이타에 오류가 있는 것을 나타내는 플래그가 기술된다. 따라서, 이 경우에는 데이타 버퍼(212)로부터 제3 서브 블럭의 데이타는 판독되지 않고, 그 대신 패리티 데이타가 판독되게 된다.
이어서, 도 36의 RAID 컨트롤러(282)에서, 리얼 타임으로 패리티 데이타를 생성하고, 또한 리얼 타임으로 패리티 데이타를 이용하여, 오류 정정을 행하기 위한 보다 구체적인 구성과 동작에 대해 설명한다. 도 47은, 이러한 RAID 컨트롤러(282)의 리얼 타임으로 패리티 데이타를 생성하고, 또한 이것을 이용하여 오류 정정을 행하는 부분의 구성예를 나타내고 있다.
셀렉터(451)는, 비디오 프로세서(283)로부터 공급되는 기록 데이타(화소 데이타)와, 데이타 버퍼(212)로부터 공급되는 화소 데이타(재생 데이타) 중, 어느 한쪽을 선택하고, 입력 데이타로서 도시하지 않은 다른 회로로 공급함과 동시에, 지연 소자(401-4) 및 셀렉터(454, 455)의 입력 A로 공급한다. 지연 소자(401-4)는, 입력된 데이타를, 1패킷 전송 블럭분만큼 지연시킨 후, 후단의 지연 소자(401-3)로 출력한다. 지연 소자(401-3)도, 입력된 데이타를 1패킷 전송 블럭분만큼 지연시킨 후, 후단의 지연 소자(401-2)로 출력한다. 지연 소자(401-2)도, 입력된 데이타를 1패킷 전송 블럭분만큼 지연시킨 후, 후단의 지연 소자(401-1)로 출력한다. 지연 소자(401-1)는, 입력된 데이타를 1패킷 전송 블럭분만큼 지연시킨 후, 셀렉터(453)의 입력 A로 공급한다.
또, 이 지연 소자(401-1 내지 401-4)는, 이 도 47의 블럭도에서는 4개가 도시되어 있지만, 실제로는 도 36에서의 하나의 지연 소자(401)에 의해 구성되어 있고, 이 지연 소자(401)를 루프 횟수만큼(지금의 경우, 4개) 반복 사용함으로써, 루프 횟수분의 패킷 전송 블럭의 지연을 얻는 것이 가능하다.
셀렉터(454)는, 지연 소자(402)의 출력이 공급되고 있는 입력 B와, 셀렉터(451)의 출력이 공급되고 있는 입력 A 중 한쪽을 선택하거나, 2개의 입력의 배타적 논리합을 연산하여 지연 소자(402)로 출력한다. 지연 소자(402)의 출력은, 셀렉터(452)의 입력 A로 공급되고 있다.
셀렉터(455)도, 셀렉터(451)의 출력이 공급되는 입력 A와, 지연 소자(403)의 출력이 공급되고 있는 입력 B의 한쪽을 선택하거나, 또는 양자의 배타적 논리합을 연산하여, 지연 소자(403)로 출력함과 동시에, 도시하지 않은 회로에 패리티 데이타로서 출력하도록 이루어져 있다. 지연 소자(403)의 출력은, 셀렉터(452)의 입력 B로 공급되어 있다.
셀렉터(452)는, 입력 A와 B 중 한쪽을 선택하고, 셀렉터(453)의 입력 B로 공급하고 있다. 셀렉터(453)는, 지연 소자(401-1)로부터의 입력 A와, 셀렉터(452)로부터의 입력 B 중 한쪽을 선택하고, 선택 결과를 비디오 프로세서(283)로 출력하도록 이루어져 있다.
이어서, 패리티 데이타를 생성할 경우의 동작에 대해 도 48을 참조하여 설명한다. 비디오 프로세서(283)로부터 RAID 컨트롤러(282)로, 데이타 버퍼(212)에 기록해야 할 화소 데이타가 입력되면, RAID 컨트롤러(282)는, 이것을 10비트를 단위로 하는 데이타로부터, 32비트(1워드)를 단위로 하는 데이타로 변환한다. 그리고, 또한 이 데이타를 128워드분(1패킷 전송 블럭분) 통합하고, 이 기록 데이타를 셀렉터(451)의 입력 A로 공급한다. 지금, 최초로 입력된 패킷 전송 블럭의 번호를 0으로 한다. 이 번호 0의 패킷 전송 블럭은, 셀렉터(451)에 의해 선택되고, 셀렉터(455)의 입력 A로 공급됨과 동시에, 입력 데이타로서 그대로 도시하지 않은 회로로 출력된다. 이 때, 지연 소자(403)에는 아직 패킷 전송 블럭이 유지되어 있지 않기 때문에, 셀렉터(455)는, 입력 A를 그대로 선택한다. 셀렉터(455)의 출력(번호 0의 패킷 전송 블럭)은, 지연 소자(403)로 공급되고, 유지된다. 이상의 동작을 통합하면, 도 48에 도시된 바와 같다.
이어서, 번호 1의 패킷 전송 블럭이, 셀렉터(451)로 공급되면, 셀렉터(451)는 이 패킷 전송 블럭을 선택하고, 셀렉터(455)로 공급한다. 셀렉터(455)의 입력 B에는 지연 소자(403)에 유지되어 있는 번호 0의 패킷 전송 블럭이 공급되어 있기 때문에, 셀렉터 455는 셀렉터 451로부터 공급되는 번호 1의 패킷 전송 블럭과, 지연 소자(403)로부터 공급되는 번호 0의 패킷 전송 블럭의 배타적 논리합을 연산하고, 이것을 지연 소자(403)로 공급하여, 유지시킨다.
이하 마찬가지로, 도 48에 도시된 바와 같이 번호 2의 패킷 전송 블럭이, 셀렉터(451)로 공급되면, 셀렉터(455)에 의해, 번호 0, 번호 1, 및 번호 2의 패킷 전송 블럭의 배타적 논리합이 연산 출력되고, 또한 번호 3의 패킷 전송 블럭이 입력됐을 때, 번호 0 내지 번호 3의 패킷 전송 블럭의 배타적 논리합이, 연산 출력된다. 4 : 1의 RAID일 경우에는, 이것이 요구하는 패리티가 된다.
이하, 마찬가지로 새로운 번호의 패킷 전송 블럭이 순차 입력되면, 도 48에 도시된 바와 같이 패리티 데이타가, 리얼 타임으로 순차적으로 생성 출력된다.
셀렉터(451)로부터 선택 출력된 입력 데이타는, RAID 컨트롤러(282)로부터 32비트의 버스를 통해 FIFO 405-1로 입력되고, 거기에서 64비트의 버스를 통해 DMA 컨트롤러(281)로 공급된다. 또한, 셀렉터(455)로부터 출력된 패리티 데이타는, RAID 컨트롤러(282)로부터 32비트의 버스를 통해 FIFO404-1로 공급되고, 거기에서 또한 64비트의 버스를 통해 DMA 컨트롤러(281)로 공급된다.
DMA 컨트롤러(281)에는, 컨트롤러(262)로부터, 도 41에 도시된 바와 같은DMA 커맨드가 입력되어 있다. DMA 컨트롤러(281)는, 이 DMA 커맨드에 대응하여 FIFO 405-1 또는 FIFO 404-1에 기억되어 있는 화소 데이타 또는 패리티 데이타를 판독하고, DMA 버스(251)를 통해 버퍼 컨트롤러(211)로 공급한다. 버퍼 컨트롤러(211)는, DMA 버스(251)를 통해 공급되어온 데이타를, 데이타 버퍼(212)에 기록하는 처리를 실행한다. 이로써, 예를 들면 도 42에 도시된 바와 같은 상태로 화소 데이타와 패리티 데이타가, 데이타 버퍼(212)에 기억된다.
SCSI 컨트롤러(202)는, 컨트롤러(262)로부터 제어 버스(252)를 통해 커맨드의 공급을 받고, 이 커맨드에 대응하여 버퍼 컨트롤러(211)로 제어 신호를 출력하며, 데이타 버퍼(212)에 기억되어 있는 화소 데이타와 패리티 데이타를 재생하고, 이것을 취입한다. 그리고, SCSI 컨트롤러(202)는, 버퍼 컨트롤러(211)를 통해 취입한 데이타 버퍼(212)로부터의 데이타를, 대응하는 소정의 하드 디스크(201)의 소정의 트랙에 기록한다. 이와 같이 하여, 하드 디스크(201)에는 예를 들면 도 33에 도시된 바와 같은 상태로, 1프레임분의 화소 데이타가, 4개의 서브 블럭으로 분할되고, 각 서브 블럭마다, 다른 하드 디스크(201)에 기록된다. 또한, 그 프레임의 화소 데이타에 대응하는 패리티 데이타도, 다른 하드 디스크(201) 상에 기록된다.
이어서, 하드 디스크(201)로부터 재생된 데이타의 오류를 정정하여 출력할 경우의 동작에 대해 도 49를 참조하여 설명한다. 컨트롤러(262)는, 제어 버스(252)를 통해 SCSI 컨트롤러(202)로 커맨드를 출력하고, 하드 디스크(201)에 기록되어 있는 소정 프레임의 화소 데이타와 대응하는 패리티 데이타를 재생한다. 이 재생 데이타는, SCSI 컨트롤러(202)로부터 버퍼 컨트롤러(211)를 통해 데이타 버퍼(212)에 기록된다. 컨트롤러(262)는, 제어 버스(252)를 통해 DMA 컨트롤러(281)에 대해, 이와 같이 하여 데이타 버퍼(212)에 기록된 데이타의 RAID 컨트롤러(282)로의 DMA 전송을 지령한다. DMA 컨트롤러(281)는, 이 커맨드에 대응하여 버퍼 컨트롤러(211)를 통해 데이타 버퍼(212)에 기록되어 있는 데이타를 판독하고, DMA 버스(251)를 통해 전송을 받는다. 그리고, 이 데이타를 64비트의 버스를 통해 FIFO 406A-1, 406B-1로 공급하여, 기억한다. FIFO 406A-1, 406B-1에 기록된 데이타는, 32비트의 버스를 통해 RAID 컨트롤러(282)로 공급된다.
RAID 컨트롤러(282)에서는, 이와 같이 하여 FIFO 406A-1, 406B-1로부터 공급된 데이타를, 셀렉터(451)의 입력 B에서 수취한다.
셀렉터(451)에, 이와 같이 하여 예를 들면 번호 0의 패킷 전송 블럭이 입력되었다고 하면, 이것이 셀렉터(451)에서 선택되고, 도 49에 도시된 바와 같이 지연 소자(401-4)로 공급됨과 동시에, 셀렉터(454와 455)의 입력 A로 각각 공급된다. 도 49에 도시된 바와 같이, 셀렉터(455)는 이 때 입력 B를 선택하도록 제어되어 있기 때문에 그 입력 A로 공급된 데이타는, 지연 소자(403)에는 공급되지 않는다. 이에 대해, 셀렉터(454)에서는, 입력 A가 선택되도록 제어되어 있기 때문에, 셀렉터(454)는, 번호 0의 패킷 전송 블럭을 선택하고, 후단의 지연 소자(402)로 공급하여, 유지한다.
이어서, 번호 1의 패킷 전송 블럭이, 셀렉터(451)에 입력되고, 선택되면, 이것이 지연 소자(401-4)로 공급되고, 그 때까지 지연 소자(401-4)에 유지되어 있던 번호 0의 패킷 전송 블럭은, 후단의 지연 소자(401-3)로 전송되고, 유지된다.
또한, 셀렉터(454)는, 이 때 입력 A로부터 공급되는 셀렉터(451)로부터의 번호1의 패킷 전송 블럭과, 지연 소자(402)에 유지되어 있는 번호 0의 패킷 전송 블럭의 배타적 논리합을 연산하고, 이것을 지연 소자(402)로 공급하여, 기억시킨다.
이어서, 원래 번호 3의 패킷 전송 블럭이 입력되는 것이지만, 지금 이 번호 3의 패킷 전송 블럭에 오류가 발생했다고 하면, DMA 컨트롤러(281)는, 이 번호 3의 패킷 전송 블럭 대신, 패리티 데이타를 선택하고, 이것을 데이타 버퍼(212)로부터 판독시켜, RAID 컨트롤러(282)로 공급한다. 이 패리티 데이타는, 셀렉터(451)로부터 지연 소자(401-4)로 공급됨과 동시에, 셀렉터(454)의 입력 A로 공급된다. 이 때, 셀렉터(454)는, 입력 A로부터의 데이타와 입력 B로부터의 데이타의 배타적 논리합을 연산하지만, 입력 A에는 패리티 데이타가 입력되고, 지연 소자(402)에는 번호 0의 패킷 전송 블럭과 번호 1의 패킷 전송 블럭의 배타적 논리합이 유지되어 있기 때문에, 결국 셀렉터(454)는 번호 0의 패킷 전송 블럭, 번호 1의 패킷 전송 블럭, 및 패리티 데이타의 배타적 논리합을 연산하고, 이것을 지연 소자(402)로 출력한다.
또한, 번호 3의 패킷 전송 블럭이, 셀렉터(451)로부터 입력되면, 이것이 지연 소자(401-4)로 공급되고, 그때까지 지연 소자(401-4)에 유지되어 있던 패리티 데이타는, 후단의 지연 소자(401-3)로 공급된다. 그 때까지, 지연 소자(401-3)에 유지되어 있던 번호 1의 패킷 전송 블럭은, 후단의 지연 소자(401-2)에 공급되어, 유지된다. 그리고, 그 때까지 지연 소자(401-2)로 유지되어 있던 번호 0의 패킷 전송 블럭은, 또한 후단의 지연 소자(401-1)로 공급되어, 유지된다.
셀렉터(454)는, 셀렉터(451)로부터 공급되는 번호 3의 패킷 전송 블럭과, 지연 소자(402)에 유지되어 있는 번호 0의 패킷 전송 블럭, 번호 1의 패킷 전송 블럭, 및 패리티 데이타의 배타적 논리합을 연산한 데이타와의 배타적 논리합을 연산한다. 이 연산 결과는, 결국 번호 2의 패킷 전송 블럭의 오류를 정정한 데이타로 되어 있고, 이것이 지연 소자(402)에 유지된다.
이어서, 번호 4의 패킷 전송 블럭이 셀렉터(451)에 입력되면, 이것이 선택되어, 지연 소자(401-4)에 보유된다. 그 때까지, 지연 소자(401-4)에 보유되어 있었던 번호 3의 패킷 전송 블럭은 후단의 지연 소자(401-3)에 공급된다. 그 때까지, 지연 소자(401-3)에 보유되어 있던 패리티 데이타는, 후단의 지연 소자(401-2)에 공급되어 보유된다. 그 때까지, 지연 소자(401-2)에 보유되고 있던 번호 1의 패킷 전송 블럭은, 후단의 지연 소자(401-1)에 공급되어 보유된다. 그리고, 그 때까지 지연 소자(401-1)에 보유되어 있던 번호 0의 패킷 전송 블럭은 셀렉터(453)의 입력 A에 공급되고, 셀렉터(453)에서 선택되어, 비디오 프로세서(283)로 출력된다.
이어서, 번호 5의 패킷 전송 블럭이 셀렉터(451)에 입력되면, 상술된 바와 같은 처리가 행해지고, 그 때까지 지연 소자(401-1)에 보유되어 있던 번호 1의 패킷 전송 블럭이 셀렉터(453)에 의해 선택되어 출력된다.
그리고, 이어서 번호 6의 패킷 전송 블럭이 셀렉터(451)에 입력되는 타이밍 이지만, 이 번호 6의 패킷 전송 블럭에 오류가 검출된 경우, 셀렉터(451)에 번호 6의 패킷 전송 블럭 대신 패리티 데이타가 공급된다. 그 결과, 이 패리티 데이타가, 지연 소자(401-4)에 공급되어 보유됨과 함께 셀렉터(455)를 통해 지연 소자(403)에 공급되어 보유된다.
셀렉터(454)와 지연 소자(402)의 조합과 셀렉터(455)와 지연 소자(403)의 조합은 1프레임마다(4 패킷 전송 블럭마다) 교대로 이용된다. 따라서, 번호 0 내지 번호 3의 패킷 전송 블럭이 셀렉터(454)를 통해 지연 소자(402)에 공급되도록 이루어지는 경우, 다음 1프레임분의 번호 4 내지 번호 8의 패킷 전송 블럭의 데이타는 셀렉터(455)를 통해 지연 소자(403)에 공급된다. 그리고, 셀렉터(454)에서의 경우와 마찬가지로, 셀렉터(455)는 셀렉터(451)로부터 새로운 번호의 패킷 전송 블럭이 입력되면, 그 때까지 지연 소자(403)에 보유되어 있던 패킷 전송 블럭, 또는 그 때까지의 배타적 논리합의 연산 결과와의 새로운 배타적 논리합을 연산하고, 그 연산 결과를 지연 소자(403)에 공급하여 보유시킨다.
따라서, 번호 4, 번호 5, 또한 번호 6(패리티 데이타)의 패킷 전송 블럭이 셀렉터(451)로부터 입력된 타이밍에서, 셀렉터(455)는 셀렉터(451)로부터 입력된 패리티 데이타와, 그 때까지 지연 소자(403)에 보유되어 있던 번호 4와 번호 5의 패킷 전송 블럭의 배타적 논리합의 연산 결과와의 배타적 논리합을 연산하고, 이것을 지연 소자(403)에 공급하여 보유시킨다. 한편, 지연 소자(402)는 그 전의 필드의 오류를 정정한 데이타(번호 2의 패킷 전송 블럭)를 보유하고 있다.
그리고, 번호 6의 패킷 전송 블럭이 셀렉터(451)에 입력된 타이밍에서, 지연 소자(401-1)는 오류를 포함한 번호 2의 패킷 전송 블럭 대신 입력된 패리티 데이타를 출력하게 된다. 이것이, 셀렉터(453)에 의해 그대로 선택 출력되면, 패리티 데이타가, 출력되어 버리게 된다. 그래서, 이 타이밍에서 셀렉터(453)는 입력 A로부터의 데이타 대신 입력 B로부터의 데이타를 선택하도록 전환된다. 셀렉터(453)의 입력 B에는 셀렉터(452)의 출력이 공급되어 있고, 셀렉터(452)는 입력 A에 공급되어 있는 지연 소자(402)가 보유하고 있는 번호 2의 정정 완료된 패킷 전송 블럭을 선택하여 출력한다. 그 결과, 스위치(453)로부터 패리티 데이타가 출력되지 않고, 정정 완료된 번호 2의 패킷 전송 블럭이 출력된다.
이하, 마찬가지로 도 49에 도시된 바와 같이, 셀렉터(451)에 번호 10의 패킷 전송 블럭이 입력된 타이밍에서는, 지연 소자(401-1)로부터 번호 6의 오류를 포함하는 패킷 전송 블럭 대신 입력된 패리티 데이타가 셀렉터(453)의 입력 A에 공급되는 것이지만, 이 때 셀렉터(453)는 입력 B 측으로 전환되고, 그 때 셀렉터(452)가 입력 B에 공급되고 있는 지연 소자(403)가 보유하고 있는 번호 6의 오류를 정정한 패킷 전송 블럭을 선택하고 있으므로, 셀렉터(453)로부터 이것이 출력된다.
이와 같이 함으로써, DMA 컨트롤러(281)로부터 재생 데이타가 순차 입력되면, 실 시간으로 순차적으로 오류가 정정되어 정정된 데이타가 비디오 프로세서(283)에 공급된다.
이어서, 도7에 도시된 디스크 레코더(2)에서의 기록시의 동작에 대해 정리하면, 다음과 같다. 또, 현재 편집 장치(1)로부터 디스크 레코더(2)에 공급되는 비디오 데이타는 NTSC 방식의 비디오 데이타로 한다.
호스트 퍼스널 컴퓨터(3)로부터 SCSI를 통해 기록 커맨드를 수신하면, 디스크 레코더(2)의 컨트롤러(262)는, RAM(2630 상의 할당 맵(303)을 참조하여, 편집 장치(1)로부터 공급된 비디오 데이타가 기록 가능한 빈 영역을 검색한다. 이 빈 영역 검색은 1프레임의 비디오 데이타를 4개로 분할한 서브 블럭의 각각과, 이들의 화소 데이타로부터 생성된 패리티 데이타의 각각에 대해 행해진다. 이 시점에서, 패리티 데이타의 섹터수와 4개의 서브 블럭의 섹터수는 아직 정확하게는 알 수 없으므로 이 빈 영역 검색은, 섹터 단위로 행해지는 것이 아니고, 트랙 단위로 행해진다.
컨트롤러(262)는 검색한 빈 영역의 상황에 기초하여, 패리티 데이타와, 4개의 서브 블럭의 데이타를 하드 디스크(201)에 기록하기 위한 기록 위치를 결정한다. 이 기록 위치는 하드 디스크(201)의 디스크 ID와, 기록을 개시하는 섹터의 개시 논리 섹터 번호에 의해 지정된다. 구체적으로는, 도 15에 도시된 바와 같이 패리티 데이타는 디스크 ID가 1인 하드 디스크(201-1)의 논리 섹터 번호 0 (가장 외측의 트랙의 섹터)이 기록 개시 위치로 된다. 제1 서브 블럭 데이타는 디스크 ID가 2인 하드 디스크(201-2)의 논리 섹터 번호 599600(가장 내측의 트랙의 섹터)가, 기록 개시 위치가 된다. 제2 서브 블럭 데이타는 디스크 ID가 3인 하드 디스크(201-3)의 논리 섹터 번호 0(가장 외측의 트랙의 섹터)이 기록 개시 위치가 된다. 또한, 제3 서브 블럭 데이타는 디스크 ID가 4인 하드 디스크(201-4)의 논리 섹터 번호 599600(가장 내측의 트랙의 섹터)이 기록 개시 위치로 된다. 또한, 제4 서브 블럭 데이타는 디스크 ID가 5의 하드 디스크(201-5)의 논리 섹터 번호 0(가장 외측의 트랙의 섹터)이 기록 개시 위치가 된다.
컨트롤러(262)는 이어서 물리 어드레스 테이블(302)을 참조하여 데이타의 기록 위치로서 결정된 개시 논리 섹터 번호로부터 실린더 어드레스, 매체 번호, 및 섹터 번호로 이루어지는 물리 어드레스를 구한다.
또한, 컨트롤러(262)는 ZBR 테이블(301)을 참조하여, 물리 어드레스 테이블(302)을 참조해 구해진 실린더 어드레스가 12개의 존(zone) 중 어느 존에 포함되는지를 결정하고, 그에 따라 1트랙에서 사용되는 섹터수를 결정한다.
또한, 컨트롤러(262)는 이상의 제어로 구해진 패리티 데이타의 디스크 ID 논리 섹터 번호, 및 섹터수, 또한 제1 내지 제4 서브 블럭의 디스크 ID, 논리 섹터 번호, 및 섹터수에 기초하여 블럭 맵(304)을 생성한다.
이상과 같이 함으로써, 제1 프레임(번호 1의 프레임)에서 지정되는 비디오 데이타에 대응하는 블럭 맵이 작성되게 된다.
이어서, 컨트롤러(262)는 북 맵(304)을 참조하여 DMA 컨트롤러(281)와, RAID 컨트롤러(282)에 공급하는 시퀀스 프로그램을 생성한다. 이 시퀀스 프로그램은 도 41을 참조하여 설명된 바와 같이, 패리티 데이타와 비디오 데이타의 데이타 버퍼(212) 상에서의 저장 위치를 나타내기 위한 어드레스를 포함하는 오퍼랜드와, 패리티 데이타 및 비디오 데이타의 패킷 전송의 루프 횟수와, RAID비를 지정하는 커맨드로 구성되어 있다.
컨트롤러(262)는 제어 버스(252)를 통해 FIFO(407)에 대해 이 시퀀스 프로그램 중의 커맨드 부분을 전송한다. RAID 컨트롤러(282)는 FIFO(407)을 통해 공급된, 이 커맨드를 참조하여, 비디오 데이타 대 패리티 데이타의 비(RAID 비)와 전송 루프 횟수(전송 루프 기간)를 검출한다. 즉, RAID 컨트롤러(282)는 이 커맨드를 수신함에 따라, 비디오 프로세서(283)로부터 공급되어 있는 비디오 데이타로부터 몇 대 몇의 RAID 비로 패리티를 생성하고, 그 처리를 몇회 반복하는지를 검출한다.
RAID 컨트롤러(282)는 이 RAID 비가 4 : 1일 때는, 4개의 패킷 전송 블럭(서브 블럭)으로부터 패리티 데이타를 연산하고, RAID 비가 2 : 1일 때는, 2개의 패킷 전송 블럭(서브 블럭)으로부터 패리티 데이타를 연산한다.
연산된 패리티 데이타는 1워드마다 FIFO(404)에 공급되고 화소 데이타는 1워드마다 FIFO(405)에 공급된다.
한편, 컨트롤러(262)는 공급된 비디오 데이타의 서브 블럭을 데이타 버퍼(212)의 어떤 위치에 기억시키는지를 나타내는 DMA 커맨드(도 41)를 DMA 컨트롤러(281) 내의 FIFO501에 공급한다. 그리고, DMA 컨트롤러(281)는, FIFO(404)에 기억되어 있는 패리티 데이타와, FIFO(405)에 기억되어 있는 화소 데이타를 FIFO(501)에 기억된 DMA 커맨드의 오퍼랜드에 기술되어 있는 어드레스에 의해 지정된 데이타 버퍼(212) 상의 위치에 대해 1패킷 전송 블럭(=128워드)마다 DMA 전송을 행한다. 이 전송은 DMA 커맨드에 기술되어 있는 루프 횟수만큼 반복적으로 행해진다.
도 50은 도 15에서 번호 1에서 나타내는 프레임 중 4개의 서브 블럭과, 하나의 패리티 데이타의 사이즈를 모식적으로 나타내고 있다.
도 50에 도시된 바와 같이 제1 서브 블럭 S1-1의 크기는 393섹터가 되고, 제2 서브 블럭 S1-2의 크기는 567섹터, 제3 서브 블럭 S1-3의 크기는 393섹터, 제4 서브 블럭 S1-4의 크기는 567섹터로 되어 있다. 그리고, 패리티 데이타의 크기는 제1 내지 제4 서브 블럭의 크기 중, 최대의 크기인 567섹터에 대응하여 567섹터로서 설정되어 있다.
1섹터에는 128워드의 데이타를 기록하는 것으로 하면, 제1 서브 블럭의 데이타량은, 50304워드(=393섹터×128워드)이 되고, 제2 서브 블럭의 데이타량은 72576워드(=567섹터×128워드)로 된다. 제4 서브 블럭과 패리티 데이타의 크기는 제2 서브 블럭의 크기와 동일해지고, 제3 서브 블럭의 크기는 제1 서브 블럭과 동일한 크기로 된다.
또, 도 43과 도 44를 참조하여 설명한 바와 같이, 이 4개의 서브 블럭의 화소 데이타는 1프레임의 화상을 구성하는 연속하는 화소를 1/4로 분할한 것이 아니고, 1매의 화상 상의 소정의 위치에 분산되어 있는 128워드(패킷 전송 블럭) 단위의 데이타를 소정수 모은 것이다.
도 50의 예를 든 경우, 도면 중 좌측으로부터 393섹터분의 범위 T1에서는, 4 : 1의 RAID 이 행해지고, 범위 T1부터 우측에 있는 범위 T2에서는, 2 : 1의 RAID가 행해진다. 범위 T1에서의 전송 횟수(루프·횟수)를 393회로 하고, 범위 T2에서의 루프 횟수를 174(=567-393)회로 함으로써, 1프레임분의 화상 데이타를 데이타 버퍼(212)로 전송할 수 있다.
이 예의 경우, 4 : 1의 RAID와 2 : 1의 RAID가 필요해지므로 범위 T1의 4 : 1의 RAID의 전송을 행하는 DMA 커맨드와, 범위 T2의 2 :1의 RAID의 전송을 행하는 DMA 커맨드가 필요해진다.
그리고, 상술한 바와 같이 RAID 컨트롤러(282)에서는 입력된 화소 데이타에 대해 시퀀셜로 패리티 데이타가 생성되므로, 4개의 각 서브 블럭의 패킷 전송 블럭이 순차 입력되면, 그것이 순차 데이타 버퍼(212)에 출력됨과 함께, RAID비에 1회의 비율로 그에 대응하는 패리티 데이타가 순차 생성되어 데이타 버퍼(212)에 출력된다.
범위 T1에서는 4 : 1의 RAID를 지정하는 DMA 커맨드에 대응하여 전송이 행해진다. 이 경우, 디스크 ID가 2 ∼ 5의 하드 디스크(201-2 ∼ 201-5)에 대응하는 데이타 버퍼(201)의 제2 어드레스 ∼ 제5 어드레스에 제1 서브 블럭 ∼ 제4 서브 블럭의 393개의 패킷 전송 블럭의 비디오 데이타(50304 워드의 화소 데이타)가 DMA 전송되어 기록된다. 또한, 디스크 ID가 1의 하드 디스크(201-1)에 대응하는 데이타 버퍼(212)의 제1 어드레스에 393회의 루프 전송에 의해서 393개의 패킷 전송 블럭의 패리티 데이타(50304 워드의 패리티 데이타)가 기억된다.
다음에, 2 : 1의 RAID의 DMA 커맨드에 대응하여 DMA 컨트롤러(281)는 제2 서브 블럭의 범위 T2에 대응하는 174섹터분의 화소 데이타를 디스크 ID가 3인 하드 디스크(201-3)의 제7 어드레스(범위 T1의 제2 서브 블럭의 393섹터분의 화소 데이타를 기록한 영역의 다음 어드레스)에 174회의 루프 전송에 의해 기록하게 한다. 또한 마찬가지로, 디스크 ID가 5인 하드 디스크(201-5)에 대응하는 데이타 버퍼(212)의 제8 어드레스(범위 T1의 제4 서브 블럭의 393섹터분의 비디오 데이타를 기록한 영역의 다음 어드레스)에 174회의 루프 전송에 의해 전송하여 기록하게 한다. 또한, 174개의 패킷 전송 블럭의 패리티 데이타(22272 워드의 패리티 데이타)를 디스크 ID가 1인 하드 디스크(201-1)에 대응하는 제6 어드레스(범위 T1의 393 섹터분의 패리티 데이타를 기록한 영역의 다음 어드레스)에 기록하게 한다.
이상과 같이 해서, 도 15의 번호가 1인 프레임의 비디오 데이타가 데이타 버퍼(212)에 전송되어 기억되게 된다. 이하 마찬가지로, 번호 2, 3, …의 비디오 데이타가 순차 데이타 버퍼(212)에 전송되어 버퍼링된다.
도 50은 패리티 데이타를 도 9에 도시한 ZBR 테이블의 최외주의 1트랙당 567개의 섹터를 갖는 존 1의 트랙과 최내주의 1트랙당 393개의 섹터를 갖는 존 12의 트랙에 기록하는 경우의 예이다. 즉, 예를 들면 567섹터분의 패리티 데이타는 하드 디스크(201-1)의 최외주의 존 1의 트랙에 기록되며, 서브 블럭 중 393섹터분의 제1 서브 블럭의 데이타는 하드 디스크(201-2)의 최내주의 존 12의 트랙에 기록되며, 567섹터분의 제2 서브 블럭의 데이타는 하드 디스크(201-3)의 최외주의 존 1의 트랙에 기록되며, 393섹터분의 제3 서브 블럭의 데이타는 하드 디스크(201-4)의 최내주의 존 12의 트랙에 기록되며, 567섹터분의 제4 서브 블럭의 데이타는 하드 디스크(201-5)의 최외주의 존 1의 트랙에 기록된다.
이와 같이, 최외주측의 트랙과 최내주측의 트랙이 쌍으로 이용된다. 따라서, 예를 들면 존 1과 존 12의 쌍이 가득차서 사용할 수 없게 된 경우에는 존 1에 이어서 외주측에 위치하는 1트랙당 544개의 섹터를 갖는 존 2와, 존 12에 이어서 보다 내주측에 위치하는 1트랙당 416개의 섹터를 갖는 존 11이 쌍으로서 이용된다.
도 51은 이 경우에서의 패리티 데이타와 서브 블럭의 데이타의 구성예를 나타내고 있다. 이 예에서는 544섹터분의 패리티 데이타는 예를 들면 하드 디스크(201-2)의 최외주로부터 2번째의 존 2의 트랙에 기록되며, 서브 블럭 중 416섹터분의 제1 서브 블럭의 데이타는 하드 디스크(201-3)의 내주측으로부터 2번째의 1트랙당 416개의 섹터를 갖는 트랙에 기록되며, 제2번째의 544섹터분의 서브 블럭의 데이타는 하드 디스크(201-4)의 존 2의 트랙에 기록되며, 416섹터분의 제3 서브 블럭의 데이타는 하드 디스크(201-5)의 존 11의 트랙에 기록되며, 544섹터분의 제4 서브 블럭의 데이타는 하드 디스크(201-6)의 존 2의 트랙에 기록된다. 그리고, 이 경우에서는 도면 중 좌측으로부터 416개 섹터분의 범위 T1에서는 4 : 1의 RAID가 행해지며, 그보다 후의 128섹터분의 범위 T2에서는 2 : 1의 RAID가 된다.
이하 마찬가지로, 도 52 ∼ 도 55는 각각 존 3과 존 10을 쌍으로 해서 이용하고 존 4와 존 9를 쌍으로 해서 이용하며, 존 5와 존 8을 쌍으로 해서 이용하고 또는 존 6과 존 7을 쌍으로 해서 이용하는 경우의 예를 나타내고 있다.
이와 같이, 보다 외주측의 존과 보다 내주측의 존을 쌍으로 해서 이용함으로써 1개의 하드 디스크(201)에 주목하면 각 서브 블럭의 갭 θgap의 값이 거의 동일해지도록 각 서브 블럭의 사이즈를 설정할 수 있으며 각 서브 블럭의 판독과 기록에 요하는 시간이 거의 일정해진다.
이상의 도 50 ∼ 도 55의 구성은 NTSC 방식의 경우의 구성을 나타낸 것이지만, 비디오 데이타가 PAL 방식인 경우, 도 56 ∼ 도 61에 도시한 바와 같이 패리티 데이타와 서브 블럭의 사이즈를 설정할 수 있다. PAL 방식인 경우, 1 프레임의 화소수가 1440×612와 NTSC 방식의 경우보다 많아지며, 도 10에 도시한 바와 같이 각 존의 1트랙당 섹터수가 규정되어 있다. 도 56 ∼ 도 61은 도 10에서의 존 1과 존 12를 쌍으로 해서 이용하는 경우, 존 2와 존11을 쌍으로 해서 이용하는 경우, 존 3과 존 10을 쌍으로 해서 이용하는 경우, 존 4와 존 9를 쌍으로 해서 이용하는 경우, 존 5와 존 8을 쌍으로 해서 이용하는 경우 또는 존 6과 존 7을 쌍으로 해서 이용하는 경우를 각각 나타내고 있다.
도 56의 설정예에서는 561섹터분의 패리티가 제1 하드 디스크(201)의 최외주의 존 1의 트랙에 기록되며, 서브 블럭 중 391섹터분의 제1 서브 블럭의 데이타는 제2 하드 디스크의 최내주의 존 12의 트랙에 배치되며, 561섹터분의 제2 서브 블럭의 데이타는 제3 하드 디스크의 존 1의 트랙에 기록되며, 391섹터분의 제3 서브 블럭의 데이타는 제4 하드 디스크의 존 12의 트랙에 기록되며, 561섹터분의 제4 서브 블럭의 데이타는 제5 하드 디스크의 존 1의 트랙에 기록되며, 391섹터분의 제5 서브 블럭의 데이타는 제6 하드 디스크의 최내주의 존 12의 트랙에 기록된다. 그리고, 도면 중 좌측으로부터 391섹터분의 범위 T1의 데이타는 5 : 1의 RAID로 전송되며, 그 우측의 170섹터분의 데이타는 2 : 1의 RAID로 전송된다. 또, 이 경우도 1패킷 전송 블럭의 크기는 128워드가 된다. 따라서, 범위 T1에서는 391회의 전송 루프가 되며 범위 T2에서는 170회의 전송 루프가 된다.
도 57 ∼ 도 61에 도시한 예에서도 전송 루프의 횟수가 도 56에서의 경우와 다른 것 뿐이며 그 외의 동작은 도 56에서의 경우와 마찬가지이다.
도 26의 플로우차트의 스텝(S12-8)에서 설명한 바와 같이 데이타 버퍼(212)에 예를 들면 1 프레임분의 패리티 데이타와 서브 블럭 데이타가 기억될 때, 그 1 프레임분의 패리티 데이타와 서브 블럭 데이타가 하드 디스크(201)에 즉시 전송되는 것은 아니고, 예를 들면 10 프레임분의 패리티 데이타와 서브 블럭 데이타가 데이타 버퍼(212)에 기억될 때, SCAN 알고리즘에 따라 데이타 전송의 순서가 컨트롤러(262)에 의해 스케쥴링된다.
예를 들면, 지금, 하드 디스크(201)의 대수가 6대이며 도 62에 도시한 바와 같이 데이타가 기록되는 것으로 하면 디스크 ID가 3인 하드 디스크(201)에 전송되는 데이타를 보유하고 있는 장소를 나타낸 제3 어드레스에 버퍼링되어 있는 데이타는 프레임 번호 1의 제2 서브 블럭 데이타 S1-2, 프레임 번호 2의 제1 서브 블럭 데이타 S2-1, 프레임 번호 3의 패리티 데이타 P3, 프레임 번호 5의 제4 서브 블럭 데이타 S5-4, 프레임 번호 6의 제3 서브 블럭 데이타 S6-3, 프레임 번호 7의 제2 서브 블럭 데이타 S7-2, 프레임 번호 8의 제1 서브 블럭 데이타 S8-1, 프레임 번호 9의 패리티 데이타 P9 등이다.
서브 블럭 데이타 S1-2는 외주측에 배치되며 서브 블럭 데이타 S2-1는 내주측에 배치되며, 패리티 데이타 P3는 외주측에 배치되며, 서브 블럭 데이타 S5-4는 외주측에 배치되며, 서브 블럭 데이타 S6-3는 내주측에 배치되며, 서브 블럭 데이타 S7-2는 외주측에 배치되며, 서브 블럭 데이타 S8-1는 내주측에 배치되며, 패리티 데이타 P9는 외주측에 배치된다. 따라서, 이들의 데이타를 S1-2로부터 순서대로 S2-1, P3, S5-4, S6-3, S7-2, S8-1, P9의 순서대로 데이타를 기록하도록 하면, 디스크 ID3의 하드 디스크의 헤드가 하드 디스크의 외주측과 내주측 사이를 왔다 갔다해서 억세스가 느리게 된다.
그래서, 컨트롤러(262)는 프레임 번호 1부터 프레임 번호 10의 비디오 데이타에 대해 각각 작성한 블럭 맵(304 ; 도 15)을 참조하여 이들 복수의 데이타를 가장 외주측에 배치하는 데이타부터 순서대로 하드 디스크(201)에 전송하도록 스케쥴링이 행해진다. 즉, 도 15의 블럭 맵(304)을 참조하여 가장 외주측에 기록되는 데이타부터 순서대로 재배열하면 데이타는 S1-2, P3, S5-4, S7-2, P9, S8-1, S6-3, S2-1의 순서가 된다. 컨트롤러(262)는 이와 같이 데이타의 배치의 순서를 스케쥴링함으로써 이들의 복수의 데이타를 기록하기 위한 헤드 이동량을 최소한으로 억제하여 억세스 속도를 향상시키도록 한다.
이와 같이 해서, 하드 디스크(201)에 기록한 데이타를 재생하는 경우는 기록하는 경우와 역의 동작이 된다. 이것을 간단하게 정리하면 다음과 같다. 즉, 컨트롤러(262)는 호스트 퍼스널 컴퓨터(3)로부터 1이상의 프레임의 재생이 지령되면 블럭 맵(304)을 참조하여 재생을 지령된 번호의 프레임의 개시 논리 섹터를 판독하고 또한, 물리 어드레스 테이블(302)을 참조하여, 그 논리 섹터에 대응하는 물리 어드레스를 구한다. 그리고, 컨트롤러(62)는 이 구해진 물리 어드레스에 대한 억세스를 제어 버스(252)를 통해 버퍼 컨트롤러(211)에 요구한다. 버퍼 컨트롤러(211)는 이 요구에 대응하여 SCSI 컨트롤러(202)를 제어하고 하드 디스크(201)의 물리 어드레스로 규정되는 어드레스로부터 데이타를 재생시킨다. 이 재생 데이타는 SCSI 컨트롤러(202)로부터 버퍼 컨트롤러(211)에 공급되며 또한 데이타 버퍼(212)에 기록된다.
이 경우에서도 상술한 바와 같이 컨트롤러(262)는 10프레임분의 재생 요구가 모일 때까지 대기하고 10프레임분의 재생 요구가 접수될 때, 외주측으로부터 순서대로 헤드의 이동량을 최소한으로 억제하는 것이 가능한 순서대로 스케쥴링한다. 그리고, 이 스케줄에 따라서 10프레임분의 화상 데이타의 재생을 버퍼 컨트롤러(212)에 요구한다.
컨트롤러(262)는 또한 블럭 맵(304)을 참조하여 데이타 버퍼(212)에 기억된 데이타를 RAID 컨트롤러(282)에 DMA 전송시키기 위한 시퀀스 프로그램을 생성한다. 이 시퀀스 프로그램은 제어 버스(252)를 통해 DMA 컨트롤러(281)의 FIFO(501)에 공급된다. 이 시퀀스 프로그램(DMA 커맨드)에는 상술한 바와 같이, 그 오퍼랜드에 데이타 버퍼(212)의 어드레스가 규정되어 있으며, 그 커맨드에 루프 횟수가 규정되어 있다. DMA 컨트롤러(281)는 이 커맨드에 대응하여 데이타 버퍼(212)에 기록되어 있는 데이타를 판독하고, DMA 버스(251)를 통해 이것을 수신하고 또한 이것을 RAID 컨트롤러(282)에 전송한다.
RAID 컨트롤러(282)는 입력된 데이타를 상술한 바와 같이 해서 실 시간으로 시퀀셜로 순차 정정한다.
RAID 컨트롤러(282)에서 출력된 오류 정정 처리 후의 비디오 데이타는 비디오 프로세서(283)에 공급되며, 그 클럭은 낮은 주파수의 클럭으로 변경된다. 그리고, 이 비디오 프로세서(283)에서 출력된 데이타가 입출력 컨트롤러(284)로부터 SDI를 통해 편집 장치(1)의 매트릭스 스위쳐부(21)에 공급된다.
매트릭스 스위쳐부(21)는 SDI의 소정의 채널로부터 입력된 비디오 데이타를 출력 프로세서(32-2)에서 SDI 포맷의 비디오 신호로 변환시켜서, 메인 모니터(4)에 출력시켜서 표시시킨다. 이와 같이 해서 사용자는 하드 디스크(201)에 기록한 화상을 볼 수 있다.
또한, 호스트 퍼스널 컴퓨터(3)로부터 소정의 지령이 입력되면 편집 장치(1)의 매트릭스 스위쳐부(21)에서 디스크 레코더(2)로부터 수신된 비디오 데이타가 비디오 처리부(22)에 입력된다. 비디오 처리부(22)에서는 디멀티플렉서 회로(41-1)가 입력된 SDI 포맷의 비디오 패킷에 포함되는 키신호를 수신하고, 이것을 키신호 처리 회로(51-1)에 출력한다. 디멀티플렉서 회로(41-2)는 입력된 SDI 포맷의 비디오 패킷으로부터 추출한 비디오 신호 성분을 비디오 신호 처리 회로(51-2)에 출력한다.
사용자가 호스트 퍼스널 컴퓨터(3)를 제어하여 소정의 지령을 입력하면 비디오 처리부(22)의 제어 블럭(45)은 컨트롤 버스(25)를 통해 호스트 퍼스널 컴퓨터(3)로부터의 지령을 수신하고, 이 지령에 대응하여 와이프 신호 발생 회로(52-1)를 제어한다. 와이프 신호 발생 회로(52-1)는 제어 블럭(45)으로부터의 지령에 대응하는 와이프 신호를 발생하고, 이 와이프 신호를 키신호 처리 회로(51-1)와 비디오 신호 처리 회로(51-2)에 공급한다. 키신호 처리 회로(51-1)와 비디오 신호 처리 회로(51-2)는 각각 와이프 신호 발생 회로(52-1)로부터 입력된 와이프 신호에 대응하여, 키 신호와 비디오 신호를 처리하여 믹스 회로(71-2)에 출력한다.
디멀티플렉서(41-3)와 디멀티플렉서 회로(41-4)도 디멀티플렉서 회로(41-1)와 디멀티플렉서 회로(41-2)와 마찬가지로, 다른 채널의 키신호와 비디오 신호를 추출하고 각각 키 신호 처리 회로(51-3)와 비디오 신호 처리 회로(51-4)에 출력한다. 와이프 신호 발생 회로(52-2)는 제어 블럭(45)으로부터의 지령에 대응하여 와이프 신호를 발생하고 키신호 처리 회로(51-3)와 비디오 신호 처리 회로(51-4)에 출력한다. 키신호 처리 회로(51-3)와 비디오 신호 처리 회로(51-4)는 와이프 신호 발생 회로(52-2)로부터 입력된 와이프 신호에 대응하여 키신호와 비디오 신호를 처리하고 각각 프레임 메모리(61-1)와 프레임 메모리(61-2)에 출력한다.
3차원 어드레스 발생 회로(63)는 제어 블럭(45)을 통해 호스트 퍼스널 컴퓨터(3)로부터의 지령을 수신하고, 이 지령에 대응하는 3차원 어드레스 좌표를 프레임 메모리(61-1)와 프레임 메모리(61-2)에 출력한다. 그 결과, 프레임 메모리(61-1)와 프레임 메모리(61-2)로부터 각각 3차원 좌표로 변환된 키신호와 비디오 신호가 판독되며 인터폴레이터(62-1, 62-2)에 각각 공급된다. 인터폴레이터(62-1, 62-2)는 각각 입력된 키신호 또는 비디오 신호에 대해 3차원 어드레스 발생 회로(63)로부터의 3차원 좌표 어드레스에 대응하여 보간 처리를 실시하여 믹스 회로(71-2)에 출력한다.
믹스 회로(71-1)에는 또, 디멀티플렉서 회로(41-5)가 매트릭스 스위쳐부(21)의 소정의 입력으로부터 추출한 백 그라운드 비디오 신호가 공급되어 있다. 믹스 회로(71-1)는 인터폴레이터(62-1, 62-2)로부터 출력된 특수 효과가 걸린 비디오 신호와 디멀티플렉서 회로(41-5)로부터 출력된 백 그라운드 비디오 신호를 적절하게 혼합하고, 그 혼합한 비디오 신호를 믹스 회로(71-2)로 출력한다. 믹스 회로(71-2)는 믹스 회로(71-1)의 출력을 전이 효과가 부가된 키신호 처리 회로(51-1)의 출력과 비디오 신호 처리 회로(51-2)의 출력에 적절하게 혼합하고 혼합한 비디오 신호를 출력한다.
믹스 회로(71-2)와 믹스 회로(71-1)의 출력은 매트릭스 스위쳐부(21)에 공급된다.
매트릭스 스위쳐부(21)에서는 또 호스트 퍼스널 컴퓨터(3)로부터 소정의 지령이 입력될 때, 비디오 처리부(22)에서 처리한 비디오 신호가 적절하게 선택되어 출력 프로세서(32-3 ∼ 32-12) 중 어느 하나에 공급되며, 그로부터 또한 컨바이너(33-1 ∼ 33-10) 중 어느 하나로부터 다시 디스크 레코더(2)에 공급되어 하드 디스크(201)에 기록된다.
한편, 오디오 신호가 매트릭스 스위치부(21)에 입력되어 있는 경우에는 제어 블럭(34)은 적절하게 이것을 선택하고 오디오 처리부(23)에 공급한다. 오디오 처리부(23)에서는 세퍼레이터(81-1 ∼ 81-3)가 입력된 SDI 신호로부터 임베디드 오디오 신호를 분리하여 믹서 블럭(83)에 공급한다. 믹서 블럭(83)에서는 호스트 퍼스널 컴퓨터(3)로부터의 지령에 대응하여 제어 블럭(86)이 가변 저항기(91-1 ∼ 91-6)를 적절하게 소정의 값으로 조정한다. 그 결과, 세퍼레이터(81-1 ∼ 81-3)에서 분리된 오디오 신호가 소정의 레벨로 조정된 후, 가산기(92-1) 또는 가산기(92-2)에 공급되어 가산된다.
가산기(92-1) 또는 가산기(92-2)로부터 출력된 오디오 신호는 임베디드 회로(85)에 입력되며, 시간축 압축되며 임베디드 오디오 신호로 변환된 후, 매트릭스 스위쳐부(21)의 컨바이너(33-1 ∼ 33-10)의 소정의 것에 공급된다. 컨바이너(33-1 ∼ 33-10)는 입력된 오디오 신호를 출력 프로세서(32-3 ∼ 33-12)로부터 입력되어 있는 비디오 신호의 수직 귀선 구간에 중첩하여 디스크 레코더(2)에 공급하여 하드 디스크(201)에 기록시킨다.
또한, 믹서 블럭(83)의 가산기(92-1, 92-2)에서 출력된 오디오 신호는 증폭기(5)를 통해 스피커(6)로부터 출력된다.
또, 디스크 레코더(2)에서의 오디오 데이타의 처리에 대해서는 설명을 생략하였지만 비디오 데이타와 마찬가지로 처리된다.
또한, 편집 장치(1)에서 처리한 비디오 데이타는 출력 프로세서(32-1)로부터 호스트 퍼스널 컴퓨터(3)에 대해 적절하게 공급된다.
이 디스크 레코더(2)에서는 전술한 FARAD 알고리즘을 사용하고 있기 때문에 고속의 랜덤 억세스가 가능해진다. 따라서, 멀티 채널의 비디오 데이타를 동시에 하드 디스크(201)로부터 재생하고 비디오 블럭(271)에서 실 시간성을 보증하면서 동시에 처리하는 것이 가능하다. 따라서, 하드 디스크(201)로부터 동시에 재생한 복수 채널의 비디오 데이타를 합성하여 1채널의 합성 화상으로 하는 것도 가능하다.
다음에, 도 63을 참조하여 멀티 채널의 비디오 데이타를 프레임 단위로 편집할 때의 개념에 대해 설명한다. 도 63에 도시한 바와 같이, 하드 디스크(201)에는 멀티 채널의 소스 비디오 데이타로서 스트림 A, 스트림 B, 스트림 C가 기록되어 있는 것으로 한다. 스트림 A는 시간적으로 연속한 프레임 A1 ∼ 프레임 A5 등으로 구성되며, 스트림 B는 시간적으로 연속한 프레임 B1 ∼ 프레임 B5 등으로 구성되며, 스트림 C는 시간적으로 연속한 프레임 C1 ∼ 프레임 C5 등으로 구성되고 있다. 이들의 프레임 A1 ∼ 프레임 A5, 프레임 B1 ∼ 프레임 B5 또는 프레임 C1 ∼ 프레임 C5는 첨자로 나타낸 숫자의 순서로 시퀀셜로에 기록된 스트림이다.
이와 같이, 스트림 A ∼ 스트림 C가 하드 디스크(201)에 기억되어 있는 상태에서 편집 오퍼레이터가 호스트 컴퓨터(3)를 조작하고 예를 들면 스트림 A의 프레임 A4, 스트림 B의 프레임 B1, 스트림 A의 프레임 A1, 스트림 C의 프레임 C3, C1의 순서로 각 프레임을 재생하도록 편집 리스트를 생성했다고 한다. 호스트 컴퓨터(3)는 이 순서대로 지정된 각 프레임을 실 시간으로 재생하도록 디스크 레코더(2)를 제어한다. 또한, 프레임 A4, B1, A1, C3, C1의 스트림이 하드 디스크(201)상에 실제로 기록되어 있는 것은 아니고 편집 리스트와 같은 데이타에 의해서 단순하게 재생하는 프레임의 순서가 호스트 퍼스널 컴퓨터(3)측으로부터 지시되어 있다.
호스트 퍼스널 컴퓨터(3)로부터 디스크 레코더(2)의 CPU 블럭(261)의 컨트롤러(262)에 스트림 1에 대응하는 편집 리스트 데이타가 공급되면, 컨트롤러(262)는 RAM(263)에 기억되어 있는 블럭 맵(304)에 따라 각 프레임이 기억되어 있는 어드레스를 인식한다.
또한, 컨트롤러(262)는 블럭 맵(304)으로부터 얻어진 각 프레임의 어드레스에 따라서 SCAN 알고리즘에 기초하여 가장 씨크 거리가 짧아지는 순서대로 지정된 각 프레임의 억세스순을 제어한다. 이 때, 복수 채널의 비디오 데이타의 각 프레임을 구성하는 복수의 서브 블럭은 각 디스크의 랜덤인 위치에 기억되어 있지만, 각 서브 블럭은 헤드의 대기 시간이 최소가 되도록 FARAD 알고리즘에 따라서 기억되어 있으므로, 실 시간성을 보증하면서 이들의 복수 채널의 비디오 데이타의 각 프레임을 구성하는 복수의 서브 블럭을 판독할 수 있다.
또한, 복수의 서브 블럭의 판독 시 RAID 알고리즘에 의해서 관련지어진 패리티 데이타도 동시에 판독되고 있으므로, CPU(262)는 이 패리티 데이타를 사용하여 판독된 복수의 서브 블럭을 오류 정정하도록 RAID 컨트롤러를 제어한다.
다음에, 컨트롤러(262)는 각 서브 블럭이 RAID 알고리즘에 의해서 분할되고 있으므로, 판독된 복수의 서브 블럭 데이타로부터 원래의 프레임 데이타를 복원한다.
마지막으로, 복원된 각 프레임 데이타는 SCAN 알고리즘에 의해서 지정된 판독순이므로 호스트 컴퓨터(2)로부터 지정된 프레임순(A4, B1, A1, C3, C1)이 되도록 각 프레임 데이타를 재배열하여 스트림(1)으로서 출력한다.
마찬가지로, 제2 비디오 채널로서 프레임 B3, B2, C1, A1, A2로 이루어진 편집 리스트 데이타를 호스트 컴퓨터(3)에 의해서 생성하고, 그 편집 리스트를 컴퓨터(3)로부터 디스크 레코더에 공급함으로써 그 편집 리스트에 따른 스트림(2)을 디스크 레코더(2)로부터 재생할 수 있다.
따라서, 본 발명의 편집 시스템에 따르면 제1 비디오 채널의 편집 리스트에 기인하는 스트림 1과, 제2 비디오 채널의 편집 리스트에 기초하는 스트림 2을 동시에 실 시간성을 보증하면서 디스크 레코더(2)로부터 재생할 수 있다. 그리고, 본 발명의 편집 시스템에 의하면 재생된 복수 채널의 비디오 데이타에 대해 실 시간으로 신호 처리를 실시할 수 있다.
또, 상기 실시 형태에서의 각 블럭이나 버스, SDI 등의 채널수는 예에 지나지 않고 필요에 따라서 변경하는 것이 가능하다. 또한, 1 프레임의 데이타를 분할하는 서브 블럭의 수나 각 서브 블럭을 더 분할하는 패킷 전송 블럭의 워드수 등도 적절하게 변경하는 것이 가능하다. 또한, RAID비도 임의의 값으로 설정할 수 있다.
이상 설명한 바와 같은 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법이 적용된 편집 시스템에 따르면 편집 정보에 기초해서 디스크로부터 복수 채널의 비디오 데이타를 동시에 재생하고 재생된 복수 채널의 비디오 데이타를 편집 정보에 기초해서 편집하고 적어도 1채널분의 비디오 데이타를 생성하도록 했으므로 신속한 편집이 가능해진다.

Claims (65)

  1. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크 매체에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크 매체에 기록하는 기록 수단과,
    상기 서브 블럭에 대해 지정된 상기 디스크 매체 상의 위치에 대응하는 사이즈의 서브 블럭을 생성하도록 상기 데이타 처리 수단에서의 상기 서브 블럭의 분할 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  2. 제1항에 있어서, 상기 제어 수단은,
    상기 디스크 매체 상에서 소망의 서브 블럭에 대해 억세스할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 각 서브 블럭 데이타가 기록되도록 상기 각 서브 블럭의 기록 위치를 규정하는 블럭 맵을 생성하고,
    상기 블럭 맵에 기초해서 상기 데이타 처리 수단에서의 서브 블럭 데이타 및 패리티 데이타의 생성 처리를 제어하는 것을 특징으로 하는 데이타 기록 장치.
  3. 제2항에 있어서, 상기 제어 수단은,
    상기 블럭 맵에 의해 지정된 사이즈의 서브 블럭이 되도록 상기 데이타 처리 수단에서의 복수의 서브 블럭의 분할수를 제어함으로써, 복수 종류 사이즈의 서브 블럭을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  4. 제2항에 있어서, 상기 블럭 맵은 상기 복수의 디스크의 기록 영역을 이론적으로 포맷하기 위한 데이타인 것을 특징으로 하는 데이타 기록 장치.
  5. 제2항에 있어서, 상기 블럭 맵은 상기 복수의 디스크의 기록 영역을 리저브하기 위한 데이타인 것을 특징으로 하는 데이타 기록 장치.
  6. 제2항에 있어서, 상기 소스 데이타는 NTSC 또는 PAL 규격의 비디오 데이타이며,
    상기 제어 수단은,
    상기 비디오 신호의 규격에 대응한 다른 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  7. 제6항에 있어서, 상기 제어 수단은,
    상기 비디오 신호의 규격에 대응한 블럭 맵에 기초해서 상기 데이타 처리 수단에서의 상기 소스 데이타로부터 생성되는 서브 블럭의 분할수를 제어하는 것을 특징으로 하는 데이타 기록 장치.
  8. 제2항에 있어서, 상기 기록 매체는 디스크 매체이며,
    상기 제어 수단은,
    상기 디스크의 반경 위치와 상기 서브 블럭의 사이즈를 대응시킨 존 비트 레코딩 테이블을 갖으며,
    상기 존 비트 레코딩 테이블을 참조하여 상기 기록해야 할 서브 블럭에 대해 지정된 디스크의 반경 위치에 따라서 상기 서브 블럭의 사이즈를 결정하는 것을 특징으로 하는 데이타 기록 장치.
  9. 제8항에 있어서, 상기 블럭 맵은,
    상기 서브 블럭을 기록하기 위한 디스크를 나타낸 디스크 식별 데이타, 상기 디스크 식별 데이타에 의해 나타낸 디스크 상에서 상기 서브 블럭이 기록된 위치를 나타내는 이론 섹터 데이타, 및 상기 디스크 식별 데이타에 의해 나타낸 디스크 상에서 상기 서브 블럭을 기록할 때에 사용되는 섹터 사이즈 데이타로 구성되는 것을 특징으로 하는 데이타 기록 장치.
  10. 제2항에 있어서, 상기 제어 수단은,
    상기 블럭 맵의 데이타에 기초해서 각 디스크의 내주측 영역 및 외주측 영역이 대략 균일하게 사용되도록 1 블럭으로부터 생성된 각 서브 블럭의 사이즈를 결정하고, 상기 1 블럭으로부터 분할된 복수의 서브 블럭이 각각 결정된 각 서브 블럭의 사이즈가 되도록 상기 데이타 처리 수단에서의 상기 1 블럭의 분할 처리를 제어하는 것을 특징으로 하는 데이타 기록 장치.
  11. 제2항에 있어서, 상기 랜덤 억세스 가능한 기록 매체는 디스크 매체이며,
    상기 제어 수단은,
    상기 소스 데이타의 기록을 시작하기 전에 상기 소스 데이타로부터 생성된 복수의 서브 블럭 데이타와 그 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타가, 각각 관련지워진 디스크 매체 및 트랙에 기록되도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  12. 제11항에 있어서, 상기 제어 수단은,
    상기 블럭 맵을 참조함으로써 상기 소스 데이타의 1블럭으로부터 생성된 복수 서브 블럭을 기억하기 위한 디스크, 및 그 디스크 상에서의 서브 블럭의 기록 위치 및 서브 블럭의 사이즈를 결정함과 동시에,
    상기 블럭 맵을 참조함으로써 상기 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타를 기록하기 위한 디스크, 그 디스크 상에서의 패리티 데이타의 기록 위치를 결정하는 것을 특징으로 하는 데이타 기록 장치.
  13. 제12항에 있어서, 상기 제어 수단은,
    상기 디스크 매체의 외주측 영역 및 내주측 영역이 균일하게 사용하기 위해, 상기 소스 데이타의 1 블럭을 처리할 때마다 상기 외주측 영역 및 상기 내주측 영역을 교대로 사용하도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  14. 제13항에 있어서, 상기 제어 수단은,
    상기 패리티 데이타가 항상 상기 디스크의 외주측에 기록되도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  15. 제12항에 있어서, 상기 제어 수단은,
    상기 소스 데이타로부터 생성된 복수 서브 블럭 및 상기 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타를 기억하기 위한 디스크 매체를, 상기 1 블럭을 처리할 때마다 시프트하도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  16. 제15항에 있어서, 상기 제어 수단은,
    제n번째 블럭의 데이타를 기록하는 경우에는 상기 패리티 데이타가 홀수번째의 디스크 매체의 외주측으로 기록되며, 상기 복수의 서브 블럭 중 홀수번째의 서브 블럭은 짝수번째 디스크의 내측 영역에 기록되며, 상기 복수의 서브 블럭 중 짝수번째의 서브 블럭은 홀수번째 디스크의 외측 영역에 기록되도록 블럭 맵을 생성하고,
    제n+1번째 블럭의 데이타를 기록하는 경우에는 상기 패리티 데이타가 짝수번째 디스크의 외주측에 기록되며, 상기 복수의 서브 블럭 중 홀수번째의 서브 블럭은 홀수번째 디스크의 내측 영역에 기록되며, 상기 복수의 서브 블럭 중 짝수번째의 서브 블럭은 짝수번째 디스크의 외측 영역에 기록되도록 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  17. 제16항에 있어서, 상기 1 블럭을 처리하기 위한 제1 기간에서 상기 소스 데이타를 n개의 서브 블럭 데이타로 분할함과 동시에, 제2 기간에서 상기 소스 데이타를 n/2(n/2은 소수점 이하를 절사한 정수치)개의 서브 블럭 데이타로 분할함으로써, n/2개의 제1 사이즈의 서브 블럭 데이타를 생성하고, n/2 + 1개의 제2 사이즈의 서브 블럭 데이타를 생성하는 것을 특징으로 하는 데이타 기록 장치.
  18. 제17항에 있어서, 상기 제1 사이즈의 서브 블럭 데이타는 상기 디스크의 비교적 외주측의 트랙에 기록되는 데이타이며, 상기 제2 사이즈의 서브 블럭 데이타는 상기 제1 사이즈의 서브 블럭 데이타가 기록되는 디스크와는 다른 디스크의 비교적 내주측의 트랙에 있어서 상기 외주측의 트랙과 관련지워진 트랙에 기록되는 데이타인 것을 특징으로 하는 데이타 기록 장치.
  19. 제2항에 있어서, 상기 제어 수단은,
    상기 패리티 데이타 및 상기 복수의 서브 블럭을 소정의 전송 단위별로 분할하여 상기 데이타 처리 수단으로부터 상기 복수의 디스크 매체로 전송하는 것을 특징으로 하는 데이타 기록 장치.
  20. 제2항에 있어서, 상기 제어 수단은,
    상기 어느 서브 블럭으로부터 상기 서브 블럭에 인접하는 인접 서브 블럭으로 억세스할 때에 인접 서브 블럭이 기록된 트랙에 있어서 헤드의 회전 대기 시간이 최소가 되도록, 상기 서브 블럭의 기록 개시 위치와 기록 종료 위치가 이루는 각도를 나타내는 최적의 갭치와, 상기 인접 서브 블럭의 기록 개시 위치와의 이루는 각도를 나타내는 최적의 스큐치를 연산하는 것을 특징으로 하는 데이타 기록 장치.
  21. 제20항에 있어서, 상기 제어 수단은,
    상기 최적의 갭치와 상기 최적의 스큐치에 기초해서 상기 블럭 맵을 작성하고, 상기 블럭 맵을 참조하여 상기 복수의 서브 블럭 및 상기 패리티 데이타의 생성을 행하는 것을 특징으로 하는 데이타 기록 장치.
  22. 제21항에 있어서, 상기 제어 수단은,
    상기 갭치와 상기 스큐치가 대략 일정해지도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 장치.
  23. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크 매체에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타의 1블럭을 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과,
    상기 서브 블럭에 대해 지정된 상기 디스크 상의 위치에 따라 상기 데이타 처리 수단에서의 상기 서브 블럭의 분할수를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  24. 제23항에 있어서, 상기 제어 수단은,
    상기 서브 블럭의 상기 디스크 상의 기록 위치에 따라 상기 서브 블럭의 사이즈를 각각 결정하고,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭의 사이즈가 각각 상기 결정된 서브 블럭의 사이즈가 되도록 상기 데이타 처리 수단의 분할 처리를 제어하는 것을 특징으로 하는 데이타 기록 장치.
  25. 제23항에 있어서, 상기 데이타 처리 수단은,
    상기 1 블럭을 처리하는 제1 기간에 있어서, 상기 소스 데이타를 n개의 서브 블럭 데이타로 분할함과 동시에, 상기 1 블럭을 처리하는 제2 기간에 있어서 상기 소스 데이타를 n/2(n/2은 소수점 이하를 절사한 정수치)개의 서브 블럭 데이타로 분할함으로써,
    n/2개의 제1 사이즈의 서브 블럭 데이타를 생성하고, n/2 + 1개의 제2 사이즈의 서브 블럭 데이타를 생성하는 것을 특징으로 하는 데이타 기록 장치.
  26. 제25항에 있어서, 상기 제1 사이즈의 서브 블럭 데이타는 상기 디스크의 비교적 외주측의 트랙에 기록되는 데이타이며, 상기 제2 사이즈의 서브 블럭 데이타는 상기 제1 사이즈의 서브 블럭 데이타가 기록되는 디스크와는 다른 디스크의 비교적 내주측의 트랙에 있어서 상기 외주측의 트랙과 관련지워진 트랙에 기록된 데이타인 것을 특징으로 하는 데이타 기록 장치.
  27. 제26항에 있어서, 상기 데이타 처리 수단은,
    상기 제1 기간에서는 분할된 n개의 서브 블럭으로부터 패리티 데이타를 생성하고, 상기 제2 기간에서는 분할된 n/2개의 서브 블럭 데이타로부터 패리티 데이타를 생성하는 것을 특징으로 하는 데이타 기록 장치.
  28. 제27항에 있어서, 상기 패리티 데이타는 상기 제1 사이즈의 서브 블럭 데이타와 동일한 크기인 것을 특징으로 하는 데이타 기록 장치.
  29. 제28항에 있어서, 상기 패리티 데이타는 상기 제1 사이즈의 서브 블럭 데이타가 기록되는 디스크와는 다른 디스크의 외주측 트랙에 있어서, 상기 제1 사이즈의 서브 블럭 데이타가 기록된 트랙과 관련지워진 트랙으로 기록된 것을 특징으로 하는 데이타 기록 장치.
  30. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 기록하는 기록 수단과,
    상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 데이타 처리 수단에 의한 상기 복수의 서브 블럭과 상기 패리티의 생성 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  31. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성되는 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과,
    상기 서브 블럭에 대해 지정된 상기 디스크 상의 위치에 따라 상기 데이타 처리 수단에 의해 생성된 상기 서브 블럭 데이타와 상기 패리티 데이타와의 비를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  32. 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 비디오 데이타의 1 프레임의 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과,
    상기 서브 비디오 데이타의 신호 방식에 따라서 상기 1 프레임의 비디오 데이타의 분할수를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  33. 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과,
    상기 각 디스크의 외주측 영역 및 내주측 영역이 균일하게 사용되도록 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 기록하기 위해 사용되는 디스크를 1 프레임마다 가변하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  34. 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는 기록 수단과,
    상기 각 디스크의 외주측 영역 및 내주측 영역을 대략 균일하게 사용하기 위해 각 서브 블럭이 기록되는 위치에 따라, 상기 1 프레임의 비디오 데이타로부터 사이즈가 다른 복수 종류의 서브 블럭 및 상기 복수 종류에 대응하는 패리티 데이타를 생성하도록 상기 데이타 처리 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  35. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타의 1 블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭 데이타를 상기 각 기억 매체에 기록할 때, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하는 블럭 맵 생성 수단과,
    상기 블럭 맵에 기초해서 상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기억 매체에 각각 기록하는 기록 수단과,
    상기 블럭 맵에 대응한 사이즈의 서브 블럭을 생성하도록 상기 데이타 처리 수단에서의 상기 서브 블럭의 분할 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  36. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 장치에 있어서,
    상기 소스 데이타의 1 블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭 데이타를 상기 각 기억 매체에 기록할 때, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록 함과 동시에, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하는 수단과,
    상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 가변함으로써, 상기 블럭 맵에 의해 지정된 복수 사이즈의 크기를 갖는 복수의 서브 블럭을 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 수단과,
    상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는 수단
    을 구비한 것을 특징으로 하는 데이타 기록 장치.
  37. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 기록 매체에 기록하는 데이타 기록 방법에 있어서,
    상기 소스 데이타의 1 블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭 데이타를 상기 각 기억 매체에 기록할 때, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하고,
    상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써 상기 블럭 맵에 의해 지정된 복수 사이즈의 크기를 갖는 복수의 서브 블럭을 생성하고,
    상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는
    것을 특징으로 하는 데이타 기록 방법.
  38. 제37항에 있어서, 상기 블럭 맵은 상기 복수 디스크의 기록 영역을 이론적으로 포맷하기 위한 데이타인 것을 특징으로 하는 데이타 기록 방법.
  39. 제37항에 있어서, 상기 블럭 맵은 상기 복수의 디스크의 기록 영역을 리저브하기 위한 데이타인 것을 특징으로 하는 데이타 기록 방법.
  40. 제37항에 있어서, 상기 소스 데이타는 NTSC 또는 PAL 규격의 비디오 데이타이며,
    상기 비디오 신호의 규격에 대응한 블럭 맵을 각각 생성하는 것을 특징으로 하는 데이타 기록 방법.
  41. 제40항에 있어서, 상기 비디오 신호의 규격에 대응한 블럭 맵에 기초해서, 상기 소스 데이타의 1 블럭의 분할수를 제어하는 것을 특징으로 하는 데이타 기록 방법.
  42. 제37항에 있어서, 상기 블럭 맵의 데이타에 기초해서, 각 디스크의 내주측 영역 및 외주측 영역이 대략 균일하게 사용되도록, 1 블럭으로부터 생성되는 각 서브 블럭의 사이즈를 결정하고,
    상기 1 블럭으로부터 분할된 복수의 서브 블럭이, 각각 결정된 각 서브 블럭의 사이즈가 되도록 상기 1 블럭의 분할 처리를 제어하는 것을 특징으로 하는 데이타 기록 방법.
  43. 제37항에 있어서, 상기 랜덤 억세스 가능한 기록 매체는 디스크 매체이며,
    상기 소스 데이타의 기록을 시작하기 전에, 상기 소스 데이타로부터 생성된 복수의 서브 블럭 데이타와 그 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타가 각각 관련지워진 디스크 매체 및 트랙에 기록되도록 상기 블럭 맵이 생성되는 것을 특징으로 하는 데이타 기록 방법.
  44. 제43항에 있어서, 상기 블럭 맵을 참조함으로써 상기 소스 데이타의 1블럭으로부터 생성된 복수 서브 블럭을 기억하기 위한 디스크, 및 그 디스크상에서의 서브 블럭의 기록 위치 및 서브 블럭의 사이즈를 결정함과 동시에,
    상기 블럭 맵을 참조함으로써 상기 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타를 기록하기 위한 디스크, 그 디스크 상에서의 패리티 데이타의 기록 위치를 결정하는 것을 특징으로 하는 데이타 기록 방법.
  45. 제44항에 있어서, 상기 디스크 매체의 외주측 영역 및 내주측 영역을 균일하게 사용하기 위해서, 상기 소스 데이타의 1블럭을 처리할 때마다 상기 외주측 영역 및 상기 내주측 영역을 교대로 사용하는 것을 특징으로 하는 데이타 기록 방법.
  46. 제45항에 있어서, 상기 패리티 데이타는 항상 상기 디스크의 외주측에 기록되도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 방법.
  47. 제46항에 있어서, 상기 소스 데이타로부터 생성된 복수 서브 블럭 및 상기 복수의 서브 블럭 데이타로부터 생성된 패리티 데이타를 기억하기 위한 디스크 매체를, 상기 1블럭을 처리할 때마다 시프트하도록 상기 블럭 맵이 생성되는 것을 특징으로 하는 데이타 기록 방법.
  48. 제47항에 있어서, 제n번째 블럭의 데이타를 기록하는 경우에는 상기 패리티 데이타가 홀수번째의 디스크 매체의 외주측에 기록되며, 상기 복수의 서브 블럭 중 홀수번째의 서브 블럭은 짝수번째 디스크의 내측 영역에 기록되며, 상기 복수의 서브 블럭 중 짝수번째의 서브 블럭은 홀수번째 디스크의 외측 영역에 기록되도록 블럭 맵이 생성되며,
    제n+1번째 블럭의 데이타를 기록하는 경우에는 상기 패리티 데이타가 짝수번째 디스크의 외주측에 기록되며, 상기 복수의 서브 블럭 중 홀수번째의 서브 블럭은 홀수번째 디스크의 내측 영역에 기록되며, 상기 복수의 서브 블럭 중 짝수번째의 서브 블럭은 짝수번째 디스크의 외측 영역에 기록되도록 블럭 맵이 생성되는 것을 특징으로 하는 데이타 기록 방법.
  49. 제48항에 있어서, 상기 1 블럭을 처리하는 제1 기간에 있어서 상기 소스 데이타를 n개의 서브 블럭 데이타로 분할함과 동시에, 상기 1 블럭을 처리하는 제2 기간에 있어서 상기 소스 데이타를 n/2(n/2는 소수점 이하를 절사한 정수치)개의 서브 블럭 데이타로 분할함으로써, n/2개의 제1 사이즈의 서브 블럭 데이타를 생성하고, n/2+1개의 제2 사이즈의 서브 블럭 데이타를 생성하는 것을 특징으로 하는 데이타 기록 방법.
  50. 제49항에 있어서, 상기 제1 사이즈의 서브 블럭 데이타는 상기 디스크의 비교적 외주측의 트랙에 기록되는 데이타이며, 상기 제2 사이즈의 서브 블럭 데이타는 상기 제1 사이즈의 서브 블럭 데이타가 기록되는 디스크와는 다른 디스크의 비교적 내주측의 트랙으로서, 상기 외주측의 트랙과 관련지워진 트랙에 기록되는 데이타인 것을 특징으로 하는 데이타 기록 방법.
  51. 제37항에 있어서, 상기 어느 서브 블럭으로부터 상기 서브 블럭에 인접하는 인접 서브 블럭으로 억세스할 때에, 인접 서브 블럭이 기록된 트랙에 있어서 헤드의 회전 대기 시간이 최소가 되도록, 상기 서브 블럭의 기록 개시 위치와 기록 종료 위치가 이루는 각도를 나타내는 최적의 갭치와, 상기 인접 서브 블럭의 기록 개시 위치와의 이루는 각도를 나타내는 최적의 스큐치를 연산하는 것을 특징으로 하는 데이타 기록 방법.
  52. 제51항에 있어서, 상기 최적의 갭치와 상기 최적의 스큐치에 기초하여 상기 블럭 맵을 작성하고, 상기 블럭 맵을 참조하여 상기 복수의 서브 블럭 및 상기 패리티 데이타의 생성을 행하는 것을 특징으로 하는 데이타 기록 방법.
  53. 제52항에 있어서, 상기 갭치와 상기 스큐치가 대략 일정해지도록 상기 블럭 맵을 생성하는 것을 특징으로 하는 데이타 기록 방법.
  54. 공급된 소스 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 방법에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록 이론적으로 상기 디스크의 기록 영역을 포맷함과 동시에, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하고,
    상기 블럭 맵에 기초하여 상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 소스 데이타를 분할하여 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써, 상기 블럭 맵에 의해서 지정된 복수 사이즈의 복수의 서브 블럭을 생성하고,
    상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 기록하는
    것을 특징으로 하는 데이타 기록 방법.
  55. 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 방법에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 소스 비디오 데이타의 신호 규격에 따라서 생성하고,
    상기 생성된 블럭 맵에 기초하여 상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 소스 데이타를 분할하는 분할 처리를 제어함으로써, 상기 블럭 맵에 의해서 지정된 복수 사이즈의 복수의 서브 블럭을 생성하고,
    상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는
    것을 특징으로 하는 데이타 기록 방법.
  56. 공급된 소스 비디오 데이타를 랜덤 억세스 가능한 복수의 디스크에 기록하는 데이타 기록 방법에 있어서,
    상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 각 디스크의 외주측 영역 및 내주측 영역을 균일하게 사용하도록, 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 기록하기 위해 사용되는 디스크를 1 프레임마다 시프트함과 동시에, 상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 기록하는
    것을 특징으로 하는 데이타 기록 방법.
  57. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서,
    상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해서 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 전송하는 전송 수단과,
    상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 데이타 처리 수단에 의한 상기 복수의 서브 블럭과 상기 패리티의 생성 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 디스크 어레이 제어 장치.
  58. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서,
    상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록 상기 각 서브 블럭의 기록 위치를 결정하고, 상기 복수의 서브 블럭이 상기 결정한 서브 블럭의 기록 위치에 기초한 사이즈가 되도록 상기 데이타 처리 수단에 의한 상기 복수의 서브 블럭과 상기 패리티의 생성 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 디스크 어레이 제어 장치.
  59. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서,
    상기 소스 비디오 데이타의 1 프레임의 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해서 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 전송하는 전송 수단과,
    상기 소스 비디오 데이타의 신호 방식에 따라서 상기 1 프레임의 비디오 데이타의 분할수를 가변하도록 상기 데이타 처리 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 디스크 어레이 제어 장치.
  60. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서,
    상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해서 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 전송하는 전송 수단과,
    상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 기록하기 위해서 사용되는 디스크를 1 프레임마다 가변하도록 상기 전송 수단을 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 디스크 어레이 제어 장치.
  61. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 장치에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵으로서, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록, 상기 각 서브 블럭의 기록 위치를 결정하기 위한 블럭 맵을 생성하는 블럭 맵 생성 수단과,
    상기 블럭 맵에 기초하여 상기 소스 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하는 데이타 처리 수단과,
    상기 데이타 처리 수단에 의해서 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 각각 기록하는 기록 수단과,
    상기 블럭 맵에 대응한 사이즈의 서브 블럭을 생성하도록 상기 데이타 처리 수단에서의 상기 서브 블럭의 분할 처리를 제어하는 제어 수단
    을 구비한 것을 특징으로 하는 디스크 어레이 제어 장치.
  62. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 방법에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵으로서, 상기 복수의 서브 블럭을 각 디스크에 기록하는 기록 처리 및 상기 복수의 서브 블럭을 각 디스크로부터 재생하는 재생 처리가, 리얼 타임성을 보증하면서 일정 시간 내에 행해지도록 상기 각 서브 블럭의 기록 위치를 결정하기 위한 블럭 맵을 생성하고,
    상기 소스 데이타를 분할하여 상기 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써 상기 블럭 맵에 의해서 지정된 복수 사이즈의 크기를 갖는 복수의 서브 블럭을 생성하고, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 기록 매체에 기록하는
    것을 특징으로 하는 디스크 어레이 제어 방법.
  63. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 방법에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 생성하고,
    상기 블럭 맵에 기초하여 상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 소스 데이타를 분할하여 복수의 서브 블럭을 생성하는 분할 처리를 제어함으로써 상기 블럭 맵에 의해서 지정된 복수 사이즈의 복수의 서브 블럭을 생성하고,
    상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 기록하는
    것을 특징으로 하는 디스크 어레이 제어 방법.
  64. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 방법에 있어서,
    상기 소스 데이타의 1블럭의 데이타를 분할함으로써 생성된 복수의 서브 블럭을 상기 각 기억 매체에 기록할 때에, 헤드의 회전 대기 시간이 최소가 되는 위치에 상기 각 서브 블럭이 기록되도록, 이론적으로 상기 디스크의 기록 영역을 포맷하기 위한 블럭 맵을 소스 비디오 데이타의 신호 규격에 따라서 생성하고,
    상기 생성된 블럭 맵에 기초하여 상기 각 디스크의 외주측 및 내주측의 기록 영역이 균일하게 사용되도록 상기 소스 데이타를 분할하는 분할 처리를 제어함으로써, 상기 블럭 맵에 의해서 지정된 복수 사이즈의 복수의 서브 블럭을 생성하고,
    상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 각각 기록하는
    것을 특징으로 하는 디스크 어레이 제어 방법.
  65. 복수의 디스크로 구성되는 디스크 어레이를 제어하기 위한 디스크 어레이 제어 방법에 있어서,
    상기 소스 비디오 데이타를 분할함으로써 복수의 서브 블럭 데이타를 생성함과 동시에, 상기 복수의 서브 블럭으로부터 상기 복수의 서브 블럭의 에러를 정정하기 위한 패리티 데이타를 생성하고,
    상기 각 디스크의 외주측 영역 및 내주측 영역을 균일하게 사용하도록 상기 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 기록하기 위해서 사용되는 디스크를 1 프레임마다 시프트함과 동시에, 상기 생성된 복수의 서브 블럭 데이타 및 상기 패리티 데이타를 각각 다른 디스크에 기록하는
    것을 특징으로 하는 디스크 어레이 제어 방법.
KR1019980710009A 1997-04-07 1998-04-07 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법 KR20000016425A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10394497 1997-04-07
JP97-103944 1997-04-07

Publications (1)

Publication Number Publication Date
KR20000016425A true KR20000016425A (ko) 2000-03-25

Family

ID=14367561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980710009A KR20000016425A (ko) 1997-04-07 1998-04-07 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법

Country Status (4)

Country Link
EP (1) EP0905693A4 (ko)
KR (1) KR20000016425A (ko)
CN (1) CN1228187A (ko)
WO (1) WO1998045840A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100613056B1 (ko) * 2002-11-20 2006-08-16 인터내셔널 비지네스 머신즈 코포레이션 오정정 보호 방법, 저장 장치, 데이터 세트 보호 방법,데이터 저장 장치, 및 에러 정정 코드
KR100694300B1 (ko) * 2005-12-08 2007-03-14 한국전자통신연구원 블록 분할 분산 패리티 디스크 어레이에서의 데이터 배치및 제어 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166887A (ja) 1999-12-08 2001-06-22 Sony Corp データ記録再生装置及びデータ記録再生方法
US7814128B2 (en) * 2003-05-30 2010-10-12 Symantec Operating Corporation Multi-volume file support
US7562230B2 (en) 2003-10-14 2009-07-14 Intel Corporation Data security
US7711965B2 (en) 2004-10-20 2010-05-04 Intel Corporation Data security
JP2015532985A (ja) * 2012-09-06 2015-11-16 ピーアイ−コーラル、インク. 大規模なデータ記憶および受け渡しシステム
CN104168253A (zh) * 2013-05-17 2014-11-26 环达电脑(上海)有限公司 保护网络上传信息的方法及储存控制系统
GB2519815A (en) * 2013-10-31 2015-05-06 Ibm Writing data cross storage devices in an erasure-coded system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457703A (en) * 1990-11-21 1995-10-10 Hitachi, Ltd. Array disk system and control method thereof
JPH0738854A (ja) * 1993-07-20 1995-02-07 Matsushita Electric Ind Co Ltd ディスク記録再生方法およびディスク記録再生装置
JPH07235151A (ja) * 1994-02-21 1995-09-05 Sony Corp 映像送出装置
JPH08203209A (ja) * 1995-01-26 1996-08-09 Alps Electric Co Ltd ディスク媒体及びディスク媒体への書き込み方式
JP3528394B2 (ja) * 1996-01-23 2004-05-17 ソニー株式会社 データ記録再生装置
US5742443A (en) * 1996-05-31 1998-04-21 Industrial Technology Research Institute Method and apparatus for data placement of continuous media to utilize bandwidth efficiency
EP0834878A2 (en) * 1996-10-04 1998-04-08 Sony Corporation Method and device for controlling access to a disc storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100613056B1 (ko) * 2002-11-20 2006-08-16 인터내셔널 비지네스 머신즈 코포레이션 오정정 보호 방법, 저장 장치, 데이터 세트 보호 방법,데이터 저장 장치, 및 에러 정정 코드
KR100694300B1 (ko) * 2005-12-08 2007-03-14 한국전자통신연구원 블록 분할 분산 패리티 디스크 어레이에서의 데이터 배치및 제어 방법

Also Published As

Publication number Publication date
EP0905693A4 (en) 2001-02-14
CN1228187A (zh) 1999-09-08
WO1998045840A1 (fr) 1998-10-15
EP0905693A1 (en) 1999-03-31

Similar Documents

Publication Publication Date Title
US6356701B1 (en) Editing system and method and distribution medium
JP4126713B2 (ja) 画像再生装置および画像再生方法
KR20000016426A (ko) 편집 시스템 및 편집 방법
GB2312316A (en) Raid system for video data storage with optimum frame striping
KR20000016425A (ko) 데이타 기록 장치 및 방법, 디스크 어레이 제어 장치 및 방법
US7016601B1 (en) Method and apparatus for storing different types of data on the same storing medium
US6308007B1 (en) Recording and reproducing device
JPH11317926A (ja) データ記録再生装置および方法
JPH10283126A (ja) データ記録装置および方法、並びにデータ再生装置および方法
JPH10285554A (ja) 誤り訂正データ生成装置および方法、誤り訂正装置および方法、並びにデータ記録装置および方法
JPH10285553A (ja) データ記録装置および方法
JPH11306671A (ja) 編集装置および方法、並びに提供媒体
JPH10285524A (ja) 編集装置および方法
JPH11296971A (ja) 編集装置および方法、並びに提供媒体
JPH11306670A (ja) 編集装置および方法、並びに提供媒体
JPH11306668A (ja) 編集装置および方法、並びに提供媒体
JPH11296972A (ja) 編集装置および方法、並びに提供媒体
JPH11296973A (ja) 編集装置および方法、並びに提供媒体
JPH11296974A (ja) 編集装置および方法、並びに提供媒体
JPH10289204A (ja) 調停装置および方法
US6351597B2 (en) Data recording and reproducing method and data recording and reproducing apparatus
JPH11306669A (ja) 情報処理装置および方法、並びに提供媒体
JP4288802B2 (ja) 記録再生装置及び記録再生タイミングの調整方法
JP4144137B2 (ja) 映像記録再生装置及びモニター用信号の出力方法
JP4131032B2 (ja) データ再生装置及び方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid