본문 바로가기

IT/papers

SCSI Overview - 2

SCSI Overview - 2

(1) SCSI IDs
SCSI의 두가지 장점은 한 버스에 존재하는 많은 디바이스를 지원할 수 있는 것이다. 디바이스들간의 데이터 전송은 동시에 일어나고, 모든 스카시 디바이스들이 SCSI ID를 통해 어드레싱 되기 때문에 한 SCSI 채널의 모든 ID는 고유해야 한다.

다른 채널에 위치한 두 SCSI 디바이스는 같은 SCSI ID를 가질 수 있다.

일반적으로 SCSI디바이스는 ID세팅을 위해 jumper를 이용한다. jumper는 바이너리 숫자 시스템을 기본으로 한다.
jumper block 어드레스 시스템 은 아래와 같이 크게 두가지로 나뉜다.

1)Three-bit for SCSI IDs 0 - 7
2) Four-bit for SCSI Ids 0-15


(2) SCSI ID and Arbitration Priority
 SCSI 버스에서 장치의 우선 순위는 장치의 SCSI ID에 따라 결정되는데 SCSI ID의 우선 순위의 순서는 가장 높은 것부터 가장 낮은 것까지 아래와 같은 순서로 이루어 진다.

7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8
SCSI ID가 7인 장치의 우선 순위가 가장 높으며 SCSI ID가 8인 장치의 우선 순위가 가장 낮다.

(3) SCSI IDs and Boot Order of SCSI Devices
(아래의 SCSI Id 에 대한 설명은 Compaq 브랜드의 non-RAID SCSI ctrl에게만 적용된다.)
SCSI ID는 목적은 다음과 같다.

1) 해당 버스의 장치를 식별
2) 디바이스 우선순위 결정
3) 컨트롤러가 어떤 디바이스로 부터 부팅하는지 결정

첫번째 목적은 이미 설명하였고,
두번째 목적과 세번째 목적은 아래에서 설명하듯이 각각이 독립적이다.

여러개의 SCSI 디바이스가 동시에 BUS를 사용하고자 했을 때 arbitration단계를 통해 가장높은 SCSI 우선순위를 가진 SCSI 디바이스를 찾고, 그 디바이스는 BUS를 사용할 수 있게 된다.
 
SCSI ID는 우선 순위의 순서는 이전에 설명했듯이 가장 높은 것부터 가장 낮은 것까지  7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 순이다. (컨트롤러가 15 SCSI 디바이스를 지원한다면 15부터 8까지가 추가로 사용됨) POST과정에서 SCSI ID 7개를 가진 SCSI컨트롤러는 SCSI 디바이스를 아래의 순서로 식별한다.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (8~15까지는 15SCSI 디바이스 지원시)

 이것은 컨트롤러가 어떻게 부팅할 것인지에 대한 단서가 된다. SCSI 컨트롤러는 POST 단계에서 식별되는 ID중 가장 작은 SCSI ID를 가진 디바이스로 부팅을 시도할 것이다. 예를들어, 만약 SCSI ID가 2,5,15인 드라이브가 있다면 컨트롤러는 SCSI ID 2번으로 부팅하려 할 것이다. 또한 새로운 시스템에서 SCSI 컨트롤러는 compaq system partition을 가장 작은 ID를 가진 드라이브에 설치하려 할 것이다. 만약 누군가 OS가 로드되지 않은 SCSI ID가 1인 드라이브를 추가한다면 SCSI 컨트롤러는 가장작은 SCSI ID를 가진 SCSI ID 1번 Drive로 부팅하려 할 것이고, OS를 발견하지 못하고, nonsystem disk error를 발생시킬 것이다. SCSI 컨트롤러는 부팅을 위해 SCSI ID 2번으로 넘어가는 것이 아니라 nonsystem disk erro message와 함께 OS hangup현상의 발생한다. 따라서 서버 세팅시 SCSI ID 0번을 가진 부팅 가능한 드라이브를 만드는 것이 이러한 시나리오를 예방한다. 가장 작은 SCSI ID가 0이기 때문이다.

 array controller는 어떨까? compaq smart array controller는 가장 첫번째 논리 드라이브로 부터 부팅과 compaq system partition 설치를 시도한다.

