1. SCSI의 정의
2. SCSI의 등장 배경
3. SCSI Architecture
(1) SCSI adapter의 구조
(2) SCSI device
(3) Convertor
(4) SCSI 구성과 Cabling
① SCSI Bus Topology
② External and Internal Device
③ Number of device
④ SCSI Bus Termination
⑤ SCSI device ID
⑥ 케이블 및 주변기기 연결
4. SCSI protocol and transfer mode
(1) Single-Ended and Differential SCSI
(2) SCSI Bus Width(Narrow and Wide)
(3) SCSI Bus Speed(Regular, Fast and Ultra)
5. SCSI와 운영체제
(1) 도스에서의 SCSI
(2) 윈도우95에서의 SCSI
(3) 윈도우NT에서의 SCSI
6. 다른 INTERFACE 방식과의 비교
(1)ST 506/412 Interface 방식
(2)AT-BUS Interface 방식
(3) ESDI Interface 방식
(4) E-IDE Interface 방식
(5) EIDE와 SCSI의 비교
7. 결론
*Reference
1. SCSI의 정의
-SCSI는 SCSI는 Small Computer System Interface의 약자로써, 1979년에 하드디스크 드라이브 제조업체등이 중심이 되어 독일의 드라이브 제조 업체인 스튜르가르트사에 모여 제정한 방식이다.
SCSI는 기존 인터페이스 방식들의 비호환성문제를 극복하고 보다 높은 성능을 위하여 사용되어 왔으며 현재 전세계적인 표준 인터페이스로 정착되어 있다.
SCSI는 개별적인 인터페이스를 통합하여 컴퓨터간의 서로 다른 주변기기 인터페이스를 하나를 묶는 호환성의 유지라는 측면에서 필요성이 대두되어 ANSI에 의하여 표준화되었다.
2. SCSI의 등장 배경
여기서 우리가 주목해야 하는 것은 SCSI가 등장한 이유다. 물론 여러 가지 이유가 있겠지만 SCSI 인터페이스가 등장함으로써 주변기기와 시스템을 연결하는데 하나의 표준적인 인터페이스가 사용되기 시작했고, 또한 다수의 주변기기를 하나의 인터페이스로 통합해서 연결할 수 있게 되었다.
SCSI 인터페이스는 근래 들어 다양한 종류의 어댑터 카드와 주변기기가 사용되고 있는 추세와 맞물려 이제는 보편적인 장비중의 하나로 인식되고 있다. 물론 아직까지도 SCSI 인터페이스에 대해서 들어본 적이 없는 컴퓨터 사용자도 많은 편이며, 가격 문제로 인해 선뜻 이를 선택하지 못하는 것도 현실이다.
--SCSI 시스템이 필요한 이유
SCSI 인터페이스가 등장한 이후 이와 관련된 여러 가지 장비들이 개발되었으며 현재 사용되고 있다. 이들 SCSI 장비는 타 인터페이스를 사용하는 장비에 비해 높은 가격 대에 책정되어 있지만, 이를 사용하는 데에는 몇 가지 이유가 있다.
▶I/O 시스템의 속도 향상
컴퓨터를 사용하는 가장 단순한 이유는 보다 작업을 신속하게 처리하려는데 목적이 있다. 이를 위해 지금까지 많은 시간동안 보다 빠르게 데이터를 처리하는 컴퓨터가 개발되었으며, 지금 이 시간 역시 ꡒ더욱 빠르게ꡓ를 외치는 수많은 사람들이 연구에 매달리고 있다.
컴퓨터의 속도는 프로세서에만 의존하지는 않는다. 물론 프로세서의 처리 능력도 중요하지만 거기에 맞춰 입출력(I/O) 시스템의 속도 역시 전체적인 수행 능력에 큰 영향을 끼치게 된다.
기존의 입출력 시스템을 살펴보면 이들은 PIO(Programmed I/O)라고 불리는 형태로 데이터를 교환한다. 이 방식은 매번 데이터를 교환할 때 처음부터 끝까지 프로세서가 참여하는 경우를 의미한다. 따라서 프로세서는 자신에게 맡겨진 데이터를 처리하는 것 외에도 I/O 시스템의 데이터 전송에도 관여해야 하므로 빠른 수행에 방해가 될 뿐더러 프로세서에 심한 부하가 걸리게 된다.
그러나 SCSI 인터페이스는 버스마스터링기법 (확장 보드나 소프트웨어가 입출력하는 버스의 점유권을 쥐고 버스를 직접 제어하는 것을 말한다. 버스의 데이터 입출력 제어는 CPU에서 일괄 관리하나 주변기기가 고성능화 되면 대량의 데이터를 고속으로 주고받을 때가 있다. 그러나 이런 경우는 CPU의 간섭으로 속도가 느려진다. 그래서 버스 상에서 데이터 전송 처리를 일임하는 마이크로프로세서를 확장 보드에 장착하거나 소프트웨어적으로 이를 제어하는데, 이를 버스마스터링 기술이라 한다. 물론 SCSI 인터페이스를 지원하는 어댑터 중에는 버스마스터링을 지원하지 않는 저가격의 제품도 다수 나와 있다. 이들 방식은 PIO를 사용함으로써 데이터 전송시 CPU에 다소의 부담을 준다.
▶장치간의 호환성 보장
SCSI라는 말은 우리가 흔히 사용하는 IBM 호환용 컴퓨터에만 국한되는 것은 아니다. 출판물을 만드는데 자주 이용되는 매킨토시나 유닉스 시스템으로 주로 사용되는 썬 워크스테이션 등에서도 SCSI 장비는 사용된다. 이들은 모두 각각의 시스템에 맞게 만들어진 SCSI 어댑터에 의해 인터페이스를 제공하고 있으며, 이들 인터페이스는 대부분의 SCSI 장비와 상호 호환성을 가지고 있다.
기본 저장 장치로 이용되는 하드디스크를 살펴보면, SCSI 하드디스크 하나만 있다면 시스템을 불문하고 여러 기종에서 동등하게 사용 가능하다. 다만 사용자는 자신이 가진 SCSI 하드디스크를 시스템의 SCSI 인터페이스에 연결해 주기만 하면 되기 때문이다.
물론 경우에 따라서는 완전한 호환성을 보장하지 못하는 경우도 있다. CD-ROM의 경우 썬과 IBM 호환기종에서 사용하는 섹터의 크기가 다르다. 그래서 SCSI CD-ROM중에는 각각의 상황에 맞추어 섹터의 크기를 임의로 조정해주는 점퍼나 딥스위치가 지원되기도 한다.
이동형 장비에도 SCSI는 자주 이용되고 있다. 100MB의 저장 용량을 지원하는 집(Zip) 드라이브의 경우 패러렐, IDE, SCSI 방식이 모두 존재하는데, SCSI 방식의 집드라이브의 경우 매킨토시, 썬, IBM 호환기종에서 모두 사용이 가능함으로 매체간의 호환성을 보장하는 좋은 경우다.
▶관리의 편리성
SCSI 인터페이스의 주변기기를 사용하는 경우, 이들 시스템을 관리하는 방법은 매우 간단하다. 우리가 주로 사용하고 있는 IDE 방식의 하드디스크로 본다면 마스터와 슬레이브 개념을 유념하고 있어야 한다. 또한 각 하드디스크간의 매칭 문제도 있으므로 다수의 하드디스크를 한 시스템에 설치할 경우 충돌이 일어나거나 인식 상에 문제가 생기는 경우도 있다.
그러나 정작 중요한 것은 한 시스템에서 지원하는 IDE 장비의 개수는 네 개뿐이라는 것이다. 따라서 이들 장비를 연결하다 보면 어느새 연결 커넥터가 모자라게 되기도 한다.
SCSI 장비는 하나의 호스트 어댑터당 일곱 개에서 열 다섯 개의 장비를 연결할 수 있으며, 이들 장비를 연결할 때에도 각각 ID 넘버만 부여하면 되므로 연결과 분리가 간단하다.
더 나아가서는 SCSI 전용 장비들이 나와 있는 것도 주지해야할 부분이다. 현재 인기를 끌고 있는 CD-R의 경우 대부분 SCSI 인터페이스를 갖추고 있다. 물론 IDE 방식의 CD-R도 그 모습을 보이고 있기는 하지만 아직까지는 SCSI 방식이 주류를 이룬다. 또한 테이프 백업이나 DAT 역시 SCSI 방식을 선호하고 있으며, 그래픽 관련 업체에서 주로 사용하는 스캐너도 마찬가지다.
또한 이들 장비들을 모두 한번에 사용하는 사람이 있다면, 기존의 IDE 방식으로 모두 연결할 방법이 없다. 오직 SCSI 방식만이 유일한 대안인 셈이다.
3. SCSI버스의 구조
SCSI는 메인보드의 바이오스의 통제를 받지 않는 독립된 규약이다.
따라서 SCSI는 별도의 SCSI의 운영을 위한 BIOS와 제어장치를 가지고 있어야 한다.
이를 위해 컴퓨터에 부가되는 장치가 SCSI 어댑터이며, SCSI 어댑터에는 ANSI의 표준을 따르는 SCSI BIOS가 장착되어 있다.
또한 SCSI는 BIOS내에 별도의 SETUP프로그램을 가지고 있어 SCSI의 기기의 관리를 할 수 있다.
(1)SCSI adapter의 구조
대부분의 SCSI카드는 내장용 SCSI 기기 들을 연결할 수 있는 내부 SCSI 헤더 1개와 외장형 SCSI 주변기기들을 연결할 수 있는 외부 커넥터 1개를 기본적으로 가지고 있으며 카드의 I/O(Input/Output) 어드레스와 BIOS 어드레스 영역, DMA 채널(Direct Memory Access : CPU를 통하지 않고 주변기기의 인터페이스 장치에 제어 권을 주어 직접 주기억과 데이터를 주고받는 방식. 그 동안 CPU는 다른 작업을 할 수 있어 효율적이다. 일반적으로 주기억장치와 주변기기의 데이터 교환은 CPU가 관리하는데 이런 방식은 PIO라 불린다.), DMA 인터럽트(Interrupt) 채널 등을 선택할 수 있는 점퍼 핀이나 DIP 스위치 등을 가지고 있어서 다른 장치들과의 충돌을 피해서 설치할 수 있도록 하고 있다.
또 SCSI 카드 중에는 FDD도 제어할 수 있도록 34 핀 FDD 헤더를 가지고 있는 것도 있다.
이렇게 하여 SCSI카드는 카드 한 장으로 FDD 뿐 아니라 7개까지의 SCSI 기기 들을 동시에 제어할 수 있는 것이다.
그림 1.SCSI 카드
(2)SCSI device
①narrow device: narrow device는 50-pin input을 필요로 한다. 신호는 이 50핀을 따라서 운반된다.
그림 2.narrow device
②wide device: wide device는 68-pin input을 필요로 한다. 신호는 이 68핀을 따라서 운반된다.
그림3.widedevice
(3)Converter
①external converter: 68-pin external connection에서 50-pin external로 data가 갈 때 High Data Byte부분을 제거하고 Low Data Byte와 Control만 통과시킨다. 이때 50-pin connection부분에는 8-bit device가 연결되어야 한다.
그림 4.external converter
②internal converter: 68-pin ribbon cable connector에서 50-pin connector로 convert시킴
이 때 High Data Byte를 external과는 달리 제거하지 않고, 저장시킨다. 나머지 부분은 그냥 통과시킨다. Internal convertor를 사용할 때는 어느 곳에서나 사용할 수 있지만, 마지막 connector에는 연결시키면 안 된다. Internal convertor를 사용하면 ribbon cable의 마지막 device는 wide device로써 terminated 되어야 한다.
그림 5. Internal converter.
(4)SCSI 구성과 Cabling
SCSI device는 특별히 높은 bus speed에 맞게 발전된 것들이다. 그리고 SCSI는 internal device와 external device 들의 사용에 맞게 유연성을 가지고 있다.
그림6. SCSI 디바이스 연결 구성도.
①SCSI Bus Topology
SCSI bus는 bus topology를 사용한다. 이것이 뜻하는 것은 모든 device들이 긴 라인을 따라서 daisy-chained 방식으로 연결된다는 것이다. 이 방식은 종종 SCSI chain이라고도 불린다.
SCSI bus를 setting할 때는 각 device들이 한 라인에 있어야 한다. 이것이 의미하는 바는 각 device들이(host adapter를 포함하여) 하나나 둘의 다른 device들과 연결된다는 것이다. 그리고 하나나 둘 이상은 안 된다. bus의 각 끝에 있는 device들은 반드시 종단 저항을 가지고 있어야 한다.
Terminator---deviceA---deviceB---deviceC---Terminator
각 device들은 내장형일 수도 있고 외장형일 수도 있다.
②External and Internal Device
IDE/ATA는 제한된 케이블의 길이 때문에 internal device만 지원하는데, SCSI는 internal과 external device를 지원한다.
논리적으로는 external과 internal device들은 차이가 없지만, 실제적으로는 케이블 사용뿐만 아니라 install 하는 것에도 차이점이 있다
그림 7(internal)
그림8(external)
.
③ Number of device
SCSI의 장점은 bus상에 많은 device들을 지원한다는 것이다. 그리고 SCSI는 동시에 두 device에서 컴퓨터와의 대화가 가능하다.
Narrow(8-bit) SCSI는 single-bus에 8개의 device를 지원한다. 반면에 Wide(16-bit) SCSI는
16개까지 지원한다. 여기서 host adapter도 포함된 수이기 때문에, 이것을 제외하면 narrow는 7개, wide는 15개를 지원하는 셈이다.
④SCSI Bus Termination
SCSI BUS에 연결되는 SCSI 기기 중 마지막에 연결되는 기기는 저항으로 반드시 종단(Terminated)하여야 한다.
그렇게 하지 않으면 SCSI BUS를 통하는 신호가 BUS의 끝에서 반사하기 때문에 좋지 않은 결과가 나온다.
그래서 SCSI 카드에 연결할 기기 들을 세팅할 때 우선적으로 고려하여 할 사항은 내부에 연결되는 SCSI 기기는 통상 그 자체에 종단 저항을 갖고 있으므로 그 저항을 그대로 두거나 제거할 수도 있게 되어 있다. 스위치나 점퍼 세팅으로 저항을 접속 또는 제거하는 결과가 되게 할 수도 있다.
SCSI 기기 들은 데이지 체인으로 연결하는데 이것은 SCSI 기기 들을 SCSI BUS에 병렬로 연결했다는 뜻이다.
외부에서 연결되는 SCSI 기기 들은 대부분 그 자체에 종단저항을 가지고 있으므로 체인의 중간에 오는 기기는 반드시 종단저항을 제거하여야 한다.
SCSI 카드에도 종단저항이 있는데 SCSI 카드 자체가 체인의 한쪽 끝의 역할을 하는 경우에는 종단저항을 그대로 두어야 한다.
AT-BUS와 FDD 컨트롤러 기기가 모두 한 개의 SCSI 카드에 연결되어 SCSI 카드가 체인의 중간에 오게 된 경우는 SCSI 카드의 종단저항을 제거하여야 한다.
가)Passive Termination: 가장 오래되고 간단하며, 가장 적은 신뢰도를 가지 는 저항이다. 그리고, 간단한 저항기를 사용하여 버스 내에서 종단 저항을 발생한다. 이 방식은 Ethernet에서 사용되는 방식과 비슷하다. 이것은 짧고, 느린 SCSI bus에는 적당하나, 빠른 SCSI 나 다른 진보된 application에는 적당하지 않 다.
나)Active Termination: Passive Termination의 저항기에 전압조절기를 덧붙인 것이다. 좀 더 신뢰도가 높고 일관된 종단 저항을 발생시킬 수 있다. 이 것은 최소 한의 fast-SCSI를 요구한다.
다)Forced Perfect Termination(FPT): 이것은 active termination에서 좀 더 진 보된 형태의 termination으로 회로에 diode clamps를 연결하여, 좀 더 정확한 전압 을 발생시켜 종단 저항 값을 좀 더 정확히 얻을 수 있다. 이것은 사실상 신호의 반 사나 다른 문제점을 제거한 SCSI bus의 가장 최상의 종단 저항이다.
⑤SCSI device ID
SCSI 기기 들은 각 기기마다 고유의 인식 코드인 ID(Identification)를 설정해 줄 수 있도록 DIP(Dual In-line Package) 스위치나 점퍼가 마련되어 있어서 각 기기 들이 서로 충돌 없이 운용되도록 하고 있으므로 연결된 기기마다 고유의 서로 다른 SCSI ID로 세팅해 주어야 한다.
각 SCSI 기기 들은 번호에 의해서 bus상에 addressing된다. Narrow SCSI에서는 0번부터 7번까지, 그리고 Wide SCSI 에서는 0번부터 15번까지 매겨진다. SCSI 버스 상에서 우선 순위는 ID number에 기초한다. 따라서 narrow SCSI에서는 7번이 가장 높은 우선 순위이고, 0번이 가장 낮은 우선 순위를 가지고 있다.
이 때 하드디스크와 같이 다른 장치에 비하여 속도가 빠른 장치를 우선적으로 작은 번호부터 설정해 주어야 한다.
⑥케이블 및 주변기기 연결
내장형 SCSI 기기 들을 연결하려면 내부 플랫케이블을 사용한다. 흔히 구할 수 있는 SCSI 케이블에는 SCSI 카드 쪽에 연결하는 커넥터 표시부 에 곧바로 접속한다.
외부 SCSI 기들을 연결하는 케이블은 3 종류가 있다. 센트로닉스 (Centronics) 프린터 커넥터처럼 생긴 50핀 암페놀(Amphenol) 커넥터와 크기가 약간 작은 SCSI-II 형의 고밀도 50핀 커넥터, 또는 매킨토시 호환의 25핀형 SCSI 커넥터이다.
외장형 SCSI 기기는 통상 2개의 50핀 암페놀 커넥터를 가지고 있어서 SCSI 기기 들을 데이지 체인형으로 연결할 수 있다. 따라서 SCSI 기기를 한 개씩 추가하여 연결할 때마다 케이블이 하나씩 더 필요하다.
외장형 SCSI 기기 들을 연결할 때는 케이블 커넥터의 암수를 구별하여 제대로 연결해야 하고 어떤 경우는 동일 케이블 양끝에 붙은 커넥터도 PC에 접속해야 하는 커넥터와 SCSI 기기에 접속해야 하는 AT-BUS FDD 컨트롤러가 슬롯에 그대로 꽂혀있는 경우에는 FDD 컨트롤러 상의 점퍼를 변경하여 FDD를 Disable로 설정해 두어야 SCSI 카드 상의 FDD 컨트롤러와의 충돌을 방지할 수 있다
4.SCSI protocol and transfer mode
SCSI는 여러 가지의 타입이 있다. 예를 들면, SCSI bus에서 bus 폭의 차이와 실행하는 속도의 차이등.. Protocol은 cabling과 처리율을 구분하는 데 사용된다.
(1)Single-Ended and Differential SCSI
SCSI는 여러 device를 높은 속도로 지원할 수 있는 능력이 있다. 이 높은 속도 때문에 특별히 외부 cabling은 언제나 bus상에서 signal 보존에 관련한다. 긴 케이블은 잠재적으로 signal 하락이나 혼신이라는 문제점을 가지게 된다. 빠른 버스일수록 이 signal을 유지하는데 어려움이 더 많다.
따라서 SCSI는 두 개의 다른 전기적인 신호 시스템으로 정의되었다.
①Single-ended SCSI: 이것은 “Regular"SCSI로서, 다른 버스들에서 사용되어져 온 전통적인 signaling의 형식이다. 기본적으로 양의 전압 "one"가 있고 그라운드인 "zero"가 있다. 그리고 각 시그널은 하나의 선의 의해서 운반된다. 이 방식은 대부분의 SCSI 타입과는 가장 거리가 멀다. 그러나 버스의 케이블의 길이가 상당히 제한되어 있다.
②Differential SCSI: 이것은 다른 signaling의 형태를 사용하는데 각 시그널은 두 개의 다른 선에 의해서 운반된다. 여기서 "one"은 한 선의 양수의 전압으로 표현되고 다른 하나는 음수의 전압으로 표현된다. Zero는 전기적인 접지나 양쪽선의 zero 전압이다. 신호마다 두 개의 컨덕터의 사용은 신호를 좀더 탄력성 있게 하고 방해를 덜 받는다. 이것은 single-ended SCSI보다 좀더 긴 케이블을 사용할 수 있게 해 준다. 그러나 비용이 더 든다. Differential SCSI는 값이 비싸기 때문에 일반 PC에는 별로 없다.
③Single-ended와 Differential SCSI는 전기적 레벨로 양립 할 수 없다. Single-ended와 Differential SCSI 디바이스들을 같은 버스 상에 쓸 수 없다. 그러나 컨버터가 이 두 가지 방식을 사용할 수 있게 해 준다.
(2)SCSI Bus Width( Narrow and Wide)
일반적으로 SCSI 버스 폭에 사용되는 두 가지 방식이 있는데, narrow와 wide 이다.
narrow SCSI는 8bit 폭의 데이터 경로를 사용하고 wide SCSI는 16bit 데이터 폭을 사용한다. narrow SCSI는 SCSI의 전통적인 형태이다. wide SCSI는 새로운 것이고 버스 대역폭이 두 배이다. wide SCSI는 16개의 디바이스의 사용을 허락하고 narrow SCSI는 8개의 디바이스를 허용한다.
Narrow SCSI bus는 “regular"로 간주되고, default type이다. 따라서 이것은 protocol의 이름으로 언급되지는 않는다. Wide는 protocol의 이름에 삽입된다.
같은 버스 상에 narrow와 wide SCSI를 혼합하는 게 가능하다. 이러기 위해서는 converter가 필요하다.
(3)SCSI Bus Speed (Regular, Fast and Ultra)
오늘날에는 3가지의 SCSI bus speed 방식이 있다.
①Regular: 기본 속도는 5MHz. 이것은 SCSI-1에서 정의된 것이다. 버스들은 narrow SCSI 에서는 5Mbps로 wide SCSI에서는 10Mbps로 작동한다.
②Fast: Fast SCSI는 10MHz로 증가하였다. 이 방식은 전송비율을 두 배로 하는 방식이다. 버스들은 narrow SCSI에서는 10Mbps이고 wide에서는 20Mbps이다.
③Ultra(Fast-20): 인터페이스 전송속도를 2배로 함으로써, SCSI-3가 정의된다.(이것이 Fast-20이라고 불려지는 이유이다.) Ultra SCSI는 narrow에서는 최고 20Mbps이고, wide에서는 40Mbps이다.
SCSI는 많은 장치들을 제공할 수 있고, 높은 속도의 인터페이스는 동시에 많은 device들이 서로 대화할 수 있는 병행적 환경을 제공한다.
(4)Wide SCSI
Wide라는 말은 데이터 버스의 크기를 의미한다.
이전의 SCSI- 2 프로토콜이 8비트(1바이트)였던 데 반해 이는 16비트 프로토콜을 준수한다.
따라서 10MT/s였던 SCSI 2의 표준이 Wide라면 8비트에서 16비트가 되었으므로 같은 10MT/s 하에서 일반 SCSI 2 표준이 10MB/s의 전송 량이 나오는 데 반해 데이터버스가 2배가 되었으므로 20MB/s가 됨을 알 수 있을 것이다.
(5)Fast SCSI
SCSI 2 규약에서 규정한 Timing은 Mega Transfer라는 용어로 함축된다.
Mega Transfer란 한 번에 보내지는 데이터 양이 아니라 인터페이스 카드와 인터페이스(디바이스) 간에 100만 번의 신호를 한꺼번에 주고받음을 뜻한다.
SCSI 2에서는 10MT/s라는 기준을 두어 FAST SCSI를 규정하고 있다.
그러므로 1바이트의 데이터버스에서 1초간 전송할 수 있는 양이 10MB/s가 되어 이는 곧 FAST SCSI의 전송 량이 된다.
(6)Fast-Wide SCSI
이때 대부분의 FAST-Wide SCSI에서 FAST는 FAST SCSI 20을 의미한다.
따라서 20MB/s * 2배인 40MB/s가 전송 량이 된다.
(7)Ultra SCSI
이는 FAST SCSI 20을 예전에 부르던 말로, 여러분들이 잘 알고 있는 UltraStore라는 메이커에서 제창된 것이므로 Ultra라는 단어가 붙은 것이다. ANSI 표준 위원회에서는 이미 Ultra SCSI라는 용어를 사용하지 않으며, 당연히 FAST SCSI 20이라는 말이 이를 대신한다.
비록 ANSI에서 FAST SCSI 20이라는 용어로 그것을 대신하지만, 우리 나라 에서 Ultra SCSI라는 말이 더 많이 쓰이고 부르기 쉽다면 굳이 ANSI의 권고 안을 따를 필요는 없다고 본다. 그러나 적어도 표준어가 FAST SCSI 20이라는 것쯤은 알아두면 좋을 것이다. 적어도 이제 여러분은 Ultra SCSI와 Fast SCSI 20이 같다는 것을 알게 되었으니 SCSI 컨트롤러 매뉴얼 등을 보는 데 혼동을 줄일 수 있을 것이다.
(8)Ultra Wide SCSI
고성능 표준 SCSI(병렬 데이터 선 사용)이다.
20MHz 속도와 wide 16-bit버스와의 조합이다. 최대 전송속도는 40Mbps이다. Ultra wide SCSI는 fast-20 wide 혹은 Ultra wide SCSI-3라 불린다. 한 버스 상에 16개의 device를 지원한다.
(9)Ultra2 SCSI
프로세서의 성능이 더욱 빨라짐에 따라 I/O 시스템의 병목 현상이 큰문제로 대두되었다. 이 문제의 해결 방법 중 하나로 제시된 것은 병렬 SCSI라는 것이다. 20여 년 동안 SCSI와 관련된 기술은 계속해서 발전해왔고 계속해서 증가되는 I/O 대역폭 요구 량에 대한 요구 조건을 어느 정도는 충족시켜주었다.
하지만 근래에 이르러 이 문제는 더욱 심각해지고 있는데 Ultra2 SCSI라고 명명된 SCSI 프로토콜의 최신 기술이 중요한 시안으로 떠오르고 있다. 현재의 Ultra(Fast20)은 20MB/s의 대역폭을 제공하며 Ultra Wide의 경우 40MB/s의 대역폭을 지원하고 있다. 그러나 새로 개발되고 있는 Ultra2(Fast40)의 경우 40MB/s의 대역폭을 지원하고 있으며, Ultra2 Wide의 경우는 80MB/s의 대역폭을 제공하고 있다.
따라서 Ultra2가 기존의 방식에 비해 훨씬 더 높은 대역폭을 갖고 있음을 알 수 있다. 또한 케이블 허용 길이를 늘려서 연결의 융통성을 보장한다. Wide 방식의 Ultra2는 최대 12M의 케이블 길이와 15개의 장치 연결성을 보장한다. 이것은 보다 많은 장치 연결성과 보다 긴 케이블 길이를 필요로 하는 현시점의 요구 조건을 충족시킨다. 물론 Ultra2 SCSI는 기존의
SCSI와 하위 호환이 되도록 개발되고 있다.
대역폭 필요와 새로운 기술 대두
프로세서의 성능, 메모리 그리고 I/O 버스의 대역폭은 지난 몇 년간 기하급수적으로 증가되었다. 컴퓨터의 성능이 보다 강력해지면서 그만큼 데이터의 처리량도 늘어났고, 새로운 여러 분야에 응용되는 폭도 더욱 넓어졌다.
시뮬레이션 및 모델링, 실시간 동영상 지원 등등 대용량의 데이터 처리가 필요해짐으로써 현재의 I/O 성능은 포화상태에 달하게 된 것이다.
그래서 Ultra2 SCSI가 등장하였는데, 이를 가능케 한 기술은 저전압 차동 신호처리(LVD) 방식이다. LVD 방식은 긴 케이블을 지원하고 차별된 선로로부터 노이즈에 대한 내구성을 얻을 수 있다. LVD는 시그널 전송시 적은 전압 편차(1.1v)를 이용하므로, CMOS 공법으로 만들어진 칩에 사용될 수 있고 SCSI칩에 내장될 수 있어 비용절감에도 기여한다. LVD방식은 싱글 엔디드 혹은 이전의 고전압 방식과는 차별 장치로서 작동될 수 있으며, 제조업자들은 기존 장치와의 호환성을 갖추기 위해 LVD모드에서 동작할 수 있는 Universal I/O Cell을 개발하였다. 이것은 LVD나 싱글엔디드 여부를 판별하여 동작하게 된다.
현재로서는 기존의 방식을 사용하는 SCSI 장비와 LVD를 지원하는 장치를 동시에 사용하는 방법으로서 두 개의 채널을 구분하는 방식이 널리 알려져 있다. 이 방식은 구형 SCSI 방식을 지원하는 채널 한 개와 LVD를 지원하는 채널을 각각 구분하여 하나의 어댑터에 두 개의 채널을 장착하는 방식이다.
그 이유는 Ultra2로 전환하는 과정에서 하드디스크나 기타 고속 주변장치의 경우는 전환이 빠르겠지만, 기타 저속 SCSI 장치의 전환 과정이 매우 느릴 것으로 예상되기 때문에 이의 과도기적 과정에서 나타나는 문제를 해결하려고 하기 때문이다.
(10)Serial SCSI/FireWire
Interface가 발견된 이래 사용된 SCSI의 일반적인 type은 소위 병렬 SCSI라 불리는 형태이다. 이 사실은 한번에 데이터를 8bit나 16bit를 전송한다는 것이다. Serial SCSI라 불리는 새로운 SCSI는 한번에 한 bit를 전송하는 SCSI 접근방식을 채택한다. 병렬과 직렬사이의 구분은 PC뒤의 병렬과 직렬 port의 차이점과 유사하다. 버스의 밴드 폭은 직접적으로 그것의 넓이의 비율이다.
기술의 진보로, 밴드 폭을 계속증가 시키기 위한 우리의 욕구와 bus속도 향상을 위한 욕구는 fast-ultra SCSI까지 우리를 이끌었다. 문제는 각 시간 버스를 더 빠르게 만드는 것과 병렬 SCSI bus상에서 복잡한 신호를 관리하는 것과, 간섭과 signal 하락 때문에 발생하는 data 손실을 없애는 것이다.
“Firewier"라고도 불리는 Serial SCSI는 속도면 에서 original SCSI의 대역폭보다 월등한 향상을 가져왔다. 단지 한 data 라인이 관리되어 지기 때문에 Ultra SCSI 의 최대 속도인 20MHz에서 400MHz로 심지어는 그 이상으로 높이는 것이 가능해졌다.
결국 1GHz도 가능할 것이다. 게다가, serial connection은 예전의 SCSI connection 보다 훨씬 간단한 connection을 갖는다. Firewire는 6-wire cable을 사용한다. 심각한 문제점은 termination과 addressing된 signal-delay이다. Serial SCSI device는 예전의 SCSI가 했던 것 보다 더 광범위한 지원을 할 것을 약속한다.
Firewire는 IEEE standard로 형식을 갖추게 되었다.
Table1.SCSI 비교
5.SCSI와 운영체제
SCSI는 운영체제의 특성과 긴밀한 관계가 있다. 이는 SCSI가 I/O 서브시스템상의 중요한 입출력 버스로서 PCI와 바로 연결된다는 데 있다.
PC에서 PCI의 위치는 어떨까? PC를 크게 두 가지 요소로 나누자면 CPU와 메모리, 캐시 등의 연산 위주의 장치와 칩셋, PCI 버스 등의 I/O 장치로 구분할 수 있을 것이다. 운영체제가 이 두 가지 요소를 얼마나 잘 다루느냐에 따라 좋은 운영체제인가 나쁜 운영체제인가가 판가름난다. 운영체제는 CPU와 같은 연산 장치에 대해 무척 민감하지만 주변장치에 따라서도 다양한 실행 결과를 내놓게 된다. 이 다양성이 응용 프로그램에게는 큰 영향을 끼치게 된다. 왜 그런지 잘 생각해 보자. CPU가 빠르면 데이터 연산 및 처리 속도가 향상된다. 하지만 이것이 모든 문제를 커버할 수는 없다. 디스크에서 읽고 쓰는 작업이 많은 응용 환경, 특히 최근처럼 멀티미디어나 그래픽 이미지에 관련된 작업이 많을수록 디스크 서브 시스템의 성능은 대단히 중요하다.
90년대 들어 멀티미디어와 그래픽 환경으로 이동하면서 CPU의 내부 연산보다는 비디오카드와 하드디스크와 같은 입출력 장치를 이용하는 작업이 대폭 늘어났고 따라서 현재의 응용프로그램들은 입출력 쪽에 더 많은 부하를 전달하고 있다. 여기에서 다시 입출력 작업의 내용을 분석해 보면 비디오 쪽이 압도적으로 많다.
디스크에서 데이터를 읽고 쓰거나 LAN카드나 모뎀 등을 이용하는 것보다 비디오 메모리의 내용을 고치고 화면에 출력하는 작업이 훨씬 많기 때문이다. 그러나 현실적인 측면에서 사용자가 느끼는 부하로 작용하는 것은 그 반대이다. 입출력 작업에서 성능에 관여하는 비율이 높은 것은 디스크 쪽이다. 이는 CPU와 I/O 작업의 관계와 비슷한데, 비디오 장치가 좋아졌을 때 느껴지는 체감 성능보다 디스크 쪽이 좋아졌을 때의 체감 성능이 훨씬 크다는 것이다. 이는 바꿔 말하면 현재 디스크가 전체 PC 성능의 병목 현상을 일으키고 있다고 보아도 과언이 아니라는 것이다.
쉬운 예를 하나 들어보자. 100MHz 펜티엄 PC 사용자가 새로 200MHz 펜티엄 PC를 구입한다고 가정해 보자. 그의 100MHz 펜티엄 PC는 1GB 하드디스크에 16MB 메모리, 32비트 2MB VGA카드를 장착하고 있었다. 새로운 PC는 3GB 하드디스크에 32MB 메모리, 64비트 4MB VGA카드를 갖추고 있다. 여기서 단순하게 수치상으로만 보면 두 배 혹은 그 이상 증가한 것을 알 수 있다. 그러나 사용자가 응용 프로그램을 실행시키면서 체감할 수 있는 실제 속도 증가는 그 수치를 훨씬 밑돌아 50퍼센트 정도에서 머물고 있다. 왜 그럴까? 어딘가 전체 속도를 향상을 방해하는 병목 현상이 존재하는 것이다.
CPU를 다시 233MHz 제품으로 올려 보자. 하지만 체감 속도는 거의 달라지지 않는다. 차라리 그 비용을 비디오카드에 투자하는 것이 더 낫다. 그렇지만 실제적으로 투자해야 할 대상은 바로 디스크 쪽이다. 응용 프로그램에서 데이터를 디스크에 저장하거나 읽어들일 때 나타나는 모래시계는 100MHz PC에서나 200MHz PC에서나 비슷한 시간을 잡아먹는다. 비록 200MHz CPU가 고속으로 결과를 냈지만 정작 보관하는 단계에서 느려지는 것이다. 이런 의미에서 볼 때 멀티태스킹과 대량의 데이터를 읽고 쓰는 환경에서 디스크의 성능 관여 비율은 대단히 높다.
입출력 서브시스템과 운영체제의 관계는 이런 의미에서 조명되어야 한다. 입출력 시스템이 얼마나 응용 프로그램을 잘 동작하게 하는지 아니면 얼마나 기다리게 만드는지 살펴볼 필요가 있다. 또한 운영체제가 자신의 속도를 최대로 발휘하기 위해서 어떤 수준의 디스크 시스템이 더 좋은지 파악하여 그곳에 집중적으로 투자할 필요가 있다.
(1)도스에서의 SCSI
도스의 파일시스템은 FAT(File Allocation Table)라고 부르는 비교적 단순한 구조로 되어 있다. 또한 도스는 한 순간에 하나의 프로그램(태스크)만 수행하므로 자연히 파일시스템도 두 개의 태스크가 서로 충돌한다거나 하는 것에 대비해 락(locking)을 거는 등의 배려가 돼있지 않다. 어떤 면에서 이런 점은 속도 향상에 큰 도움을 준다. 즉, 여러 가지 불필요한 것을 갖고 있지 않으므로 단순하게 동작하면 되기 때문이다. 그러나 하나의 태스크가 작업을 빨리 끝내는 것보다 여러 개의 태스크가 수행되면서 조금 느리더라도 여러 가지가 한꺼번에 끝나는 것이 훨씬 유리하다는 것은 상식이다.
SCSI의 여러 가지 특성은 이렇게 단순한 싱글 태스킹 운영체제에서 효과가 거의 없다. 즉, 성능상의 이득은 별로 없으며 IDE에서 제공하지 않는 대용량의 디스크와 여러 개의 주변장치를 사용할 수 있다는 장점이 있다. 그러나 해당 장치별로 디바이스 드라이버가 설치되어야 하므로 도스에서의 한정된 메모리로는 어려움이 많을 것이다. 도스에서 SCSI 장치를 사용하기 위해서는 <리스트>와 같은 파일들이 필요하다.
윈도우 3.1은 도스에서 동작하는 응용 프로그램이며 파일시스템은 FAT에 근거하고 있다. ꡐ윈도우 포 웍그룹 3.11ꡑ 같은 경우는 32비트 VFAT(Virtual File Allocation Table)를 사용하기도 하는데 도스에 비해서 이러한 윈도우 환경에서 가장 크게 달라진 점이 있다면 가상 메모리 구현을 위한 페이징 기능을 처리한다는데 있을 것이다. 윈도우 3.1 환경이라면 SCSI 장치를 사용하는 것이 좀더 편리하기는 하지만 IDE 장치를 사용하는 데 비해 크게 빨라지지는 않을 것이다.
SCSI는 싱글태스킹 운영체제에서 효과가 거의 없다. 성능상의 이득은 별로 없으나 IDE에서 제공하지 않는 대용량의 디스크와 여러 개의 주변장치를 사용할 수 있다는 장점이 있다. 그러나 해당 장치별로 디바이스 드라이버가 설치되어야 하므로 도스에서의 한정된 메모리로는 어려움이 많을 것이다.
(2)윈도우95에서의 SCSI
윈도우95는 이제 상당히 보편적인 PC용 운영체제로 자리를 잡았다. 윈도우95는 기존의 FAT 파일시스템을 그대로 사용하지만(최근에는 FAT32라는 새로운 파일시스템을 지원함) 긴 파일 이름을 지원하고 멀티쓰레드(multithread) 형식의 FAT를 사용한다거나 네트워크를 이용한 파일 시스템을 제공한다는 점에서 사용자 입장에서는 상당히 진전됐다고 평가할 수 있다.
윈도우95는 윈도우 3.1과 달리 그 자체가 운영체제이며 하드웨어를 전체적으로 관장하기 때문에 디바이스 드라이버가 얼마나 효율적으로 동작하는가에 따라 성능 향상 및 속도 저하가 이루어진다. 또한 멀티쓰레딩을 지원하므로 특히 디스크와 같은 입출력 환경에서 볼 때 버스마스터링과 PIO(Programmed I/O 또는 Processor I/O)의 차이가 분명하게 나타난다.
멀티쓰레딩(multithreading)은 멀티태스킹(multitasking)에서 한 단계 발전한 것으로 하나의 프로그램이 실행될 때 여러 개의 조각으로 나뉘어질 수 있는 것이다. 가장 대표적인 것이 프린팅과 디스크에 저장하고 읽는 것이다. 예를 들어보자. 파워포인트 7.0은 멀티쓰레딩을 이용하는 프로그램이고 아래아한글 96은 그렇지 않은 프로그램이다. 전자의 경우 프린트를 걸어 놓고도 편집을 계속할 수 있다. 즉, 파워포인트를 쓰면서 다른 프로그램을 실행할 수 있다는데(이것은 멀티태스킹이다) 만족하지 않는다. 또한 저장하는 중에 프린트를 시도할 수 있으며 이런 경우에도 계속 마우스 커서는 입력을 받을 준비가 되어있다. 그러나 아래아한글 96에서는 저장을 하거나 프린트를 걸어 놓으면 그 작업을 끝내거나 아니면 취소하기 전까지 아래아한글에 관한 작업을 할 수 없다.
버스마스터링은 DMA(direct memory access)에 의해 전체적인 입출력 속도 향상을 가져오는 기술이다. 예를 들어 파워포인트나 아래아한글에서 프린트를 시도하면 프린트될 이미지가 스풀러큐로 넘어가서 하드디스크의 어느 지역에 저장될 것이며 다음에 패러렐 포트나 네트워크로 넘겨질 것이다. 이때 데이터를 디스크에 저장하거나 패러랠 포트로 넘기는 것을 일일이 CPU가 해줄 것인가, 아니면 다른 장치가 알아서 할 것인가에 따라 전자는 PIO라고 부르고 후자는 버스마스터링이라고 부른다. 후자의 경우에는 CPU는 입출력 작업의 부담에서 벗어날 수 있다.
다시 아래아한글을 예로 들어 이 프로그램에서 용량이 무려 30MB나 되는 문서의 편집을 끝내고 저장하는 경우를 가정해 보자. 이때 상당히 오랜 시간이 걸릴 것이며 또한, 멀티쓰레드 처리가 안되므로 사용자는 이것이 끝날 때까지 기다려야만 할 것이다. 이때 통신이나 게임 등의 다른 작업을 하려고 해도 CPU가 데이터를 열심히 디스크에 쓰고 있기 때문에 PC가 매우 느려질 수밖에 없고 심한 경우 다운되기도 한다. 그러나 이런 PIO 방식이 아닌 DMA에 의한 버스마스터링을 한다고 가정해 보자. 그렇다면 CPU는 30MB의 데이터를 디스크 장치에게 스스로 옮기라고 명령하는 것으로 끝난다. 디스크 컨트롤러는 직접 메모리에 접근(direct memory access)하면서 데이터를 디스크로 옮긴다. 이것이 사용자에게는 저장하자 마자 바로 끝나는 것으로 보이게 된다. 물론 실제로는 그 순간 다른 장치가 데이터를 옮기고 있다. 사용자는 워드프로세싱 작업을 계속하거나 본래의 CPU 속도로 통신이나 게임을 즐길 수 있다.
가장 전형적인 예는 포토샵이다. 포토샵과 같은 프로그램은 대량의 이미지 데이터를 다루게 되는데, 이때 버스마스터링이 지원되는 디스크 시스템은 작업 효율을 크게 향상시켜 준다. 디스크 액세스 속도를 올려줌과 동시에 CPU의 속도를 잃지 않게 해준다.
윈도우95에서 작업 속도를 올리기 위해서는 빠른 CPU를 쓰고 DRAM을 충분히 확보하는 것 외에도 이처럼 멀티태스킹과 멀티쓰레딩에 유리한 환경을 갖추는 것이 대단히 중요하다. 현재 디스크 시스템에 대해 버스마스터링이 제공되는 것은 SCSI 뿐이다. 아직 EIDE나 ATAPI 방식에서는 제대로 지원되지 않는다. 그 이유는 EIDE에서 이를 제공하기 위해서는 버스 칩셋이 그 기능을 담당해 주어야 하는데, 최근에서야 시도되고 있고 이에 따른 표준과 디바이스 드라이버 개발도 미진하지만 SCSI는 컨트롤러(호스트 어댑터)의 프로세서가 지능적으로 이 기능을 처리하며 SCSI 버스의 장치들과 마더보드의 칩셋을 효율적으로 연결시켜 주기 때문이다. 따라서 윈도우95에서의 SCSI 사용자들은 두 가지 상반된 견해를 보이기도 한다. 하나는 EIDE 하드디스크를 사용한 경우와 SCSI 디스크를 사용한 경우를 비교해본 결과 별 차이를 발견할 수 없다는 의견이다. 또 하나는 SCSI 디스크를 써보았더니 매우 빠르더라는 의견이다. 이것은 윈도우95에서의 특성과 SCSI의 특성이 어떻게 매치 되는가에 따라 다르게 나타나기 때문이다.
(3)윈도우NT에서의 SCSI
윈도우NT와 같은 모듈 구조의 운영체제에서는 모든 운영체제 구성요소들이 잘 정의된 인터페이스를 통해 통신하고 있다. SCSI가 EIDE에 비해 하드웨어적으로 독립적인 특성을 많이 갖고 있으며 훨씬 유연하게 대응하기 때문에 CPU가 모듈별 연산 요구에 더욱 신속히 대응할 수 있다. 또한 윈도우NT는 서버용으로도 폭넓게 쓰이는데 이러한 환경에서 디스크 시스템 의 성능은 대단히 중요하다.
윈도우NT는 동작하는 겉모양은 윈도우95와 비슷하지만 상당히 다른 운영체제이다. 사실 대부분의 과거 운영체제들은 단일 시스템이었다. 하나의 거대하고 복잡한 프로그램이 모든 시스템 요소를 관리했으며 이런 운영체제들은 디버깅이 어렵고 성능을 향상시키기도 쉽지 않다. 그러나 윈도우NT는 철저하게 모듈 형식으로 개발된 32비트 운영체제이다. 윈도우95는 윈도우3.1과 도스의 소스 코드를 상당부분 그대로 채용하고 있고 진일보한 운영체제라고 말하기 어려운 측면을 갖고 있다.
윈도우NT와 같은 모듈 구조의 운영체제에서는 모든 운영체제 구성요소들이 잘 정의된 인터페이스를 통해 통신하고 있다. 일반 응용프로그램들은 독립된 주소 공간에서 유저 모드로 동작하고 관리되며 입출력 서브시스템을 포함한 운영체제는 커널 레벨에서 수행된다. 즉, 윈도우NT는 입출력 시스템에 대해 보다 효율적으로 관리하고 있으며 윈도우95에서 얻었던 SCSI의 장점 이상으로 이득을 얻을 수 있다. 이는 SCSI가 EIDE에 비해 하드웨어적으로 독립적인 특성을 많이 갖고 있으며 훨씬 유연하게 대응하기 때문에 CPU가 모듈별 연산 요구에 더욱 신속히 대응할 수 있기 때문이다.
또한 윈도우NT는 서버용으로도 폭넓게 쓰이는데 이러한 환경에서 디스크 시스템의 성능은 대단히 중요하다.ꡐ레이드(RAID)ꡑ는 이러한 환경에서 유일무이한 대안으로 받아들여지고 있다. EIDE는 가격 대비 성능이 우수하지만 채널당 단지 두 개의 주변장치만 장착할 수 있고 또 그 속도도 그 중에 느린 장치에 맞추어지며 버스마스터링을 이용할 수 없어 CPU의 부담이 커진다. 이러한 현상은 도스의 FAT보다 훨씬 향상된 파일시스템을 갖고 멀티태스킹 정도가 깊은 윈도우NT나 OS/2 워프, 유닉스 등에서 모두 동일하게 나타난다.
6.다른 INTERFACE 방식과의 비교
(1)ST506/412 Interface 방식
저용량 H.D.D에 사용되었다.
1980년 Seagate Technology에서 ST506 5M Drive를 발표하면서 사용 시작
1981년 ST412로 Revised (10MB)
이 방식은 플로피 디스크 드라이브의 구동 방식을 토대로 설계되었다.
전송속도는 5MB/sec(MFM), 7.5MB/sec(RLL)
이것을 사용하기 위해서는 BIOS에서 Hard Disk parameters를 골라 맞춰 줘야한다.
H.D.D를 사용하기 위해서 처음으로 Drive 선택후 low label formatting을 해야한다.
(2)AT-BUS Interface 방식
정확한 명칭은 IDE-AT 인터페이스 방식이다.
16Bit 인터페이스 방식으로 H.D.D의 타입을 CMOS에 기록하여 H.D.D를 논리적으로 인식
BAD Sector가 발생하면 자동으로 보정해주는 보상기능 ,속도를 높이기 위해서 H.D.D 자체에 캐시 메모리를 내장, 오토파킹 기능이 있다.
AT-506/412 와 달리 H.D.D를 1:1 인터리브로 Low leblel formatting 후 출하한다.
대부분의 IBM 호환 Computer에서 사용하고 있다.
512MB의 H.D.D까지 밖에 지원하지 못한다.
2개의 H.D.D를 지원한다.(slave와 master)
(3)ESDI Interface 방식
ST506/412 방식의 단점을 보완하기 위해 만들어짐
Data Transfer Rate - 24mb/sec
error check능력이 향상되었고 고용량 H.D.D에 많이 사용되었다.
H.D.D, F.D.D, Tape backup, CD연결이 가능 ,각 연결 장치간 Direct File Transfer가 가능
Partition - ST506/412와 동일하다.
(4)E-IDE Interface 방식
EIDE(Enhanced Interface Electronics)
AT-BUS방식의 H.D.D의 단점을 보완하기 위해 만들어졌다.
BIOS 가 지원하는 수준의 용량인 8.2GB까지 지원
Data Transfer Rate 최대 10Mbps(M bits per second)에 이른다.
최대 4개의 주변장치를 지원한다.
(5)EIDE와 SCSI의 비교
SCSI와 EIDE 인터페이스의 기원을 살펴볼 것 같으면, ꡐST-506ꡑ에서 서로 만나고 있음을 알 수 있다. 초기의 기본적인 I/O 인터페이스는 씨게이트사의 ꡐST506ꡑ에 기초하고 있다. 그후 우리가 사용하고 있는 IDE 방식이 나왔고, 528km 이상의 하드디스크를 액세스하기 위해 EIDE 방식이 새롭게 발표되었다. 그리고 인텔 430TX 칩셋을 사용하는 펜티엄 마더보드의 울트라 DMA를 지원하는 울트라 ATA 방식의 하드디스크가 생산되고 있다.
SCSI 진영 역시 꾸준히 발전하여 초기의 SASI에서 SCSI-1, SCSI-2, 그리고 SCSI-3로 이어졌으며, 이 와중에 패스트SCSI, 울트라SCSI, 울트라 와이드SCSI 등이 개발되었다.
①EIDE 시스템의 발전
EIDE 인터페이스를 사용하는 시스템은 그 동안 꾸준히 발전해 왔으며, 저렴한 가격으로 인해 대중화되어 왔다. 현재 보급되어 있는 대부분의 컴퓨터가 보편적으로 EIDE 인터페이스를 가진 하드디스크와 CD-ROM으로 구성되어 있음을 생각해보면, 그 사용 범위가 얼마나 넓게 분포되어 있는지 가히 짐작할 수 있다.
ꡐST-506ꡑ의 후신인 IDE 인터페이스가 등장하면서 하드디스크의 설계 개념이 바뀌었다. IDE을 사용하면서 인터페이스는 단지 I/O 역할을 하고 컨트롤 회로는 하드디스크에 직접 내장되었다.
IDE 인터페이스는 두개까지의 하드디스크를 마스터와 슬레이브의 개념으로 장착 가능했다. 그후 하드디스크의 저장 용량이 더욱 커지고 하드디스크 외에도 다른 장비를 IDE에 부착할 필요성이 생기면서 EIDE 라고 불리는 호환 방식의 인터페이스가 등장했다. EIDE는 IDE 방식의 하드디스크를 연결할 수 있으며, IDE 인터페이스의 한계였던 528MB라는 용량 제한을 극복하고 있다. 이를 위해 LBA방식을 사용한다.
EIDE 방식으로 발전하면서 하드디스크의 전송 속도 역시 급증했다. 현재 기본적으로 사용되는 하드디스크는 PIO 모드 4를 지원한다. 아직까지는 PIO 모드 5 하드디스크는 나와 있지 않으며, 이보다 더 빠른 방식의 울트라 ATA 방식의 하드디스크가 선을 보이고 있다.
EIDE 인터페이스는 ATAPI를 지원하여 EIDE 방식의 CD-ROM 드라이브를 손쉽게 연결할 수 있다. 또한 EIDE 인터페이스로 넘어 오면서 그 동안 사용하지 않았던 두 번째 IDE 포트를 사용하게 됨으로써 총 네 개의 EIDE 장치를 연결 가능하다. 또한 SCSI만의 전유물이었던 CD-R 장비 역시 이제는 EIDE 방식으로 출시되었으므로 그 활용의 폭이 넓어지고 있다.
②EIDE 시스템의 사용 영역
IDE의 후예인 EIDE 인터페이스는 그전에 비해 크게 달라진 점은 없다. 다만 하드디스크의 사용에 있어서 528MB의 용량 한계를 넘겼으며, ATAPI를 지원하는 하드디스크 외의 장비들이 다수 등장하고 있다는 점에서 특기할 만하다.
물론 이제는 EIDE 하드디스크가 충분한 속도를 내고 있으며, 어떤 경우는 SCSI방식의 하드디스크보다 월등히 빠른 경우도 있다. 또한 가장 중요한 문제인 가격 면에서는 EIDE만큼 큰 이점을 제공하는 제품은 찾아보기 힘들다. 또한 EIDE 인터페이스는 기본적으로 마더보드에 내장된 채로 공급되고 있다는 것도 주요 특징중 하나이다. 그래서 현재는 CD-ROM 역시 EIDE 제품이 주류를 이루고 있으며, CD-R이라는 SCSI만의 성역 역시 점차 무너지고 있는 것이 현실이다. 또한 거듭된 기술의 발전은 울트라 DMA를 지원하는 마더보드에서 더욱 빠른 전송률을 자랑하는 울트라 ATA 하드디스크의 등장이다. 거기에 발맞추어 현재 인텔의430TX 칩셋을 사용하는 마더보드가 다수 발표되었으며, 급격히 시장에 퍼져나가고 있다.
③SCSI 시스템의 발전
SCSI 인터페이스가 나타나게 된 배경은 앞서 언급했듯이 슈가르트사에 의해서 SASI가 등장하게 되면서부터다. 그리고 이 인터페이스가 발전하여 요즘 접할 수 있는 SCSI 인터페이스로 발전하였다. 그 도중에는 여러 과정을 거쳐왔는데 특정한 이름들이 중요한 의미를 담고 있다.
초기의 SCSI-1 호스트 어댑터는 ISA 버스에서 동작하였다. 5MHz의 버스 대역폭을 가지고 있었으며, 버스마스터링을 지원하지 못하는 호스트 어댑터 역시 다수 존재했다. 이런 SCSI 인터페이스들은 PIO 모드를 사용하기 때문에 지금 사용되고 있는 버스마스터링 기법의 SCSI 호스트 어댑터하고는 많은 차이를 보였다.
그후 SCSI-2가 규정되고 패스트 SCSI가 등장하면서 버스 대역폭은 10MHz로 상승했으며, PCI 버스로 전환되는 계기가 되었다. PCI 버스를 사용하는 마더보드는 과거의 ISA 버스에 비해 매우 높은 버스 대역폭을 사용할 수 있음은 물론이고, 버스마스터링 역시 기본으로 갖추어져 호스트 어댑터 카드가 보다 효율적으로 이를 이용할 수 있게 되었다.
과거의 ISA 버스는 버스마스터를 지원하기는 하지만 마더보드에서 겨우 하나 밖에 버스마스터를 사용할 수 없었고, 그 효율성 역시 지금에 비하면 많이 떨어졌기 때문이다.
근래 들어 버스 대역폭이 더욱 증가된 울트라 SCSI와 울트라 와이드 SCSI가 등장하였다. 이들 호스트 어댑터들은 각각 20MHz와 40Mhz의 버스 대역폭을 지원함으로써 멀티태스킹과 멀티쓰레드를 지원하는 운영체제에서 보다 막강한 성능을 발휘한다. 또한 SCSI 호스트 어댑터를 지원하는 주변기기가 여러 종 보급되면서 한 시스템에 장착하는 SCSI 주변기기 역시 늘어났다. 그 여파로 IDE 인터페이스에서는 할 수 없었던 여러 종류의 주변기기를 장착 가능해졌고, ID 넘버가 7개만으로도 모자라서 이제는 확장된 형태로서 15개의 ID 넘버를 제공하는 SCSI 호스트 어댑터가 판매되고 있다(원래는 8×2=16 이지만 SCSI 호스로 아답터가 7번을 점유함으로 실제로는 15개)
④SCSI 시스템의 사용 영역
컴퓨터를 사용자들이 한결같이 꼽고 있는 고급형 시스템은 SCSI이다. SCSI 시스템의 장점은 버스마스터링을 지원해 멀티태스킹과 멀티쓰레드 환경에 원활하게 대처할 수 있고, 시스템에 데이터 전송을 위해 과중한 부하가 걸려도 이를 유연하게 소화해 낼 수 있는 능력을 제공하기 때문이다.
그래서 현재 하드디스크에 데이터 액세스가 빈번한 작업을 하는 사람들이나 혹은 서버를 운영하는 업체들은 대부분 SCSI 장비를 필수적인 요소로 생각한다.
EIDE 하드디스크와는 달리 SCSI 하드디스크는 기본적으로 높은 rpm(rotation per minute)으로 동작하는 제품이 주류를 이룬다. 따라서 씨게이트사의 ꡐ바라쿠타ꡑ 혹은 퀀텀사의 ꡐ아틀라스ꡑ를 살펴보면 7,200rpm이라는 매우 빠른 속도로 플래터를 회전시킨다. 플래터의 회전 속도가 빨라지면 당연히 데이터 액세스 속도 역시 빨라진다. 이들 하드디스크들은 EIDE 하드디스크가 넘지 못하는 벽을 넘어서 있는 하드디스크로서 매우 빠른 속도와 안정성을 자랑하고 있다.
그러나 SCSI 시스템은 기본적으로 호스트 어댑터를 구입해야 하고, EIDE 장비보다 비싼 비용을 물어야 한다는 문제가 있다. 수많은 사용자들이 보다 값싸고 우수한 제품을 찾는다면 SCSI 보다는 오히려 EIDE 쪽이 올바른 선택이다. SCSI는 데이터 처리의 안정성과 시스템의 과부하에 유연하게 대처해야 할 경우, 그리고 보다 많은 장치들을 한 번에 연결해야 하는 사용자에게 필요하다.
그리고 SCSI 호스트 어댑터가 있어야만 연결할 수 있는 전용 장비들이 있기 때문이며, 이들 장비가 EIDE나 다른 인터페이스로 대치되기까지는 상당한 시간이 필요하다.
⑤EIDE의 장점
● 저렴한 가격 : 대량 생산으로 인해 가격이 저렴하다.
● 쉬운 세팅 : 바이오스 호환성 문제가 없다면 대부분 설치하기 매우 쉽다.
● 충분히 빠른 디스크 : 디스크 자체의 순간 최대 전송 속도는 SCSI를 능가할 수 있다. 멀티태스킹에 SCSI만큼 유연하지 못하지만 윈도우95에서의 벤치마크 수치는 크게 뒤지지 않는다.
● 점차 폭이 넓어지고 있는 장치 종류 : 처음에는 디스크만 존재했지만 이제는 CD-ROM 드라이브와 집드라이브, 그리고 테이프 백업 드라이브도 나타났다. 조만간 DVD 드라이브도 선보일 예정이다.
⑥EIDE의 한계
● 소프트웨어와 하드웨어 비호환성 : 오래된 IDE 시스템들은 어느 정도의 소프트웨어와 하드웨어 호환성을 제공하는데, 이는 EIDE 드라이브가 IDE 드라이브처럼 보이기 때문이다. 그러나 EIDE는 새로운 바이오스와 디바이스 드라이버를 요구한다. 95년 이전에 구입한 컴퓨터를 업그레이드하는 것은 비용이 많이 들 뿐 아니라 향상된 BIOS 업그레이드를 요구한다.
CPU에 기반한 I/O 처리는 멀티태스킹 성능을 제한한다. EIDE는 압도적으로 CPU에 의해 제어되는 PIO 기능을 사용한다. 멀티태스킹 환경에서 PIO 동작은 CPU 성능을 낭비할 수 있고 결과적으로 전반적인 시스템 성능의 하락을 가져온다. EIDE는 중첩된(overlapped) I/O를 제공하지 못하기 때문에 노벨 네트웨어와 유닉스, 윈도우 95, OS/2 워프, 윈도우 NT 등에 부합되지 않는다. 결국 수많은 BIOS 시스템들은 채널당 전송률을 조정할 뿐이다. 이것은 그 채널 상에 더 빠른 장치가 있다고 해도 더 느린 장치의 속도로 동작할 수밖에 없게 만든다.
● 연결성 : EIDE는 오직 내장형 장치만 연결할 수 있으며 이는 저가형 하드 디스크나 ATAPI CD-ROM 드라이브만을 위해 고안된 것이다. EIDE로는 스캐너나 테입드라이브,DAT, MO 등의 다양한 외장형 주변장치를 전혀 이용할 수 없다.
● 표준부재 : EIDE는 계속 여러 개의 다양한 구현 형태로 나타나고 있다. 또한 산업계의 폭넓은 표준 기반이 없기 때문에 다양한 BIOS 시스템 속에 다소의 비호환성을 겪을 수밖에 없고 각각 장치의 성능도 모두 다르게 나타난다.
● 패리티 체크 불가능 : 데스크탑 시스템의 속도가 올라가면서 데이터 무결성(integrity)의 검증이 자주 요구되고 있다. EIDE는 PCI 시스템에서 요구되는 디바이스 패리티 체크 기능이 없으며 이에 따라 데이터 전송 에러를 발견할 수 없다.
⑦SCSI의 장점
● CPU의 부하 경감 : SCSI는 독자적으로 입출력을 수행할 수 있기 때문에 CPU에 걸리는 부하를 최소화할 수 있다. 이것은 CPU가 시스템 전체 성능을 높이기 위해 다른 태스크를 실행할 수 있도록 해준다. EIDE DMA가 폭넓게 사용되기 전까지는 EIDE는 데이터 전송시 CPU를 이용한 PIO 작업을 계속할 뿐이다.
● 여러 개의 장치를 동시 지원 : 하나의 확장 슬롯을 이용하여 내로우(narrow) SCSI 버스 컨트롤러 카드는 7개까지의 주변 장치를 제공하고 와이드(wide) SCSI 카드는 15개까지 지원한다. 따라서 디스크를 추가할 때 편리하다. 이것은 대단히 중요한 요소이다.
● 외장형 장치에 대한 지원 : SCSI 장치는 반드시 PC 안에 장착되어야 할 필요가 없다.
● 다양한 주변 장치 지원 : EIDE가 하드디스크와 CD-ROM 드라이브 등 소수의 장치만을 지원하는 반면에 SCSI는 스캐너, DAT, 이동식 매체 등 다양한 장치를 지원한다.
● 멀티태스킹 기능 : EIDE와는 달리, SCSI는 동시에 여러 개의 I/O 요구를 처리하여 시스템 전반의 성능을 향상시켜준다. 이런 I/O 처리 수준에서의 멀티태스킹은 그런 기능을 이용할 수 있는 윈도우 95나 윈도우 NT와 같은 운영체제에서 대단히 중요한 특성이다.
● 쉬운 업그레이드 : SCSI를 이용하면 주변장치를 추가하는 것이 빠르고 쉽다. 플러그를 연결한 뒤 소프트웨어 드라이버를 설치하면 된다.
⑧SCSI의 단점
● 높은 가격 : IDE에 비해 소량 생산되기 때문에 가격이 높으며 호스트 어댑터를 별도로 구매해야 한다.
● 초기 설치의 어려움 : 초보자들은 터미네이션 세팅을 비롯하여 초기 설치시에 어려움을 겪을 수 있다.
7.결론
SCSI Interface에 대하여 조사한 결과, 앞으로의 발전 방향에 대하여 알수 있었다. Interface의 목적은 전송 속도를 높이는데 있다. 컴퓨터가 발전되어온 것을 돌아보면 CPU와 메모리의 속도는 날이 갈수록 급격히 빨리 지지만, I/O는 이 속도를 따라가지 못하였다. 이 속도의 차이는 날이 갈수록 커질 것이다. 우리의 과제는 이 차이를 얼마나 극복하여 주변기기들을 얼마나 편하게 사용할 수 있게 하느냐에 있다. SCSI Interface 방식이 이를 많이 극복하여 주었지만 아직도 모자란 것이 사실이다. 최근에 SCSI는 이것을 극복하기 위하여(전송 속도를 높이기 위하여) serial 방식을 사용한다. 이 방식은 앞에서도 언급한 것처럼 연결이 쉽고, 잡음을 잘 견뎌내고 전기적인 잡음이 적어 전력 소모가 적어 집적도를 올리기가 쉽다. 즉, 훨씬 안정적인 방식이다. 다른 나라는 벌써 이 방식을 뛰어넘어 1394와 파아버채널, RAID 등이 다음 단계의 해결 방안으로 거론되고 있다.
이번 과제를 하면서 우리 나라의 SCSI는 외국에 비해서 보급도 덜 되었을 뿐만 아니라, 업체들도 SCSI 장비를 만들어 내려고 하지 않는 다는 것을 알 수 있었다. SCSI가 EIDE보다 가격 경쟁력이 떨어지고 사용자들에 대한 인지도가 너무 낮은 것이 원인이기는 하지만 앞으로 주변 기기들은 엄청난 속도로 많이 등장할 것이다. 이 것을 우리 나라 사람들은 빨리 접하기가 어려울 것이다. 우리 나라도 하루 빨리 응용성이 높은 제품에 관심을 갖고, 국내 업체가 적극적으로 개발하여 시장을 만들고 이들 제품을 하루 빨리 일반 사용자들이 사용할 수 있는 날이 왔으면 한다.
Reference
'IT' 카테고리의 다른 글
티스토리 블로그의 리캡챠 기능 (0) | 2021.10.20 |
---|---|
재미로 보는 1999년 7월 컴퓨터 부품가격표 (0) | 2021.10.17 |
HUB란 무엇인가? (0) | 2021.10.07 |
stack overflow at line 0 (라인 0에 스택 오버플로) 해결법 (0) | 2021.10.07 |
Intel Xeon Processor with 800 MHz Front Side Bus (0) | 2021.10.07 |