하드웨어 관련된 여러가지 재미있는 문서들...
http://www.alasir.com/index.html


Alpha: The History in Facts and Comments
http://www.alasir.com/articles/alpha_history/index.html

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,


사양 : p-166MHz 1.75kg,
 
128비트 네오매직 매직그래프 비디오 콘트롤로를 사용하여 그래픽 기능이 뛰어나고 2.1GB 착탈식 하드로 업그레이드가 간편하다고 한다.(사실 HP는 부품값이 상당히 비싸기 때문에 업그레이드라는게 별로 실용성이 없지요..)
 

새 배터리 사용할 때 'Battery Fail'?
 
Onmibook 전원을 OFF → F4키를 누른상태에서 전원을 ON → 컴퓨터가 부팅이 되면 F4키에서 손을 뗍니다.


Windows NT 4.0 설치시 참고사항
 
 Windows NT 4.0에서 적외선 포트(Infrared port)는 지원이 안되기 때문에  CMOS Setup 에서 이부분을 미리 Disable 해주어야 하며 방법은 다음과 같습니다.
 
 
1. 시스템 부팅시 F2키를 누릅니다.
2. CMOS 화면이 나타나면 Alt키를 누르고 Input /Output 을 연 후 부속메뉴에서 Enable IrDA IR앞에  체크 되어 있는 것을 엔터키로 제거합니다.
3. Esc키를 눌러서 Exit를 선택한후 Save하고 Quit를 선택하면 끝.


한글 Windows 95 설치 방법
 
1. 한글 Windows 95 CD 와 한글 Windows 95 CD-ROM Setup Boot Disk, Recovery CD가 필요합니다.
2. 한글 Windows 95 CD-ROM Setup Boot Disk 를 플로피 디스크 드라이브에 넣고
    CD-ROM 드라이브를 옴니북에 연결한 후 옴니북을 부팅합니다.
   (이 때 반드시 CD-ROM 전원을 먼저 켠 후에 옴니북의 전원을 켭니다.)
3. 한글 Windows 95 CD 를 CD-ROM 드라이브에 삽입합니다.
4. 플로피 디스크로 부팅한 후 " 2.Format Hard Disk and Install Windows 95 " 를
   선택하여 Windows 95 를 설치한다.
  (이 상태는 옴니북의 하드 디스크를 초기화하기 때문에 하드 디스크의 내용을 지워져 버린다.)
5. 만약 Windows 95 만을 재설치할 경우에는 플로피 디스크로 부팅한 후
   " 1. Reinstall Windows 95 Only " 를 선택합니다.
6. 만약 Windows 95 의 설치가 끝나면 옴니북을 동작시키는데 필요한 장치 드라이버를
   Recovery CD 로부터 설치해야 합니다.