(4) SCSI Device Guidlie
 Wide SCSI host adapter나 Narrow SCSI host adapter 모두 7개까지의 SCSI 디바이스를 안정적으로 제공하고, Wide SCSI 드라이브의 경우는 15개의 ID를 제공한다. (7개의 ID만를 제공하는 경우도 있다.) LVD SCSI 출현 후 compaq은 15개의 SCSI device를 지원하기 위한 Wide-Ultra2와 Wide-Ultra3 SCSI 컨트롤러를 제공하고 있다.
 모든 SCSI 디바이스가 각각의 고유한 ID를 갖는데(0-7 또는 0-15) SCSI 호스트 어답터는 SCSI 장치의 위치보다는 시그널이 오가는 SCSI디바이스의 ID로 장치를 식별한다. SCSI ID는 점퍼를 통해 결정되어 드라이브에 설정된다.

- 0은 주로 부팅 디바이스
- 1부터 6은 narrow, wide host adapter 둘 다 사용
- 7은 주로 scsi host adaptor
- 8부터 15는 wide host adaptor에서 추가적으로 사용 가능

 1) SCSI controller

 SCSI 컨트롤러는 일반적으로 ID 7번을 사용한다. 구형의 ISA 방식은 점퍼로 조정해주어야 하며, 최근의 PCI 방식 제품들은 바이오스에서 자유로이 ID 설정을 할 수 있다. 신형 컨트롤러에서는 SCAM 기능으로 디바이스 검색시 동일한 ID가 검색이 되면 자동으로 우선 순위에 따라 ID를 조절을 해주기도 한다.


  2) Terminator
터미네이션(Termination)은 SCSI Overview -1 에서 설명했듯이 여러 개로 연결된 SCSI 장치에서 마지막 장치임을 알려주는 작은 저항을 말한다. 장치에 따라 터미네이션을 자동 설정할 수 있기도 하며, 외장 기기의 경우에는 별도의 터미네이션 장치가 필요하기도 하다. 대부분의 SCSI 장치들은 일련의 연속적인 흐름(Chain)을 가지게 되는데, 처음과 마지막 디바이스를 컨트롤러가 쉽게 구분하기 위해서 마지막 장치에 터미네이터를 추가하는 것이다.

 3) 이동형 저장장치
이동식 저장장치인 재즈(Jazz)와 집(ZIP), MO 드라이브는 일반적으로 ID 2, 3번을 사용하지만 원하는 경우에 다른 ID로 변경해도 무방하다.
이들 기기는 이동에 많은 주안점을 둔 저장장치이기 때문에 마지막으로 연결되는 SCSI 장치로 사용하도록 한다. 따라서 터미네이션이 중요하며, 대부분의 기기가 간단히 설정할 수 있도록 터미네이션을 On/Off 할 수 있는 스위치를 제공한다.
케이블 연결시 재즈와 집, MO 드라이브는 일반적으로 25핀 커넥터나 고밀도 50핀 커넥터를 사용하며, 경우에 따라서는 25핀 커넥터도 사용된다. UW SCSI 이상의 SCSI 카드를 사용한다면 68 To 50핀 커넥터를 사용해 연결하도록 한다.


 4) SCSI 하드디스크 설치하기
하드디스크에서 점퍼설정 부분을 찾아본 후에 앞서 설명한 ID 설정표를 참고, ID를 설정한다. SCSI에서는 부팅 장치에 대한 우선 순위를 주게 된다.
일반적으로 ID 0번을 부팅 디스크로 사용하므로 0번으로 점퍼를 설정한다. 부팅 우선 순서는 컨트롤러에서 자유로이 조정이 가능하나 0번을 사용하는 것이 안정적인 동작을 위해 유리하다. 일부 컨트롤러는 SCAM기능으로 디바이스 검색시 동일한 ID가 검색이 되면 자동으로 ID를 조절을 해주기도 한다. 하드디스크는 일반적으로 내장 장치로 사용하게 되는데 이렇게 되면 체인의 순서상 맨 끝에 위치하게 된다.  SCSI에서는 데이터 전송 중 신호 반사로 인한 노이즈를 없애기 위하여 어레이 저항을 달게 된다.
이것을 터미네이션이라고 하며, 일반적으로 SCSI 하드디스크는 터미네이션의 점퍼가 On으로 설정되어 있다. SCSI 케이블은 사용하는 SCSI 인터페이스 따라서 달라지게 되는데 SCSI-1, 2에서는 50핀을, UW, U2W SCSI에는 68핀 내장 케이블을 사용한다. LVD의 경우 일반적으로 2개의 커넥터 대신에 4개의 커넥터를 제공하며 SE 기종으로 사용할 수 있도록 별도의 터미네이터를 제공한다.