7. 장치 드라이버가 끝나면 HP Utility ( Appointment Book, Phone Book, Calculator,
   영문 User's Guide, Omnibook Tools 등)을 설치하여야 합니다.
8.Recovery CD 의 " D:\OMNIBOOK\HPUTILS\DISK1 " 으로 탐색기를 이용하여
이동한 후 " Setup "를 실행시켜 HP Utility 를 설치합니다.


Win 95용 비디오 드라이버 설치
 
1.[내컴퓨터] - [제어판] - [시스템] - [장치관리자] - [디스플레이] 에서
   " 표준 디스플레이 어댑터( VGA ) " 를 더블클릭합니다.
2. [제어기] - [제어기 변경] - [디스크 있음] 을 선택합니다.
3. [찾아보기] 를 선택해서 경로명을 Recovery CD 의
   " F:\OMNIBOOK\DRIVERS\WIN95\VIDEO " 를 선택합니다.
4. 파일이름에 " nmx.inf " 파일을 선택하여 확인을 누릅니다.
5. 장치선택에서 일반모델인 경우 " Neo Magic NMX ",
   MMX 기종인 경우 " Neo MagicGraph 128ZV " 를 선택합니다.
6.시스템 등록정보 창을 닫은 후 Windows 95 를 재시작합니다.


Win 95용 사운드 드라이버 설치
 
1. [내컴퓨터] - [제어판] - [시스템] - [장치관리자] - [사운드, 비디오 및 게임 제어기] 를 더블클릭합니다.
2. " ESS Es1688 AudioDrive " 를 더블클릭합니다.
3. [제어기] - [제어기 변경] - [디스크 있음] 을 선택합니다.
4. [찾아보기] 를 선택해서 경로명을 Recovery CD 의 "D:\OEMFILES\OMNIBOOK\DRIVERS\WIN95\SOUND " 를 선택합니다.
5. 파일이름으로 " oemsetup.inf " 파일을 선택하고 확인을 누릅니다.
6. 장치 선택에서 일반 모델의 경우 " ESS ES1888 Plug and Play AudioDrivers ",
   MMX 모델의 경우 " ESS ES1887 Plug and Play AudioDrivers " 를 선택합니다.
7. Windows 95 를 재부팅합니다.


Win 95용 SCSI 드라이버 설치
 
1. HP CD-ROM 드라이브 (HP F1196A)를 설치한 고객만이 설치 가능합니다.
2. 시디롬 드라이브를 옴니북에 연결한 후 Recovery CD 를 CD-ROM 에 삽입합니다.
3. Recovery CD의 " F:\OMNIBOOK\DRIVERS\WIN95\SCSI " 디렉토리의
   " scsi.inf " 파일을 " C:\WINDOWS\INF " 로 복사합니다.
4. [제어판] - [시스템] - [장치관리자] - [SCSI 컨트롤러] 를 더블클릭합니다.
5. " PCI NCR SCSI Host Adapter" 를 더블클릭합니다.
6. [제어기] - [변경] - [디스크 있음] 을 선택합니다.
7. [찾아보기] 를 선택해서 경로명을 Recovery CD 의
   " D:\OMNIBOOK\DRIVERS\WIN95\SCSI " 를 선택합니다.
8. 파일이름으로 " symc8xx.inf "를 입력하고 확인을 누릅니다.
9. 장치선택에서 " Symbios Logic 8100S PCI Adapter " 를 선택합니다.
10. Windows 95 를 재시작합니다.


Win 95용 적외선 드라이버 설치
 
1. Windows 95 에서 도스창을 실행합니다.
2. Recovery CD 의 " D:\OMNIBOOK\DRIVERS\WIN95\IRDA " 로 디렉토리를 변경합니다.
3. " XCOPY /S /E /V WINDOWS C:\WINDOWS " 를 입력합니다.
4. " XCOPY IRDA.REG C:\ " 를 입력합니다.
5. " REDEDIT C:\IRDA.REG " 라고 입력합니다.
6. Windows 95를 재시작합니다.
7. " C:\irda.reg " 는 지워도 됩니다.


Win 95용 마우스 드라이버 설치
 
1. Recovery CD 의 " F:\OMNIBOOK\DRIVERS\WIN95\MOUSE\WINDOWS " 디렉토리의
   " obamc95.exe " 파일을 " C:\WINDOWS "디렉토리를 복사합니다.
2. " F:\OMNIBOOK\DRIVERS\WIN95\MOUSE " 디렉토리의 " mouse.reg " 를 입력합니다.
3. 도스창을 실행해 " REEDIT C:\MOUSE.REG " 를 입력합니다.
4. 시스템을 재시작합니다.
5. " C:\mouse.reg " 는 지워도 됩니다.


Win 95용 PC CARD 드라이버 설치
 
1. 도스창을 열어 Recovery CD 의 " D:\OMNIBOOK\DRIVERS\WIN95\PCMCIA\CARDWORK "
   디렉토리로 이동합니다.
2. " XCOPY *.* C:\CARDWORK " 를 입력합니다.
3. Recovery CD 의 " D:\OMNIBOOK\DRIVERS\WIN95\PCMCIA\WINDOWS\SYSTEM "
   디렉토리로 이동합니다.
4. " XCOPY *.* C:\WINDOWS\SYSTEM " 를 입력합니다.
5. Recovery CD 의 " D:\OMNIBOOK\DRIVERS\WIN95\PCMCIA\WINDOWS\INF "
   디렉토리로 이동합니다.
6. " XCOPY *.* C:\WINDOWS\INF "를 입력합니다.
7. Recovery CD 의 " D:\OMNIBOOK\DRIVERS\WIN95\PCMCIA "디렉토리로 이동합니다.
8. " XCOPY PCMCIA.REG C:\ "를 입력합니다.
9. 플로피 드라이브에서 플로피 디스크를 꺼낸 후 시스템을 재시작합니다.
10. 도스창을 연 후 " REDEDIT C:\PCMCIA.REG " 를 입력합니다.
11. 시스템을 재시작합니다.
12."C:\pcmcia.reg" 파일은 지워도 됩니다.

'Hobbies > 하드웨어' 카테고리의 다른 글

좋은사이트  (0) 2007.09.06
[H/W] ECC 메모리와 레지스터드 메모리 - [펌글]  (0) 2007.09.01
옴니북 드라이버 FTP 사이트  (0) 2006.02.01
얼마 전까지의 시스템들...  (0) 2005.03.10
Afina 7200CL 업그레이드  (1) 2005.03.10

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,






ECC 메모리와 레지스터드 메모리

조회(159)
PC 일반 상식 | 2005/01/13 (목) 10:59

공감하기 | 스크랩하기(1)


각종 메모리 모듈들의 모습
심심찮게 ECC 메모리와 레지스터드 메모리라는 것을 볼 수 있다. 일반적으로 사용되는 메모리는 언버퍼드(unbuffered) 메모리라는 명칭을 가지고 있다. 다만, 이러한 명칭은 잘 사용되지 않고, 레지스터드 메모리나 ECC 메모리는 흔히 '서버용'으로 분류되어 있다. 그래서 심지어 메모리를 전문으로 다루는 곳에서도 ECC와 레지스터드를 동일시하는 경우가 많다. 그러나 메모리 제조사들의 홈페이지를 가 보면 분명히 레지스터드 메모리와 ECC 메모리는 구분되어 있으며, 가격도 다르다.
위 화면은 크루셜 홈페이지에서 볼 수 있는 메모리의 종류와 가격이다. ECC 메모리는 일반 메모리에 비해서 약 10% 정도 비싸며, 거기에 레지스터드까지 적용될 경우 가격은 약 10%가 더 상승한다.(해외에서는 이정도 가격차이를 보이지만, 국내에서의 레지스터드 메모리 가격은 일반 메모리의 거의 두배다. 이유는 알아서들 생각하시라.)
또한 사용자들 역시 ECC와 레지스터드의 의미와 그 역할에 있어서 상당한 혼란을 느끼고 있다. 그래서 이번 강좌에서는 ECC 메모리와 레지스드 메모리의 형태 구분과 그 특징, 구조 등을 알아보고자 한다.
외형적 구분
우선, 일반적으로 사용하는 언버퍼드 메모리와 ECC 메모리, 레지스터드 메모리간의 외형적 차이를 보자.
위 사진은 삼성 PC133 언버퍼드(unbuffered) SDRAM의 사진이다. 흔히 볼 수 있는 메모리인만큼 상당히 익숙하다. 다만, 가운데에 칩이 들어갈 자리 하나가 비어있는 것이 눈에 띈다.
삼성 PC133 ECC(Error Correcting Code) SDRAM의 사진이다. 언버퍼드 메모리와 전체적으로 거의 유사하지만, 가운데에 비어있던 부분이 채워져서 총 9개의 메모리 칩이 장착되어 있는 것을 알 수 있다. 양면 메모리라면 18개의 메모리 칩이 장착된다.
역시 삼성의 PC133 레지스터드(Registered) ECC SDRAM의 사진이다. 언버퍼드나 ECC 메모리보다 메모리 모듈의 높이가 약간 높으며, 그래서 아래쪽에 몇가지 부가적인 칩이 달려 있는 것이 보인다. 이 부분이 바로 레지스터(Register)이며, 레지스터가 달려있기 때문에 레지스터드 메모리라고 불린다.
레지스터드 메모리의 구분은 확실하다. 메모리 칩 외에 잡다한 칩들이 더 달려있으면 레지스터드 메모리라고 보아도 좋다. 높이에 의한 구분은, 예전에는 통했지만 지금은 그다지 통하지 않는다. 아래 사진과 같은 메모리가 종종 나오기 때문이다.

엘피다(Elpida)사의 로우 프로파일 레지스터드(low-profile registered) ECC DDR SDRAM
Copyright(C) by
Elpida
이것은 높이가 낮은 1U 서버 등에서 사용되기 위해서 만들어진 것으로써 레지스터드 ECC의 형식을 가지면서도 높이는 일반 언버퍼드와 동일하다. 그래도 메모리 칩 9개(=ECC)가 장착되어 있고 레지스터(가운데 조그마한 칩 두개)가 붙어 있어서 레지스터드 메모리라는 것을 알 수 있다.
한편, ECC 메모리는 어떻게 구분해야할까. 의외로 간단하다. 메모리 칩의 수가 8의 배수이면 일반 언버퍼드 메모리, 9의 배수이면 ECC 메모리라고 생각하면 정확하다. 이는 뒤에서도 다시 설명하겠지만 다음과 같은 이유 때문이다. PC용 메모리는 64bit의 버스 폭을 맞추기 위해서 8개의 8bit 버스 칩으로 구성되어 있다. ECC는 메모리 64bit당 8bit의 ECC 코드를 추가하여 데이터를 전송함으로써, 전송중 일어나는 에러를 검출하고 정정할 수 있는 능력을 가진다. 이 기능의 추가를 위해서 동일한 메모리 칩을 1개 더 장착해서 8bit × 9 = 72bit의 메모리 버스를 형성한다. 이 중에서 64bit만이 실질적인 데이터 전송에 사용되며, 8bit는 에러 검출 및 정정을 위한 ECC 코드의 전송에 사용되는 것이다.
결국 그래서 ECC 메모리는 칩의 개수가 9의 배수이다. 단면으로 구성되었을 경우에는 9개, 양면에서는 18개의 칩이 탑재된다. 고용량 메모리의 경우 36개의 칩을 탑재하는 경우도 있다.
패리티 메모리와 ECC

삼성전자의 PC133 ECC SDRAM
패리티 메모리
PC가 출시되었던 초기에는 메모리의 오류를 막기 위해서 모든 컴퓨터에 패리티 방식이 사용되었다. 패리티라는 것은 8bit당 1bit의 패리티 비트를 두어서 데이터의 전달과정중에 오류가 생긴 것을 검출하는 방식을 지칭한다. 즉, 시스템에서 나타날 수 있는 오류를 방지하고자 패리티 메모리를 포함시켰고, 이것은 그 역할을 충분히 해냈다.
그런데, 1994년부터 분위기가 조금씩 달라졌다. 메모리 기술의 발달로 메모리의 오류 발생 확률이 점점 적어지자 일부 PC 제조사에서 패리티가 포함되지 않은 메모리를 탑재한 컴퓨터를 내놓기 시작한 것이다. 물론 오류 발생 확률은 일반 사용자들이 신경쓸 필요가 없을 정도로 적었으며, 패리티를 제거함으로써 패리티 메모리에 필요한 약 10~15%의 추가 메모리 비용 부담을 줄일 수 있어서 제조사 측에서는 즐거운 일이었다. 하지만, 대단히 중요한 데이터를 다루는 사용자들에게는 역시 패리티는 필요한 것이었으며 그러한 사용자는 별도로 요청을 해야만 했다.
이러한 추세를 급격히 가속시킨 것은 일부 대형 PC 제조사들이 패리티가 없는(넌패리티 : non-parity) 메모리를 탑재한 채로 PC를 출하한 것이다. 대형 PC 제조사들이 이러한 정책을 펴나가자 너도나도 이 정책을 따랐으며, 그 결과 넌 패리티 메모리가 거의 표준으로 굳어진다. 그리고 이것을 완전히 굳어지게 한 것이 인텔의 430FX 칩셋의 출시였다.
인텔 430FX 칩셋은 아예 패리티라는 것을 지원하지 않았다. 칩셋 레벨에서의 패리티 지원은 사실 원가상승에는 그다지 기여하지 않는다. 있으나 없으나 가격은 어차피 비슷하며, 회로도 복잡하지 않기에 만들기도 만만했다. 하지만 430FX는 패리티를 외면해버렸고, 인텔이 그러한 정책을 펼치자 다들 그냥 그러려니 하고 이를 따라갔다. 결국 일반 사용자용 메모리에서는 패리티가 사라졌고, 이것은 ECC까지 그대로 이어졌다.
하지만, 웍스테이션이나 서버, 그리고 대단히 중요한 작업을 하는 시스템들은 가격보다는 시스템의 안정성과 신뢰도가 절대적으로 우선되기 때문에 패리티 메모리나 ECC 메모리를 요구한다.
패리티 메모리와 ECC 메모리의 원리
SDRAM이 나오기 전까지, EDO 메모리나 FPM 등이 사용한 에러 정정방식은 패리티(parity) 방식이었다. 이것과 지금의 ECC를 혼동하는 사용자들도 많다. 우선 패리티가 무엇인지부터 정리해보자.
패리티의 원리는 다음과 같다.
PC에서 사용되는 것은 홀수 패리티(odd parity)이다. 홀수 패리티라는 것은 전송되는 데이터들의 합이 홀수가 되도록 패리티 비트가 정해진다.(보다 정확하게는, 전체의 XOR 값이 1이 되어야 한다고 정의된다. 그러나 이해를 편하게 하기 위해서 전체 합을 홀수가 되어야 한다는 것으로 표현하였다.) 예를 들어서 다음과 같은 데이터가 전송된다고 하자.
전송되는 8bit 내에 1이 다섯개 있어서 전체의 합은 홀수가 된다. 이를 홀수로 유지시키기 위해서는 0이 더해져야만 하며, 그래서 패리티 비트가 0이 된다. 한편, 데이터 안에 1이 짝수개가 있다면 패리티 비트가 1이 되어서 전체의 합을 홀수로 유지시킨다.
데이터를 수신하는 측에서는 수신된 데이터와 패리티 비트를 합해서 그 결과가 홀수가 나오는지, 짝수가 나오는지를 살펴보고, 홀수가 나온다면 무사히 지나가고 짝수가 나온다면 사용자에게 에러가 발생했다는 것을 통보한다.
패리티를 사용하면 시스템의 어디서 문제가 발생했는지를 검출할 수 있다. 데이터가 전달되는 부분마다 패리티 검사를 수행하기 때문에 만약 메모리 컨트롤러에서 문제가 생겼는지, 메모리 자체에서 문제가 생겼는지 등이 검출되어서 시스템을 수리하는 과정도 보다 용이해진다.
물론 단점도 있다. 만약 2개의 bit에서 동시에 문제가 발생했다면, 데이터에 문제가 있다고 할지라도 데이터의 합계의 홀/짝은 그대로 유지된다. 즉, 이러한 경우에는 데이터 오류가 검출되지 않는다. 물론, 메모리 자체의 오류도 적게 일어나거니와, 전체 메모리 오류 중에서 97% 이상이 단일 bit에서 발생하는 문제이기 때문에 패리티가 잡아낼 수 없는 문제점은 거의 없다고 보아도 좋다. 그러나 확률적으로 문제가 있는 데이터가 그대로 전달되는 상황이 발생하기도 한다.
이러한 문제를 해결한 것이 ECC(Error Correcting Code)이다. ECC는 단지 에러를 검출하기만 하는 패리티에서 대폭 향상되어서 단일 bit의 에러에 대해서는 이를 검출하여 직접 교정할 수 있는 능력을 가지고 있다. 즉, 패리티에서는 데이터에 오류가 있을 경우 이의 재전송을 요구하거나 동작을 중지하였던 것에 반해서 절대 다수를 차지하는 단일 bit의 에러에서는 시스템의 정지 없이 바로 교정하면서 연속적인 동작이 가능하다.
ECC의 종류에는 여러가지가 있는데, PC용 메모리에 적용되어 있는 ECC는 '단일 bit 에러 교정, 2bit 에러 검출(SEC-DED : Single-bit Error Correcting, Double-bit Error Detecting)' 방식이다. 그래서 하나의 bit에서 문제가 발생했다면 이를 직접 교정하고, 2개의 bit에서 문제가 발생한다고 해도 이를 검출하여 사용자에게 통보할 수 있다.
ECC의 구현원리는 다음과 같다.
먼저, 데이터를 기록할 때, 메모리 컨트롤러는 체크 비트를 만들어내어 이를 같이 기록한다.
이때 만들어진 체크 비트는 메모리에 같이 저장되었다가 이를 메모리 컨트롤러가 읽어낼 때 같이 읽혀진다.
이 과정에서, 메모리 컨트롤러는 저장되어 있는 데이터와 체크 비트를 비교하면서 서로 맞는 것인가를 확인한다. 이 때, 데이터와 체크 비트가 서로 맞는 것이라면 그대로 데이터가 출력되고, 만약, 데이터 내에 1bit의 오류가 발생했다면 이를 자동으로 정정한다. 2bit 이상의 오류가 발견될 경우 이를 사용자에게 알리고 그 이상의 시스템 운영을 정지시킨다.
그래서 ECC 메모리는 패리티에 비해서 높은 데이터 신뢰도를 구현하면서 동시에 단일 bit에 대해서는 직접적으로 정정을 수행함으로 인해 성능저하를 줄일 수 있게 되었다.
물론, ECC 메모리 컨트롤러 내에서 체크 비트를 연산하고, 이를 사용하여 검사하는 과정에서 성능의 하락이 일어난다. 하지만 이것은 수 % 내외이므로 큰 폭의 성능하락은 일어나지 않으며, 안정성의 극대화라는 측면에서 본다면 실보다는 득이 훨씬 크다.
SIMM에서는 패리티이고, DIMM에서는 ECC가 사용된다는데..

이제는 과거의 유물이 되어버린 72pin SIMM
i430TX 칩셋까지 사용되었던 72pin SIMM과 현재 사용되고 있는 168pin SDRAM DIMM 및 184pin DDR SDRAM DIMM의 근본적인 차이점은 단면(SIMM - Single Inline Memory Module), 양면(DIMM - Double~) 이라는 차이 외에도, 메모리 인터페이스의 폭에 있다. 72핀 메모리는 32bit의 메모리 버스를 가졌고, DIMM은 64bit의 메모리 버스를 가지고 있었다.(펜티엄에 72pin 메모리를 사용하기 위해서 2개의 메모리를 꽂는 것은 바로 이 버스 폭을 맞추기 위함이었다. 펜티엄 프로세서는 64bit의 메모리버스를 갖고 있기 때문이다. 즉, 당시의 72pin 메모리는 듀얼채널로 동작했다는 놀라운 사실!!!)
패리티의 경우 8bit당 1bit의 패리티 비트를 필요로 한다. 버스폭이 넓어진다면 이 역시 16bit에 2bit, 64bit에 8bit 하는 식으로 커지면 된다. 그런데, ECC는 연산 방법이 좀 복잡해서, 32bit의 메모리가 한번에 전송된다면 여기에 7bit의 체크 비트를 필요로 한다. 만약, 32bit의 버스폭을 가지는 메모리에서 32MB의 메모리 용량을 구현한다면 여기에 7MB의 메모리가 추가로 장착되어야만 ECC가 구현된다는 것이다. 한편, 64bit가 한번에 전송된다면 8bit의 체크 비트를 필요로 한다. 이것은 결국 패리티와 같은 수준의 추가 메모리만을 요구한다는 것이다.
이러한 이유 때문에, 32bit의 버스폭을 갖는 72핀 메모리에서는 패리티가 사용되었지만, 64bit의 버스폭을 갖는 168핀 DIMM 부터는 패리티 대신에 ECC가 사용되고 있는 것이다.
 
레지스터드 메모리

삼성전자의 PC133 Registered ECC SDRAM
레지스터드 메모리 ≠ ECC 메모리

킹스톤사의 512MB Registered ECC PC133 SDRAM의 레지스터
레지스터드 메모리가 그러한 이름으로 불리는 이유는 지극히 간단하다. 바로 레지스터(Register)가 달려있기 때문이다. 흔히, 레지스터드 메모리를 ECC 메모리와 혼동하는 경우가 있는데, 레지스터드 메모리와 ECC 메모리는 바로 레지스터의 유무를 보고 쉽게 분간할 수 있다.
대개 서버용으로 ECC가 사용되기도 하고 레지스터드 ECC가 사용되기도 한다는 점이 이러한 혼란에 일조하기도 하지만, 모든 레지스터드 메모리가 기본적으로 ECC가 적용된 것이기 때문에 '레지스터드' 대신 '레지스터드 ECC' 메모리라고도 불리고 있다는 것도 이러한 혼란을 불러일으키는 이유이다.
하지만, ECC와 레지스터드의 개념을 확실히 알고 있다면 외형적으로 완전히 틀리는 이들 메모리를 분간하지 못할 까닭은 없다.
레지스터와 레지스터드 메모리
레지스터의 역할은 신호왜곡(skew)의 제거, 쉽게말하면 신호의 정렬이며, 이는 곧 메모리 칩의 제어를 의미한다.
즉, 간소화된 메모리 컨트롤러가 메모리 모듈 상에 위치한다고 보면 된다. 이러한 구성은 시스템의 수준에서, 그리고 메모리 모듈 자체의 수준에서 각각 한가지씩의 잇점을 제공한다.
일반적인 언버퍼드 메모리의 경우 각 메모리 디바이스까지도 칩셋의 메모리 컨트롤러가 담당하는 구조를 가진다.
이러한 구조는 전체적인 구조가 간소화되며, 빠른 동작을 기대할 수 있다는 잇점을 가지지만, 반대로, 메모리 컨트롤러 하나가 모든 메모리 디바이스까지 직접 제어해야 하기 때문에 메모리의 확장이 쉽게 한계에 다다른다. 특히나 메모리의 속도가 빨라질수록 메모리의 타이밍이 대단히 민감해지기 때문에 컨트롤러 하나로 모든 메모리를 제어하는 방법에서는 다룰 수 있는 메모리 디바이스의 제한이 더욱 심해진다.
일반 사용자들이라면야 2개 혹은 3개의 모듈을 사용해도 별 상관이 없지만 수십 GB급의 고용량을 필요로 하는 서버 및 그에 준하는 시스템에서는 언버퍼드 메모리로는 메모리 확장에 답답함을 느낄수밖에 없다.
한편, 레지스터드 메모리는 이러한 문제점을 상당부분 해소한다.
각 메모리 디바이스의 제어는 메모리 모듈에 탑재된 레지스터에서 행하고 있기 때문에 메인 칩셋에 있는 메모리 컨트롤러는 단지 레지스터들만을 제어하면 된다. 이는 메모리 컨트롤러의 설계를 대단히 단순하게 바꿀 수 있을뿐만 아니라 메모리 모듈을 보다 많이 사용하게 해 줌으로써 대용량 메모리의 구현이 가능해진다.
또한, 메모리 모듈 자체에서 얻을 수 있는 잇점도 있다. 일반적으로 하나의 메모리 모듈에 탑재할 수 있는 메모리 칩의 개수는 한 면에 8개, ECC 칩까지 포함해서 9개이다. 그리고 양면 구성으로 18개까지가 가능하다. 현재 가장 많이 사용되는 메모리 칩의 용량은 256Mbit. 이 칩으로 단면 메모리를 구성하면 256MB가 된다. 그리고 양면 메모리를 만들면 512MB. 만약 1GB 용량의 모듈을 만들고 싶다면 어떻게 해야할까. 한 면에 9개의 칩이 아닌, 18개의 칩이 장착되어야만 한다.
이러한 구성을 위해서, 메모리는 복층구조, 혹은 다열구조를 가져야만 한다. 그러나 복층/다열구조를 가지게 된다면 문제가 발생한다. 바로 메모리의 위치 때문이다.

이런 메모리가 가능할까?
간단히 생각해 본다면, 메모리를 2열로 구성하면 메모리 용량이 2배가 되기는 한다. 이러한 구조가 되면서 메모리 디바이스의 수가 많아지고, 컨트롤러에서 이들 메모리를 제어하는게 힘들어진다는 것은 쉽게 생각할 수 있다. 그런데, 한가지 문제가 더 발생하는데, 바로 신호왜곡(skew)이 상당히 커진다는 것이다.
메모리 칩으로부터 모듈이 보드에 연결되는 핀까지의 거리가 윗 열과 아랫 열의 메모리 사이에 엄청난 차이가 생긴다. 안그래도 높은 클럭으로 인해서, 그리고 64bit라는 넓은 버스로 인해서 신호왜곡은 상당히 민감한 문제가 되고 있는데도 불구하고 여기에 어려움을 주는 대단히 큰 요소가 하나 더 등장한 것이다. 여기에 레지스터가 개입됨으로써 문제는 해소될 수 있다.
레지스터는 각 메모리 디바이스를 제어함과 동시에, 메모리 디바이스들로부터 신호를 받아서 이들의 타이밍을 재조정하여 출력함으로써 내부적으로 발생하는 신호왜곡을 제거하는 효과를 가진다. 대신, 레지스터드 메모리에서는 속도의 저하가 일어난다.
레지스터에서 각 칩의 신호들을 정렬하기 위해서는 한번의 클럭을 필요로 한다. 즉, 데이터의 전송과정에서 레지스터가 '까먹는' 클럭이 생기는 것이다. 이 때문에 레지스터드 메모리는 언버퍼드 메모리에 비해서 약간 낮은 성능을 갖는다. 일반 사용자들용 제품군에 레지스터드 메모리를 사용하지 않으려는 것은 가격도 가격이지만, 이러한 성능의 차이 때문이기도 하다.
여하튼, 이러한 특징으로 인해 레지스터드 메모리는 다열구조나 복층구조는 물론이며, 메모리 칩의 배치에서 상당한 다양성을 가질 수 있게 되며, 다수의 메모리 칩을 장착함으로써 대용량의 메모리를 만들 수 있다. 아래의 사진들은 그러한 '다양한' 메모리 배치의 사례를 보여주고 있다.

트랜센드(Trenscend) 사의 1GB 레지스터드 ECC PC133 SDRAM

인피니언사의 1GB 레지스터드 ECC DDR333 메모리
레지스터드 메모리의 반대말은 언버퍼드 메모리라고?
이제 레지스터드 메모리가 어떤 것인지 독자분들도 어느정도 감을 잡았을 것이라고 생각한다. 그런데, 분명 이러한 생각을 가지는 독자가 있을 것이다. '레지스터드의 반대말이 왜 언버퍼드인가? 언레지스터드가 아닌가? 또한, 언버퍼드의 반대말은 버퍼드가 되어야하지 않는가?'라고.
분명히 생길 수 있는 의문점이다.
이것은 이전부터 이어져내려온 관례라고 생각하는 것이 좋다. EDO 메모리가 한창 사용되던 때에 사용된 서버용 메모리는 '버퍼드(buffered)'라고 불렸다. 여기에서의 버퍼 역시 지금의 레지스터와 거의 유사한 역할을 한다. 그래서 이러한 메모리의 반대되는 말로 '언버퍼드(unbuffered)'가 사용되었다.
이후에, EDO 메모리의 영역을 SDRAM이 대체하게 되면서, 버퍼드 메모리는 레지스터드 메모리로 바뀌었다. 이것은 EDO 메모리와 SDRAM 간의 특성 차이로 인해서 이름이 변경된 것인데, 일반 사용자용 언버퍼드 메모리들은 어차피 달라지는 것이 거의 없어서 그대로 언버퍼드 메모리로 불리게 되었다.
결국, 현재에 이르러서도 '언레지스터드-레지스터드'가 아닌, '언버퍼드-레지스터드'로 불리고 있다.
 
레지스터드 메모리의 구성과 용도
레지스터드 메모리의 구성
앞서 설명한대로, 레지스터드 메모리는 레지스터가 달려있기 때문에 메모리 모듈 내의 칩 배치가 상당히 자유롭고, 보다 많은 칩을 장착할 수 있다. 그래서 많은 메모리 제조사들은 다양한 방법을 사용하여 고용량 메모리를 제조하고 있다.
이것은 가장 일반적인 레지스터드 메모리의 구성이다. 메모리 칩은 아홉개(ECC가 적용되었으므로)이며, 그 아래로 레지스터드 메모리가 위치해있다. 대개 이러한 경우 메모리 칩은 9개(단면) 혹은 18개(양면)가 탑재된다. 하나의 메모리 칩이 가지는 용량이 256Mbit라고 할 때, 하나의 모듈에서 512MB의 구성이 가능하다.
이것은 다열구조의 메모리이다. 언버퍼드 메모리에서는 메모리의 데이터 경로 길이의 차이로 인해서 다열구조의 메모리 구성이 불가능하지만, 레지스터드 메모리에서는 타이밍을 정렬해주는 레지스터로 인해서 이러한 다열구조 메모리가 만들어질 수 있다. 말 그대로, 메모리의 열이 두배로 늘어났기 때문에 탑재되는 메모리의 양도 두배로 늘어난다. 위와 같은 조건일 경우 양면으로 해서 하나의 모듈로 1GB의 고용량을 구현할 수 있다.
그러나 다열구조 메모리는 최근에는 잘 사용되고 있지 않다. 서버들의 크기가 점점 작아지고 있기 때문이다. 예전같으면 서버는 무조건 커다란 케이스에 이거저거 다 집어넣은 것이었지만, 요즘의 서버는 랙에 장착되는 경우가 많다. 이는 공간절약과 작업의 효율성 때문인데, 여하튼 1U 내지는 2U 서버 사용의 증가로 인해서 지나치게 높이가 높은 메모리는 서버에 장착한다는 것이 거의 불가능하다. 특히나 1U 서버라면 현재 판매되고 있는 일반적인 언퍼버드 메모리 정도밖에 장착할 수 없다. (그래서 메모리 슬롯이 30˚ 각도로 비스듬하게 장착되어 있는 메인보드도 있다.)
이러한 이유로 인해서 요즘은 고용량 메모리의 제작에 아래와 같은 스택(stack)형 메모리를 사용한다.
일단 겉보기에는 보통의 메모리와 다를바가 없어보인다. 그러나 자세히 보면 스택형 메모리의 특징이 드러난다. 바로 메모리의 복층구조이다.
메모리가 다른 메모리를 '업고' 있다. 이렇게 만들기 위해서는 공정이 좀 복잡해지기는 하지만 일반적인 메모리의 높이에서 두배의 메모리 용량을 구현할 수 있어서 TSOP 타입의 패키지를 사용하면서 고용량 메모리르 구현하는데에 자주 사용되는 방법이다.
특히 엘피다(elpida)사의 경우 TSOP 패키지가 아닌, TCP(Tape Carrier Package) 패키지를 사용해서 스택 구조에서도 일반 메모리에 비해서 두께가 많이 두꺼워지지 않는다.

엘피다 메모리의 TCP 스택구조
Copyright(c) by Elpida

엘피다의 2GB용량의 DDR SDRAM 메모리 모듈. 512Mbit 칩 36개를 사용하였다.
Copyright(c) by Elpida
 
또는, 점점 고속화되가는 메모리로 인해서 아예 BGA 패키지를 사용하는 경우도 있다. BGA 패키지는 TSOP 패키지에 비해서 차지하는 면적이 월등히 좁기 때문에 같은 면적에 보다 많은 메모리를 탑재하는 것이 가능하다. 아래 사진에서 보이는 인피니언사의 1GB DDR333 레지스터드 메모리 모듈은 그러한 예를 단적으로 보여준다.

인피니언사의 1GB 레지스터드 ECC DDR333 메모리
Copyright(c) by Infineon
메모리의 높이는 일반적인 메모리와 거의 유사함에도 불구하고 한면에 18개의 메모리가 탑재되어 있다. 이것은 메모리가 BGA 타입으로 변경되면서 크기가 줄어들었기 때문에 가능해진 것이다. 물론 BGA 패키지는 그 특성상 스택이 불가능하기 때문에 고용량을 위해서는 이러한 형태를 취해야만 한다.
레지스터드 메모리의 용도
레지스터드 메모리가 사용될 필요성은 크게 두가지로 나눌 수 있다. 우선은 위와 같은 대용량 메모리의 구성이다. 18개를 초과하는 칩을 하나의 모듈에 탑재하기 위해서는 레지스터드가 필수적이다. 또 한가지는 바로 '보다 많은 메모리 모듈을 사용하기 위해서'이다. 단적인 예가 바로 다음과 같은 메인보드이다.


Supermicro사의 P4QH8 메인보드와, 이 메인보드에 사용되는 메모리 확장카드인 MEC2
Copyright(c) by
Supermicro
위의 메인보드는 서버용으로 사용되는 제품이다. 4개의 Xeon 프로세서를 탑재하고, 무엇보다도 메모리를 최대 32GB까지 지원한다. 메모리 확장슬롯은 총 16개이며, 32GB의 메모리를 사용하기 위해서는 모듈당 2GB의 용량을 가지는 메모리를 사용해야 한다. 이것은 이 글에서 내내 언급했던 레지스터드 메모리의 필요성을 보여주는 것이다. 총 16개의 메모리 슬롯을 사용하기 위해서, 그리고 모듈당 2GB의 용량을 구현하기 위해서 레지스터드 메모리는 필수적이다.
굳 이 이렇게 거창한 메인보드를 예로 들지 않더라도, 주변에서 쉽게 찾을 수 있다. 쉬운 예로, VIA의 Apollo KT266A 칩셋(오른쪽 사진)이 있다. KT266A 칩셋을 사용한 메인보드는 일반적으로 3개의 메모리 슬롯만을 가진채로 출시되었다. 그러나 데이터시트 상의 데이터에 의하면 총 4개의 메모리 모듈을 사용할 수 있었다.
이것은 KT266A(KT266도..) 칩셋이 언버퍼드 메모리를 사용해서는 3개까지의 모듈만을 지원하고, 레지스터드 메모리를 사용해야만 4개의 모듈을 모두 사용할 수 있기 때문이었다. 어차피 일반 사용자는 레지스터드 메모리를 잘 사용하지 않기 때문에, 업체의 입장에서는 굳이 4개의 메모리 소켓을 달아서 '4개를 사용하려면 레지스터드 메모리를 사용해라'는 등의 주의문구를 넣느니보다, 그냥 메모리소켓을 3개까지만 장착하는 것이 편리했던 것이다.
그래도 극히 일부 메인보드는 4개의 메모리 슬롯을 탑재하고 출시되었다.(물론 다 사용하려면 레지스터드 메모리를 사용해야 하고..)
이것은 AMD760 칩셋에도 마찬가지로 적용되어서 AMD760 칩셋에서 4개의 메모리 슬롯을 사용하기 위해서는 레지스터드 메모리만을 사용해야 했다. 그렇지 않으면 메모리 모듈 사용한계는 2개로 줄어들었고, 이 때문에 대개의 AMD760 칩셋 메인보드는 2개의 메모리 슬롯만을 가지고 있다.




'Hobbies > 하드웨어' 카테고리의 다른 글

좋은사이트  (0) 2007.09.06
[펌글] 옴니북 800 자료  (0) 2007.09.01
옴니북 드라이버 FTP 사이트  (0) 2006.02.01
얼마 전까지의 시스템들...  (0) 2005.03.10
Afina 7200CL 업그레이드  (1) 2005.03.10

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,
옴니북 드라이버 FTP 사이트
http://24.237.160.4/files/omnibook/

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,
회사를 그만 둘 계획을 세우고 나니, 자신만의 노트북이 하나 필요했습니다.

그 동안 회사에서 좋은 노트북들을 많이 써서 왠만한 녀석들은 눈에 차지도 않았지만, 자금 여력을 생각해 보니, 고를 수 있는 것들은 몇개 되지 않았습니다.

그래서 결국은 가장 싼 Sotec 노트북을 구매하게 되었습니다만, 그나마도 돈이 모자라서 결국은 Desktop 하나를 팔게 되었습니다.
내 방구석(아현동)


팔려 나가기 전에 기념으로 찍은 가족 사진입니다. 리에양과 Alpha군을 빼고는 다 참석했군요.

화면에 보이는 가장 큰 화면이 21" LCD인데, PIP기능까지 지원되는 TV로도 훌륭한 역할을 했었습니다. 옆에 보이는 PS2의 게임 화면도 볼만한 정도로 재생해 주었구요.

그리고 PS2에 있는 조그만 것이 첫 PDA였던, Palm 3c입니다. e-Book과 메모장으로 훌륭한 사명을 수행하고 있습니다. 얼마전부터는 리에양에게 밀려 탁상 시계로 살고 있다는 - -;

그 옆에 보이는 노트북이 친구한테 받은 HP Omni Book입니다. 현재 NetBSD를 깔려고 엄청난 노력 중인데, 이 삽질기는 다음에 올리도록 하겠습니다.

그리고 노트북 옆이 HP의 복합기입니다. 프린터보다는 주로 스캐너와 복사기로 사용되고 있습니다.

HP 복합기 밑에 있는 PC 본체가 대화면 LCD와 함께 이번에 팔려 나간 놈입니다. 그럭저럭 좋은 성능을 보여주었던 놈인데, 팔려니 무지 아깝더군요.

그리고 왼쪽에 있는 모니터와 본체는 저 검은 본체 녀석을 구입하기 전에 쓰던 컴으로 이제는 사양이 딸려서 Linux 전용 머신으로 사용하고 있습니다.

깜둥이가 빠져나간 지금의 책상을 보면, 깔끔하면서도 뭔가 허전한게... 좀 아쉽네요. 휴~

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,
Afina 7200CL을 업그레이드 했습니다. RAM과 HDD 쪽이었는데, 어쩌다 보니 키보드 유격 문제까지 처리하게 되었네요.

HDD 업그레이드와 키보드 유격 때문에 고민하시는 Sotec 유저분들을 위해 사진을 함께 올리도록 하겠습니다. RAM 업그레이드는 너무 쉽고 매뉴얼에도 잘 설명되어 있으므로 생략합니다.


1. 본체의 분해 및 HDD 교체

이 기종은 요즘 노트북들과는 달리, HDD를 교체하기 위하여 노트북의 상판을 분리해야 합니다. 이 작업이 초보자에게는 매우 까다로울 수 있습니다. 그리고 실제로 해보니, 내부의 USB 케이블과 스피커선(?) 때문에 매우 조심스러운 작업이었습니다. 주의하시길...

먼저 노트북의 뒷면을 보면 팜레스트 쪽으로 나사 구멍들이 몇개 있습니다. 이 7개의 나사를 모두 분리합니다.

나사를 분리한 후에, 노트북의 팜레스트 상판을 살살 들어보면, 덜렁거리는 것을 확인할 수 있습니다. 생각 같아서는 확 들어내면 될 것 같기도 한데, 어딘가 걸려 있는 꺼림직한 느낌을 받으실 수 있을 것입니다.

모든 나사가 제거되었음에도 팜레스트 부분이 빠지지 않는 것을 알 수 있습니다. 원인은 바로 Sound In/Out 부분입니다. 그래서 어찌하건 이 부분을 제거해야 할 것이라고 생각했습니다.

저도 처음에는 이 사실을 알고 매우 당황했습니다. Sound In/Out 단자를 눌러보기도 하고 해봤는데, 도저히 움직이지가 않는 것이었습니다. 한참을 이것 저것 해보다가, 결국 단자를 둘러싸고 있는 어두운 회색의 플라스틱 부분을 앞으로 잡아 빼야만 한다는 것을 알게 되었습니다.팜레스트 부분이 두 조각으로 되어 있을 줄은...
사용자 삽입 이미지


아무튼 팜레스트의 전면부(?)를 잡아 빼고 나니, 나머지 팜레스트 상판이 쉽게 빠졌습니다. 상판을 뺄 때 조심하셔야 할 것은, Touch Pad와 내부 USB, 스피커 선 등을 조심하여야 한다는 것입니다. 그냥 확 잡아빼면, 내부 선들이 다 빠질 것 같더라고요.

아무튼, 이렇게 상판을 적당히 분리한 후(완전히 떼는 것이 아니라, 약간만...), 오른쪽에 있는 HDD를 제거하면 됩니다.
사용자 삽입 이미지


이때, HDD위에 있는 USB 연결선(그림에서 오른쪽 빈공간 부분에 있는 황금색 선)이 끊어지지 않도록 조심스럽게 커넥터에서 빼야 합니다. 잘못하면, 영영 USB를 사용할 수 없을 수도...

이제 조심스럽게, 새로운 HDD를 삽입합니다.
사용자 삽입 이미지


그리고, USB선을 다시 커넥터에 꽂고 원래처럼 테이프를 붙여서 고정합니다.
사용자 삽입 이미지


이제 다시 반대 순서로 조립해 나가면, HDD 교체는 끝납니다.



2. Bonus! 키보드 유격 문제 처리

이 기종은 키보드의 유격(덜렁 거리는 것)이 상당히 심합니다. 특히 오른쪽. 이는 키보드와 본체의 상판간에 공간이 생겨서 발생하는 것으로 키보드 자체의 문제라기 보다는 키보드의 규격과 케이스의 규격이 맞지 않는 플라스틱 성형과정의 문제라고 생각됩니다.

이러한 문제는 제조사의 명백한 실수이므로 교환을 해주어야 한다고 생각되지만, 이 기종의 거의 모든 제품이 이러한 증상을 보이므로, 이 기종을 선택했다면, 피할 수 없는 문제라고 스스로를 위로했습니다. - -;;

하지만, HDD 교환을 위해 이 녀석을 분해하던 중, 키보드 유격을 줄일 수 있는 방법을 찾았습니다. 뭐, 방법이라고 하기는 좀 그렇지만, 종이를 유격 사이에 밀어넣어 유격 자체를 없애버리는 것입니다. 좀 이상하기는 하지만, 현재 이 글을 쓰고 있는 상태에서 오른쪽 키보드의 유격은 느끼지 못하고 있습니다. 단, 키보드의 소리는 키보드 자체의 문제니까 어쩔 수 없지만요...

아래 사진처럼, 분해한 상태에서 키보드를 들고 키보드와 상판 사이의 공간에 종이쪼가리를 오려서(1cmX1cm 정도 크기로) 삽입했습니다. 종이는 매우 얇으므로, 두께조절은 원하는만큼 할 수 있습니다. - -;

사용자 삽입 이미지

사진이 잘 안 나왔네요. 엄지 손가락 오른쪽으로 흰 사각형 같은 것이 종이 쪼가리입니다.


저의 경우에는 | 키 밑에 5장, Home 키 밑에 4장, Enter 키 밑에 4장을 삽입했습니다. 다시 조립하고 나니, 유격은 거의 사라졌습니다.

종이를 사용한다는 것이 좀 웃기지만, 당시 주변에 보이는 것이 노트여서 - -;


Next.

암튼, 이렇게 해서 HDD 업그레이드와 유격 문제를 해결했습니다. 이제 좀 쉰 다음에 고질적인 팬 소리 문제 잡으러 가야죠. 아마도, 가변 저항을 사용하거나, 팬 자체를 갈아 버릴 듯 한데... 제발 고장내지 않고 잘 했으면 좋겠습니다.


WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,
계획하고 있는 일 덕분에 노트북이 필요했습니다. 도서관에도 들고 갈 수 있을 정도로 작은 녀석으로요.


그래서 가지고 있던 데스크탑을 팔고 그 돈으로 싼 노트북을 찾았지요. 한 보름 정도를 머리털 다 빠지도록 고민했는데, 결국은 Sotec의 Afina 7200CL로 답이 나오더군요. 그 엄청난 가격 때문에...


하지만 지르기 전에 노트북의 사양이 좀 낮고, 키보드의 유격 문제와 소음 문제가 많다는 소문 때문에 좀 망설였습니다. 그렇지만, 이제까지의 노트북 사용 경험들을 미루어보아, 어찌 어찌 해결할 수 있겠다는 생각으로 결국은 지르고 말았죠. daum에서 1000원 빠진 100만원에 구입을 했습니다. 그리고 구입한 다음 날, 용산으로 가서 512MB RAM과 80GB HDD를 구입했습니다.


총 구입 비용은 다음과 같네요.

Afina 7200CL : 100만원

Hynix PC2700 512MB : 8.5만원

Samsung 5200RPM 80GB : 14만원

==> 합계 : 123만원.


좀 만져보니, 키감이 아주 더럽네요... 덜렁 덜렁. 초기 삼성의 모델들도 그랬는데, 옛날의 추억이 떠오르면서 매우 기분이 나빠지고 있습니다.


빨리 개조에 들어가야겠습니다.

WRITTEN BY
쿨링팬
IT 팁, 소소한 이야기들

,