7-1-03.램 (ram) Random Access Memory

  메모리 (RAM) 의 모든 것을 알고 싶다!
브레인박스 자료실에서 퍼왔습니다. http://brainbox.co.kr/

시작에 앞서...

메모리는 컴퓨터를 구성하는 유닛중 가장 중요한 요소이면서도, 그 용어 등의 난해 함으로 잘 이해하지 못하고 있는 요소 중의 하나이다.    이에 brainbox에서는 어려운 용어의 명확한 해설과 그에 따른 성능 변화 및 메모리 구입시 선택 요령 등을 중심으로 기사를 준비했다.
본격적인 이야기를 시작하기 전에 메모리의 종류는 무척 많지만, 이번 기사에서 다 루는 것은 컴퓨터 시스템의 메인메모리를 중점적으로 다루도록 한다.
현재 시스템에 사용되는 메모리는 3가지 타입이 있다.  소위 말하는 Level 1 cache, Level 2 cache, 메모리 등이 그것이다.
L1 캐시는 CPU 내부에 집적된 상태로 CPU의 코어 속도와 같이 동작하며, L2 캐시는 
L1 캐시와 메모리 사이에서 버퍼(buffer, 완충) 역할을 해준다.  
이러한 L2 캐시는 Socket7 형태의 메인보드에서는 메인보드상에 장착했었지만 현재
의 CPU들은 L2 캐시를 자체적으로 가지고 있는 경우가 대부분이다.  
하지만 우리가 관심이 있는 것은 소위 말하는 메인 메모리인 RAM 
(Random Access Memory)이다. 이러한 RAM은 무엇이고, 어떻게 동작하는지 등의 사항
을 이제부터 하나씩 짚어나가 보자. 
  
  
SIMM과 DIMM의 차이 
  
RAM(Random Access Memory)은 데이터가 CPU에서 처리되기 이전 및 처리 후에 저장되
는 공간이다. 
현대의 RAM은 보통 두가지 타입이 있는데, 한가지는 SIMM (Single Inline Memory 
Modules)이고, 다른 한가지는 DIMM(Dual Inline Memory Modules)이다.  
보통 예전에는 72-pin의 SIMM이 많이 사용됐으나, 현재 대부분 시스템에는 168-pin 
DIMM이 사용되고 있다. 
펜티엄 및 그 이후의 프로세서들은 64bit의 데이터 전송 대역폭을 필요로 한다.  
즉, 메모리와 데이터를 주고받을 때 64bit를 한번에 주고 받는다는 이야기다.  
하지만, SIMM의 경우 32bit의 대역폭을 갖는데 이것을 극복하기 위해 한쌍을 장착하
여 64bit의 대역폭을 만들어 사용하고 있다. 
(그래서 보통 72-pin 메모리는 쌍으로 꼽아서 사용한다고들 말하는 것이다.)  
DIMM의 경우는 64bit의 데이터 버스 대역폭을 가지고 있기 때문에 SIMM과 같이 쌍으
로 장착하지 않고 독립적으로 장착되어도 아무런 문제가 없는 것이다.
(마찬가지로 168-pin 메모리는 쌍으로 꼽지 않아도 되는 이유가 이것이다.) 
또한, 메모리 장착시에도 DIMM은 SIMM보다 간편하다.  
SIMM은 뱅크(bank)에 맞추어 밀어올리는 방식이 사용되므로, 추가 장착등의 문제시 
메모리를 다 뽑아내는 등의 필요없는 일들을 해야 하는 경우가 생기지만, DIMM의
 경우는 보통 그냥 뱅크에 꼽으면 끝이다. 

       [72-pin SIMM bank]                 [168-pin DIMM bank]   

또다른 차이점은 SIMM의 경우 5V를 사용하는 반면, DIMM은 5V를 사용하기도 했지만
 현재는 3.3V만을 사용한다. 또한, PC-100이라 불리우는 새로운 형태의 DIMM은 100
MHz 버스 속도를 지원해주는 제품이다.  
모든 메인보드가 지원해주는 것은 아니지만, DIMM 및 72-pin SIMM은 모두 8,16,32,
 64,128,256MB의 크기로 제작될 수 있다. 
현재 사용되고 있는 RAM의 대부분은 EDO(Extended Data Out) RAM과 SDRAM
(Synchronous Dynamic RAM)의 두가지이다. 
EDO의 경우는 SIMM, DIMM에 모두 사용되며, SDRAM의 경우는 오직 DIMM에만 사용된다.
 일반적으로 SIMM과 DIMM 또는 EDO와 SDRAM을 함께 사용하는 것은 바람직하지 않다. 

  안정성
우선 안정성을 말한다는 것은 빠른 성능과는 별개의 문제이다.
제대로 만들어진 PC-100 SDRAM DIMM은 거의 동일한 성능을 나타내므로, 속도는 메모 리를 측정하는 척도라 할 수는 없다. 실제로 메모리를 판단하는데 거의 사용되고 있지도 않다.
우수한 메모리로부터 기대할 수 있는 것은 안정된 시스템 동작이다.
하지만 대부분의 SDRAM은 일반적인 메모리 버스 속도(66MHz 또는 100MHz)에서는 모두 잘 동작하는 것이 일반적이다.
왜냐하면, 이러한 주파수에서 안정적으로 동작하도록 각 제조사에서 디자인하였기 
때문이다. 안정성 문제는 보통 오버클러킹을 시도할 때 일어날 수 있는데 그에 대한
 자세한 이야기는 나중에 다루도록 한다. 

   
ECC (Error Correcting Code) 
예전의 SIMM에 있어서는 에러 체킹이 비교적 초보적인 수준이었고, 소위 패러티
(parity)라는 방법이 사용되었다.  이것은 8bit마다 추가적인 패러티 비트(1bit)를
 두고 데이터가 들어가는 8bit에 들어있는 1의 갯수가 홀수이면 패러티 비트를 0으
로, 짝수이면 1로 세팅해 주는 방법이다.
(이런 경우를 even 패러티라 하고, 반대로 1의 갯수가 홀수인 경우 패러티 비트를 
1로, 짝수인 경우 0으로 세팅하는 경우를 odd 패러티라 한다)  
이렇게 함으로써 데이터 전송시 비트가 바뀌었을 경우 에러를 체크해줄 수 있는데 
예를 들면 다음과 같다. 
만약 even 패러티를 사용할 때 8bit의 데이터가 10011010이라고 하면 패러티 비트는
 1이 될 것이다.  그런데 만약 전송중에 데이터가 10011011로 바뀌었다면 그에 맞는 
패러티 비트는 0이 되어야 한다. 
하지만, 패러티는 이 경우 1이므로 데이터가 잘못되었다는 것을 알 수 있다.  
그런데 만약 전송도중 2개의 bit이 바뀐다면(예를들어 10010000) 패러티는 정상으로
인식될 것이다.  즉, 이러한 패러티를 사용하는 방법에서는 홀수개의 에러는 찾아낼
수 있지만, 짝수개의 에러를 찾아내는 것이 불가능하다.  
보통 에러가 발생시 1bit 이상 발생하는 경우는 드물지만, 짝수개의 데이터 변경이 
일어나고 그것이 치명적인 것이라면 매우 위험한 상황이 발생할 수도 있는 것이다.  
더 심한 것은 이러한 패러티 체킹에서 에러가 검출되면 수정할수 없다는 점이다. 
왜냐하면, 에러가 발생한 것은 알 수가 있지만, 정확히 8개의 bit중 몇 번째 bit이 
바뀌었는지 알 수가 없기 때문이다.  
또한 이렇게 에러가 검출되면 시스템이 무지막지하게 다운되어 버리는 것도 커다란 
문제점이다. 

현재의 DIMM에는 ECC(Error Correcting Code)라는 새로운(?, 별로 새롭지는 않다. 
이론적으로 소개된 것은 오래전의 일이다.) 방법이 사용된다.  
이러한 ECC는 패러티를 위해 1바이트(8bit)를 사용하는데, 이 방법을 사용하면 에러
자동 검출은 물론, 심지어 시스템 다운없이 1bit 에러까지도 수정해줄수 있다.  
그렇다고 ECC 메모리가 non-ECC 메모리에 비해 속도가 느린 것도 아니다.  
ECC 메모리 사용시 추가적인 사이클이 필요한 경우는 에러가 검출된 경우에 한해서 
이다. 이러한 ECC의 기능을 사용하기 위해서는 메인보드 역시 그 기능을 지원해주어
야 한다.  보통의 PC에서는 에러가 발생하는 빈도수가 매우 낮고, 실상 발생한다 하
더라도 커다란 문제가 되지 않는 경우가 많다.  
하지만, 만약 파일 서버 등의 서버급 시스템에서는 이러한 에러 발생시 ECC를 사용
하지 않는다면 커다란 문제가 발생하게 된다.  

즉, 미미한 에러 하나로 인해 시스템이 다운되어 버리게 되면, 여러 사용자의 얼굴
이 갑자기 노랗게 변해 버리는 사태가 발생하게 된다. 그러므로 보통 ECC는 서버급
의 시스템에는 필수적인 요소이다.  특히 알파 시스템에는 아예 ECC 메모리가 아니
면 장착 자체가 불가능하다. 
이러한 ECC에는 이론적으로 몇가지 종류가 있는데 그중 많이 사용되는 것이 해밍
(Hamming) 코드이다.  이 해밍 코드를 이론적으로 설명하다보면 독자들의 대부분
은 브라우저의 back 버튼이나 다른 링크로 가 버릴 것이 거의 확실하므로 이에 대한
이론적인 설명은 접어두기로 한다. 
(절대로 필자가 몰라서 안하는게 아니다. 꼭 알고싶거나, 필자를 못믿는 독자는 언
제든지 메일을 주면 개인적인 설명을 해줄 것이다.) 

  CAS (Column Access Strobe) Latency

RAM에 있어서 정보를 나타내는 bit는 셀(cell)이라는 곳에 저장되며 이는 행(row)과 열(column)로 구성되어 있다.
이러한 RAM의 한 행을 접근하는 속도를 나타낼 때 소위 RAS (Row Access Strobe) Latency라 하며, 열을 접근하는 속도를 CAS(Column Access Strobe) Latency라 한다. 이 값이 작을수록 더 좋은 것이며, CAS Latency 값은 칩들마다 다르다.
하지만, 이러한 CAS Latency는 배선에 의해 영구적으로 결정되는 것은 아니다.
CAS Latency는 사용하는 버스 속도에 따라 바뀔 수가 있는데 예를들면 다음과 같다. 
66MHz의 버스 속도에서 CAS-2를 갖는 칩이 있는데, 만약 이 칩이 불안정할 수 있는 
100MHz 버스 속도에서 사용되는 경우 CAS-3로 동작할 수도 있다. 
물론, 높은 버스 속도에서 낮은 CAS Latency를 갖는 제품이 좋다는 것은 두말하면 
잔소리다. 
  
  
가 격 
  
가격은 구입시 가장 중요한 고려사항이다.  
우선적으로 기억해야할 점은 비싼 메모리가 항상 그만큼 우수한 성능을 가지지는 
않는다는 것이다.  보통 시장 가격은 업체들간의 경쟁에 따라 결정되는 것이 대부분
이므로 동일 SPEC의 제품을 굳이 비싸게 주고 구입할 하등의 이유가 없다. 
특히, 국내 사용자들의 경우 S, H, L 3사의 제품중 유독 S사의 제품을 비싸게 주고
구입하는 경우가 많은데 전혀 그럴 이유가 없다.  비싸도 소비자가 자꾸만 구입하니
까 가격을 내리지 않는 것이다.  
소비자가 안사면 가격은 다른 제품과 같아진다고 필자는 감히 장담한다. 
(필자는 소비자 입장에서 판단하는 것일뿐 S사와 특별한 감정상의 대립관계에 위치한 
사람은 아니다.) 
하지만, 마찬가지로 더 싼 메모리가 더 좋은 성능을 가진다는 것도 아니다. 
다시한번 말하지만, 성능은 SPEC으로 결정되는 것이지 가격으로 결정되는 것이 절대
로 아니다. 
  
  
기타 일반적인 이야기들...
  
SIMM과 DIMM을 함께 사용하는 것 
  
이것은 일반적으로 추천되지 않는 방법이다.  왜냐하면 EDO RAM은 보통 SIMM이 사용
되고 SDRAM은 DIMM만이 사용되므로 timing 문제가 발생할 수 있기 때문이다.  
또다른 이유로는 전압 문제가 있다.  
위에서도 언급했지만 SIMM은 5V를 사용하고 DIMM의 경우는 3.3V를 사용한다. 
보통 SIMM과 DIMM을 함께 사용하는 경우는 업그레이드로 인해 처치곤란한 EDO RAM
(SIMM)을 그냥 함께 사용하는 경우다.  하지만, 이런 경우 메모리 용량은 늘어나게 
되지만, 보통 느린 EDO RAM(SIMM)에 성능이 맞추어지기 때문에 전체적인 메모리의 
성능은 낮아지게 된다. 

  
..x64와 ..x72 DIMM의 차이 
  
..x64 DIMM은 일반적인 non-parity DIMM을 의미한다.  ..xx72 DIMM은 위에서 설명한
ECC를 위한 부가적인 8bit를 사용하는 DIMM을 의미한다. 
예전의 패러티 체킹 시스템과는 달리 ECC는 1bit 에러 발생시 그것을 수정할 경우만 
부가적인 사이클이 필요하다.(일반적인 동작에서는 부가적인 사이클이 필요없음) 
만약 ECC DIMM을 ECC를 지원하지 않는 메인보드에서 사용하는 경우에는 부가적인 
8bit는 무시되고 사용되지 않는다. 
  
  
EEPROM과 SPD 
  
EEPROM(Electrically Erasable Programmed Read Only Memory)의 기능은 BIOS와의 상
호작용으로 메모리 타이밍을 조절하여 메인 메모리와 L2 캐시 사이의 데이터 전송시 
더 높은 정확성을 가지도록 도와준다. 
실제적인 데이터 전송이 일어나는 순간에 L2 캐시가 그 데이터를 받을 준비가 되어 
있다면, 미미하나마 그 타이밍이 다른 경우에 비해 에러 발생률이 현저히 적어지게 
되는 것이다.  이러한 EEPROM 기능은 메모리의 동일 기능인 SPD(Serial Presence 
Detect)와 조화되어 사용되며, 메인보드에서 지원해주지 않는 경우 무시되고 사용되
지 않는다. 

  
ns(nanosecond)에 대한 이야기들... 
  
초보자가 큰맘을 먹고 메모리를 직접 사보기 위해 용산에 나갔을 때, 어떤 매장에서
는 구형 컴퓨터에서는 높은 속도의 메모리를 사용할 수 없다며 12ns의 DIMM을 권하는
경우가 있다.  이런 경우에는 절대로 그 매장 주인의 말을 듣지 말아라.  
완전 X같은 인간 쓰레기다.  이런 느린 메모리를 권하는 이유는 단 한가지, 팔리지 
않는 재고를 처리하기 위함이다.  
절대로 속지 말고 한마디 해주고 그냥 나올 것을 충고한다. 
하지만, 10ns의 DIMM이 때로는 8ns의 DIMM보다 빠른 경우가 있다.  
만약 전자의 경우 CAS-2이고, 후자쪽이 CAS-3이라면 이 경우 10ns의 DIMM이 더 빠른
성능을 나타낸다. 왜냐하면, 전자의 경우 메모리 접근시 20ns(10ns x 2)가 소요되고,
후자는 24ns(8ns x 3)가 소요되기 때문이다.  
물론 10ns의 DIMM이 CAS-3이라면 이러한 일은 절대로 발생하지 않는다. 
현재 7ns는 물론 6ns의 DIMM이 나와있는 상태이며, 추후 더 빠른 DIMM이 나올것이다. 


글을 마치며...
  
다른 PC 유닛과 마찬가지로 메모리 선택시 가장 중요한 것은 어떤 용도로 사용할 것
인가를 결정하는 일이다. 
일반적으로 사용하는 보통의 성능을 원한다면 쉽게 구할 수 있는 PC-100 DIMM 등을 
구입하면 되겠지만, 오버클럭 등에서도 안정적으로 사용하고 싶은 경우라면 PC-133의
DIMM이 좋을것이다. 
또한 구입시에는 가격 차이가 크지 않다면 되도록 여러개의 작은 용량 DIMM을 구입
하는 것 보다 1개의 큰 용량을 가진 DIMM을 구입하는 것이 추후 업그레이드시 유용
한 선택이 될 것이다. 하지만, 보통 가장 큰 용량의 제품은 가격차이가 엄청나므로 
피하는 것이 좋다. 
PC-100 메모리를 구입하려 한다면 7ns 이하의 제품을 선택하는 것이 성능이나 안정성
 면에서 우수하고, 앞으로를 대비하는 지혜로운 선택이 될 것이다. 
그리고, 앞서도 언급했지만 브랜드에 집착하지 말기를 당부하며, 그것보다는 되도록
 CAS-2의 제품을 선택하길 바란다. 부족한 글이지만, 모쪼록 조금이나마 도움이 되길
바라는 마음을 가지며 기사를 마친다. 
 자료출처 : 브레인박스  자료실    http://brainbox.co.kr/

    ※ 본 내용은 윤종훈님  홈페이지에서 퍼왔습니다.   자료출처 : http://www21click.wo.to/

 
▶ 램 뱅크 
램을 장착 하기 전에 반드시 유념해야 할 것이 있는데 그것은 램 뱅크입니다.
램 뱅크란 램을 장착하는 단위인데 램은 반드시 단위별로 장착을 해야 합니다. 
즉 램 뱅크가 묘듈 램 4개로 이루어 졌다면 모듈 램을 4개 장착해야 램을 인식한다는
 얘기입니다. 그리고 램 뱅크에는 같은 용량의 램만 장착해야 합니다. 

386 DX 시스템 
램 뱅크에는 30핀 모듈 램 4개가 있습니다. 
※ 램에는 30핀, 72핀, 144핀, 168핀 등등이 있는데 이 핀이란 말은 램 뱅크와 램간에
  접촉되는 부분의 금속도금면 갯수를 말합니다. 
386 DX 메인보드에는 보통 30핀 모듈 램 4개가 장착됩니다. 
386 DX CPU는 외부 버스 전송 폭이 32비트이므로 데이터 전송폭이 8비트인 30핀 모듈
 램 4개를 장착해야 386 DX CPU의 외부 버스 전송폭과 일치를 시킬 수 있습니다. 
   8       ×      4         ≡     32 
30핀 모듈램   모듈램 개수        386 DX CPU  
데이터8비트   전송 폭             외부버스 전송 폭 

486 시스템 
486 메인보드의 램 뱅크에는 30핀 모듈 램 소켓 4개와 72핀 모듈 램 소켓 2개로 구성
 되고 3개의 뱅크가 존재합니다. 
뱅크 0 - 30핀 모듈 램 소켓 4개 
뱅크 1 - 첫 번째 72핀 모듈 램 소켓 
뱅크 2 - 두 번째 72핀 모듈 램 소켓 

이것은 외부 버스 전송 폭이 32비트인 486 CPU에 맞추기 위해서 30핀 모듈 램은 4개, 
72핀 모듈 램은 1개씩 장착한 것입니다. 
두 번째는 72핀 모듈 램 소켓 4개로 구성된 경우인데 이것은 매우 편리한 뱅크입니다. 
486 CPU의 외부 버스 전송 폭이 32비트이고, 72핀 모듈 램 역시 32비트이기 때문에 
 72핀 모듈 램 하나가 뱅크가 되므로 아래와 같은 다양한 램 조합이 가능합니다. 
16M + 8M + 4M + 1M = 29M 
 4M + 4M + 4M + 4M = 16M 
16M + 4M = 20M 
 8M + 4M = 12M 등등등... 
다만 보통의 경우 큰 용량의 모듈 램을 뱅크 0, 즉 첫 번째 모듈 램 소켓부터 장착
합니다. 

펜티엄 
램 뱅크는 72핀 모듈 램 2개입니다. 
펜티엄의 내부는 32비트이지만 외부 버스 전송폭은 64비트입니다. 
따라서 전송폭이 32비트인 72핀 모듈 램을 2개씩 끼워야 전송폭이 같게 됩니다. 
따라서 펜티엄 메인보드는 같은 용량의 72핀 모듈 램을 2개 단위로 장착해야 합니다. 
즉 아래와 같은 조합으로 말입니다. 
 4M +  4M =  8M 
 8M +  8M = 16M 
16M + 16M = 32M 
특히 SIS 551x나 VIA같은 특수한 칩셋을 사용하는 경우에는 칩셋 자체에서 72핀을 
하나만 달아도 인식하는 기능이 있어 펜티엄 보드라도 72핀 하나단위로 사용할 수 
  있는 장점이 있습니다. 
하지만 이런 메인보드는 성능이 떨어지는수가 많으므로 안정적이게 72핀 2개 단위로
 장착해 주는 것이 좋습니다. 


▶ 램의 종류 
램의 종류에는 크게 외형상 SIP, DIP, SIMM, DIMM으로 나눌 수 있습니다. 
SIP이란 칩에서 밖으로 이어지는 연결선이 일자로 쭉 나와 있는 것으로 빗과 비슷 
 합니다. 
하지만 이 칩은 PC에선 거의 사용을 하지 않습니다. 

DIP 램 
과거에는 메모리 칩이 DIP(Dual Inline Package)라는 형태로 나왔습니다. 
생김세는 핀이 칩의 양 옆(Dual)에 가지런히(Inline) 부착된 형태로 포장 (Package)
 되어 있습니다. 
현재는 BIOS ROM, 키보드 컨트롤러 등이 PC에서 볼 수 있는 유일한 DIP이고, 램은 
거의 모듈 램이 형태로 나오고 있습니다. 
모듈 램은 편리하게 끼고 뺄수 있고 메모리 칩을 모아서 한 기판에 붙여놓은 기판 
 형태입니다. 
다음부터 나오는 SIMM, DIMM모두 모듈 램의 종류입니다. 

SIMM(Single Inline module memory) 
SIMM의 종류에는 30핀과 72핀이 있습니다. 
30핀 4개를 합친 것이 72핀 1개와 동일합니다. 
지금은 SIMM이 거의 사용하지 않으나 다행히 일부 구형 워크스테이션과 특별한 카드
 등에는 아직도 30핀 SIMM을 쓰고 있으나 중고가격은 상당히 높은 편입니다.
(30핀은 지금 아예 나오지 안습니다.) 

DIMM(Dual Inline Memory Module) 
SIMM은 소켓 접촉 핀 부분의 양쪽 면이 서로 연결되어 있어 사실상 한줄만 핀이 있는
 거나 다름이 없어 Single Inline이라고 부르는 것입니다. 
DIMM은 SIMM과는 달리 양쪽 면이 서로 별개의 것으로 같은 면적에 2배의 접속핀을 가
 질수  있습니다. 
이러한 DIMM의 종류에는 72핀 SIMM과 같은 크기인 144핀 DIMM, 폭이 조금 큰 168핀 
 DIMM, 핀간격을 매우 좁혀서 전체 크기를 대폭 줄인 SODIMM (Smail Outline DIMM)
 등이 있습니다. 
이중 144핀 DIMM은 일부 노트북에만 쓰이고 SODIMM은 현재 노트북용 메모리의 표준
으로 자릴 잡아가고 있습니다. 
모든 DIMM은 64비트로 구성되어 있습니다. 
물론 패리티나 ECC대응형은 64+8, 즉 72비트로 구성되어 있습니다. 
이들 DIMM 은 72핀 SIMM 2개 또는 30핀 SIMM 8개와 같은 역할을 하게 됩니다. 


▶ 기억 방식에 따른 분류 

SRAM(Static Random Access Memory) 
SRAM은 말그대로 정적(Static)인 램, 즉 움직이는 램입니다. 
DRAM이 나오면서 과거의 반도체 램과 구별을 해야 할 필요성이 생기자 Dynamic의 
반대인 Static이란 접두사를 붙인 것입니다. 
SRAM은 회로 A의 입력이 출력으로 가서 회로 B의 입력으로 가고, 회로 B의 출력은
 회로 A의 입력으로 가게 하는 것으로 순환을 이루어 기억하는 방식입니다. 
SRAM에 전원만 공급된다면 혼자서 잘 논다는 뜻이겠죠. 
+---------------- → ----------------+
| |
+------+------+ +------+------+
| 회 로 A | | 회 로 B |
+------+------+ +------+------+
| |
+---------------- ← ----------------+
어떤 데이터를 기입할 땐 위의 순환 회로에서 가운데를 자르고 새로운 데이터를 넣어 주기만 하면 끝나고요. 이런 과정은 반도체칩의 속도가 모두 발휘되면 따라서 고속회로를 만들기 쉽습니다. 하지만 기억을 하는 대에 비트당 2개의 트랜지스터가 필요 하므로 비트를 선택하는 회로, 읽고 쓰는데 필요한 회로 등을 포함하면 비트당 4~6개 정도의 트랜지스터가 필요합니다. 그래서 DRAM보다 가격이 3배정도 높기 때문에 PC의 메모리로는 거의 사용하지 않고, 워크스테이션이나 대형 PC에서도 일부 최고급 기종에서만 메인 메모리로 쓰입니다. 보통 PC에서 메인 메모리로 많이 쓰이는 DRAM은 CPU의 속도에 비해 너무 느리기 때 문에 PC는 물론 위크스테이션이나 대형 PC에서도 대부분 SRAM을 L2 캐시로 쓰고 있 습니다. 따라서 SRAM하면 캐시 램이라 받아들여도 별 무리는 없을 것입니다. DRAM(Dynamic Random Access Memory) SRAM이 반도체로 구성된 순환회로에 의해서 기억을 하는것과는 달리 DRAM은 콘덴서를 이용해서 기억을 합니다. 데이터의 기입이란 콘덴서에 전기 충전을 하는 것과 같습니다. 그런데 그 충전된 데이터가 계속 콘덴서에 머무르는 것이 아니고 시간이 지나면 조금 씩 방전이 되므로 그 데이터가 방전되기 전에 다시 충전해 주어야 하는 방식이 필요 하게 됩니다. 그 방식을 리프레시(refresh)라고 합니다. 따라서 메모리를 쓰건 않 쓰건 메모리를 동적으로 만들어야 하기 때문에 Dynamic RAM이라고 부르는 것입니다. 참고로 16M비트 DRAM의 경우 보통 16ms마다 한 번은 리프레시를 해주어야만 데이터가 보존됩니다. 콘덴서에 의해 기억하기 때문에 그 데이터를 읽을 때도 문제가 생깁니다. 콘덴서의 안에 무슨 데이터가 있는지 알아내려면 방전을 시켜봐야 합니다. 쉽게 설명하면 콘덴서의 두 단자를 합선을 시켜봐서 스파크가 생기면 0, 스파크가 없으면 1이 되게 됩니다. 그리고 읽는 순간(합선) 그 데이터가 없어지므로 다시 전기를 충전시켜야 합니다. 읽었을 때 0이면 다시 충전을 하는데 그 것을 프리차지(Precharge)라고 부릅니다. 근데 이렇게 복잡할 것 같은 DRAM에는 다행히 트랜지스터가 비트당 1~2개 정도이고, 기타 제어 회로를 만들 때 쓰는 트랜지스터를 포함해도 비트당 2개가 되지 않기 때문 에 가격이 매우 싸게 되는 것입니다. EDO DRAM, BEDO DRAM, SDRAM, RDRAM 모두 DRAM의 일종으로 리프레시와 프리차지 타임 은 그 구조상 반드시 필요한 것입니다. 그리고 이들에겐 거의 차이가 없고 다만 차이가 있다면 페이지 모드에서만 차이를 보 일 뿐입니다. ▶ DRAM의 종류 FPM (Fast Page Mode) DRAM 이것은 처음 설계된 DRAM의 형태를 물려받은 형태이며 요즘 나오는 DRAM은 모두 FPM DRAM입니다. 4K비트가 되는게 한번 읽혀져서 SRAM에 넣어졌는데 그중 1비트만 쓴다면 나머지 비트 는 낭비라는 관점에서 나온 것이 페이지 모드입니다. 일단 4K비트 SRAM안에 들어온 내용을 읽고 쓸 때는 DRAM의 속도(50, 60, 70ns 등)가 아니라 SRAM의 속도(15, 20ns 등)로 읽고 쓰는것입니다. 예를 들면 서랍에서 메모지 찾는 것보다 메모지에서 쓰인 내용을 찾는 것과 같다고 할수 있지요. 여기서 DRAM에 들어있는 SRAM은 외부에서 제어신호가 들어간 다음에 내용을 출력하고 제어신호가 끝나면 출력을 중지합니다. 메인보드의 칩셋(CPU가 직접 DRAM을 부르는 것이 아니라 일단 메인모드 칩셋을 거쳐 부름)이 데이터를 DRAM에서 읽으려면 일정 시간 이상 제어신호를 출력하고 칩셋에서 데이터를 완전히 읽은 다음에야 제어 신호를 끄게 되므로 전체적으로 시간이 많이 걸리게 됩니다. EDO (Enhanced Data Out) DRAM EDO DRAM은 페이지 모드에서 DRAM의 출력 핀에 래치(일종의 중간 기억장치)를 달아서 제어신호가 끝나고 난 후에도 다음 번 제어신호가 올때까지 데이터를 계속 출력하게 한 제품입니다. 이렇게 하면 메인보드의 칩셋이 제어 신호를 보내고 나서 DRAM의 출력을 읽어들이기 전에 미리 제어신호를 꺼버릴 수 있으므로 다음 칩셋이 EDO DRAM에서 데이터를 읽는 동안 EDO DRAM은 다음 동작을 할 수 있는 상태가 됩니다. 즉 메인보드의 칩셋과 EDO DRAM이 서로 데이터를 주고받는 데 필요한 시간을 대폭 줄 인거라 할 수 있어 속도를 높인 거라 할수 있습니다. EDO DRAM을 상당히 많은 사람들이 DRAM이 아닌 것으로, 심지어는 EDO RAM으로 알고있 는 일도 있지만 분명히 EDO DRAM입니다. BEDO (Burst Enhanced Data Out) DRAM 대부분의 CPU가 버스트 사이클에서 더욱 빠른 메모리를 필요로 한다는 데 착안해 만 든 것이 BEDO DRAM입니다. 버스트 사이클은 첫 번째 사이클에서 주어진 주소에서 다음에 필요한 주소가 어디인지 예측을 할 수가 있기 때문에 두 번째부터는 마지막 네 번째 사이클에서 뭘 읽고 쓸지 미리 예측할 수 있기 때문에 메인보드의 칩셋이 BEDO DRAM에게 어떤 주소라고 제어할 필요가 없기 때문에 좀더 빠르게 되었지요. 그러나 SDRAM보다는 약간 성능이 떨어지는 편입니다.(펜티엄에서 쓴다면 동일?) 앞으로 BEDO DRAM보단 SDRAM을 쉽게 구할 수 있을 것 같습니다. (삼성이 대랑 생산을 계획으로 알고 있거든요) SDRAM (Synchronus DRAM) 위에서 설명해 놓은 RAM들은 제어신호를 보내야만 동작을 시작하는 방식이였습니다. 하지만 SDRAM은 제어신호를 기다리지 않고 무조건 데이터를 출력합니다. 즉 메인보드의 칩셋이 첫 번째 버스트 사이클 액세스 명령을 내리면 그 다음은 읽던 안읽던 무조건 SRAM의 데이터를 순서대로 출력하고 보는 것입니다. 그러므로 더욱 고속화할 수 있게 되는 것입니다. 그러나 무조건적으로 출력을 하는 것이 아니라 CPU의 클럭에 맞추어 데이터를 출력하 는 것입니다. 즉, 메인보드 칩셋에서 버스트 사이클 액세스 명령이 오자마자 CPU 클럭에 맞추어 데이터를 출력하는 것입니다. SDRAM이 SRAM에서 나온 것으로 생각되겠지만 DRAM의 페이지 모드를 동기식으로 바꾼 것에 불과합니다. 인텔은 신형430VX 펜티엄 칩셋에서 SDRAM을 지원하기 시작했고 얼마전 인텔은 삼성과 납품 계약을 맺었습니다. SDRAM은 현재 PC수준에 비교해볼 때 과분할 정도의 성능이겠지만 펜티엄 정도면 BEDO DRAM과 비슷하고 조금 나을 뿐입니다. 그러나 펜티엄 프로 정도면 그리고 앞으로 나올 CPU에 대해선 그 진가가 100% 발휘될 거라 생각이 됩니다. RDRAM (Rambus DRAM) SDRAM과 유사한 성격을 가지고 있는 제품입니다. 그러나 SDRAM과 달리 일반적인 디지털 신호 입출력을 쓰지 않고 고속 동작에 유리한 특수 전압을 사용하며 배선도 매우 까다로운 규칙에 의해서 하도록 되어 있습니다. 기본구조는 일반 DRAM과 같으며 SRAM의 출력회로를 위와 같이 고속화한 것입니다. 하지만 현실적으로 PC에서는 이 정도의 고속 입출력이 필요한 용도가 거의 없어 일반 화되긴 어려울 듯 합니다. RDRAM은 EDO DRAM보다 먼저 나왔으나 EDO DRAM이 나오고 다음 BEDO DRAM이 나왔고 SDRAM까지 나왔습니다. SDRAM만 하더라도 PC용으로는 충분한 성능을 갇고 있어 굳이 RDRAM을 쓸 이유가 없던 것입니다. 그러나 RDRAM을 사용한 VGA 카드들은 출시되고 있습니다. DRAM과 그 변종들 EDO DRAM등은 DRAM의 변종들입니다. 단지 DRAM안에 있는 SRAM을 읽고 쓰는 방법을 변경한 것입니다. 특히 첫 번째 액세스 사이클은 과거의 DRAM과 같이 50, 60, 70ns 등의 느린 속도로 느린 속도로 움직입니다.   각 DRAM의 클럭 속도와 사이클 타임

DRAM

각 종류별 속도(클럭 속도, 사이클 타임)

FPM(일반 DRAM)

EDO DRAM

BEDO DRAM

70

25MHz, 40ns

33MHz, 30ns

50MHz, 20ns

60

28MHz, 35ns

40MHz, 25ns

60MHz, 16.6ns

50

33MHz, 30ns

50MHz, 20ns

66MHz, 15ns


  각 DRAM의 성능 비교
DRAM DRAM
access
time
CPU
외부 클럭
버스트
사이클
타임
성 능   지 표
L2 캐시
없을 경우
256K바이트 sync
L2캐시 있을 경우
BEDO DRAM 52ns 66MHz 6-1-1-1 115~130% FPM의 35%~165%
105~115% (추정)
60ns 60MHz
70ns 50MHz
EDO DRAM 60ns 66MHz 7-2-2-2 110~120% FPM의 135~165%
103~108% (추정)
70ns 60MHz
FPM DRAM
(일반 DRAM)
60ns 66MHz 7-3-3-3 100% 130~145%
(추정)
70ns 60MHz

▶ 패리티(Parity) 8비트의 데이터중 1이 몇 개 있으며 그것이 홀수인지 짝수인지 판별해 저장해 두는 것이 패리티입니다. 이런 원리로 읽을 때 9비트 (8비트 데이터 비트 + 1비트 패리티 비트)가 패리티 원 칙에 잘 맞개 저장되었는지 살펴봄으로써 그 중 1비트정도의 에러는 확실히 검출해 낼 수 있게 되었습니다. 72핀 모듈 램에서는 '8+1'의 구성이 4개 있게 되므로 총 36비트가 되는 것입니다. 요즘 DRAM은 콘덴서에서 기억된 내용이 저절로 사라져 버리는 일(Soft Error)이 없 을 정도로 신뢰성이 높아졌습니다. 소프트 에러는 칩 제작과정에서 생긴 불량과는 달리 확률적으로 발생하는 종류입니 다. (전원 전압, 제어신호 타이밍 등이 너무 많이 어긋날 때 생기는 정도) 따라서 메인보드가 제대로 되었다면 패리티 없는 SIMM을 끼우더라도 에러가 발생하는 일은 없으니 안심해도 됩니다. 그리고 실제로 시장에서 대부분 패리티가 없는 제품이 많이 팔리고 있습니다. 패리티가 있는 것은 비트수가 늘어난 것 이상으로 가격이 비싸기 때문입니다. 중고 SIMM의 가격만 봐도 거의 신품 가격과 차이가 없을 정도로 신뢰성이 높습니다. 그에 따라 예외가 없는 것은 찾아 보기 힘이 들죠. 일부 서버용 OS 등은 패리티가 있는 램을 끼워서 에러를 검사하고 난 다음에야 동작 하는 것들도 있지만 그것은 일반 PC사용자라면 신경 쓸 필요는 없습니다. 캐시에도 패리티를 사용하는지. 캐시에 패리티를 사용하는 제품은 거의 없습니다. 위에서 말한 소프트 에러는 DRAM의 기억원리 특성에 따른 문제이기 때문에 캐시에 쓰이는 SRAM은 소프트 에러를 거의 일으키지 않습니다. ECC 서버급 워크스테이션과 중대형 기종에서는 단 하나의 에러라도 커다란 사고롤 부르기 때문에 메모리에서의 패리티 정도 가지고 안심할 수 없어 기록되는 데이터에 특별한 공식을 넣어서 나오는 체크 코드를 같이 기록하는 ECC를 사용합니다. 이것은 32비트 데이터에는 6~7비트 정도의 체크 코드를 추가하며, 64비트 데이터의 경우는 7~8비트 정도를 추가합니다. 이렇게 추가된 데이터와 체크 코드를 같이 읽어 다시 판독용 공식에 집어 넣으면 2비트 이상의 에러를 검출해 낼 수 있고 1비트의 에러가 발생한 경우 원래의 데이터로 복원해 낼 수 있게 됩니다. 이것은 일반 PC에선 거의 사용하지 않으나 만약 사용해야 할 경우라면 ECC 대응형 SIMM이나 ECC 대응형 DIMM을 쓰길 권합니다. (ECC 대응형이란 ECC 방식에서 더 고속으로 동작할 수 있도록 특별히 설계한 DRAM칩 을 사용한다는 의미) 그냥 사용하는 정도라면 SIMM을 구입하길 권하고요... 메모리 에러가 발생할 정도의 환경이라면 이미 이전에 다른 부분에서 고장을 일으켜 PC가 폭주하거나 다운되어 있을 것입니다. 패리티 구별법 30핀 SIMM의 경우 제품명(기판)에 '8'이나 '9'라는 숫자가 포함되어 있으며 '9'의 경우는 패리티가 있고, 72핀 SIMM의 경우 제품명에 '32'나 '36'이 있는데 '36'이 패 리티가 있는 것입니다. 하지만 더 확실한 방법은 메모리 칩의 종류와 개수를 파악하는 것입니다. 패리티가 없는 경우는 한가지 종류의 칩으로 구성되어 있고 칩의 개수는 2의 배수로 되어 있으므로 쉽게 구별할 수 있을 것입니다. 패리티가 있는 겅우는 두가지 이상의 칩이 쓰이며 그 각각은 역시 2의 배수로 되어 있습니다. 따라서 칩의 개수가 2의 배수가 아닌 것은 패리티가 있는 것으로 보면 되고, 2의 배 수이고 칩의 종류가 다른 것으로 끼어져 있으면 패리티가 있는 것입니다. 하지만 아주 극히 패리티가 칩 자체에 들어 있는 것도 있지만 일반 PC시장에선 이런 제품은 별로 나오질 않습니다. 단, SIMM소켓에 있는 쌀알이나 콩알같이 작은 칩들은 전압 안정용의 콘덴서 등이므로 메모리 칩의 개수를 셀 때 제외해야 합니다. DIMM과 SODIMM의 경우는 모듈 내에 버퍼 칩이 포함된것도 있으나 이런 종류는 버퍼 칩들의 크기나 형태가 일반 메모리 칩들과는 다르기 때문에 구별이 가능할 것입니다. 삼성램 구별법 [DRAM DIMM 넘버] 1 2 3 4 5 6 7 8 9 10 11 - - - - - - - - - - - KM M 3 72 E 4 1 0 A T 1 - L 6 -- -- -- --- --- -- -- --- --- -- -- -- -- │ │ │ │ │ │ │ │ │ │ │ │ │ 삼성 ──┘ │ │ 데이타 │ │ │ │ │ │ │ │ └── 속도 메모리 모듈│ 비트 │ │재생율│ 버전 │ │ 파워 │ │ │ │ │ │ 메모리타입 │용량 구성요소 │PCB버전 연결부위 │ │ 모듈특성 패키지타입 프로세스 전압 1. 메모리 타입/연결부위 2. 데이타비트 1 FLASH 8/9 x8/x9 bit 2 Mask ROM 32/36 x32/x36 bit 3 DRAM DIMM 39/40 x39/x40 bit 4 DRAM 8byte SODIMM 64/72 x64/x72 bit 5 Old JEDEC DRAM SIMM 68/74 x64/x72 Unbuffered DIMM 6 SRAM -144 x144 bit 7 New JEDEC DRAM SIMM 8 ASSP 9 VRAM 3. 모듈특성/프로세스/전압 4. 용량 -C F/P, 5V -1 1M -V F/P, 3.3V -2 2M -E EDO, 5V -4 4M -F EDO, 3.3V -8 8M -W WINDOW RAM, 5V -16 16M -S SYNC, 3.3V -32 32M -G SYNC Graphic, 3.3V 5. 재생율 6. 구성요소 -0 4K Cycle -0 x4 -1 2K Cycle -1 x4 + x1 -2 1K Cycle -2 x4 + x4(Quad CAS) -8 8K Cycle -3 x8 -4 x16 -5 x16 + x4(Quad CAS) 7. 제품 리비전 8. 패키지 타입 -Blank None -J SOJ(1st) & Gold -A First Rev. -K SOJ(2nd) & Gold -B Second Rev. -T TSOP(1st) & Gold -C Third Rev. -S TSOP(2nd) & Gold 9. PCB 리비전 11. 속도 -Blank None -'C', 'V', 'E', 'F'에서 -1 First Rev. 5 50ns -2 Second Rev. 6 60ns -3 Third Rev. 7 70ns -'W', 'S', 'G'에 10. 파워 0 10ns -Blank 노멀 2 12ns -L Low 파워 & Self refresh [DRAM SIMM 넘버] 1 2 3 4 5 6 7 8 9 10 11 12 13 - - - - - - - - - - - - - KM M AA BBB C DDD E F G H I J K L M - NN ---속도 -- -- -- --- -- -- -- -- -- -- -- -- -- -- -- -- │ │ │ │ │ │ │ ││ │ │ │ │ │ │ └Lead Finish 삼성 ──┘ │ │구조 │ │ │ ││ │ │ │ │ │ └── x32 메모리 모듈 │ │ │재생율│버전││ │ 요소개수 또는 x33 PCB │ │ │ │모드││ │ 메모리타입 │용량 전력소모 ││ PCB버전 연결부위 │ ││ │ │ 패키지타입 프로세스 │ 전압 구성버전 1. 메모리 타입/연결부위 2. 데이타비트 1 FLASH 8/9 x8/x9 bit 2 Mask ROM 32/36 x32/x36 bit 3 DRAM DIMM 39/40 x39/x40 bit 4 DRAM 8byte SODIMM 64/72 x64/x72 bit 5 Old JEDEC DRAM SIMM -144 x144 bit 6 SRAM 7 New JEDEC DRAM SIMM 4. 용량 8 ASSP -1 1M 9 VRAM -2 2M -4 4M 3. 프로세스/전압 -8 8M -Blank CMOS 5V -16 16M -V CMOS 3.3V -32 32M -S Sync, 3.3V -512 512K -256 256K 5. 재생율 6. 전력소모 -0 4K Cycle -0 Normal -1 2K Cycle -2 저전력 & Self Refresh -2 1K Cycle -4 초저전력 -8 8K Cycle 7. 작동 & 구조 8. 구성 버전 -0 F/P -Blank None -1 Nibble -A 처음 버전 -2 Static Column -B 두번째 버전 -3 Quad CAS 사용 -C 세번째 버전 -4 EDO -5 EDO 와 Quad CAS 사용 9. 패키지 타입 -6 메모리 로직 사용하지 않음 -Blank SOJ(1st) -7 메모리 로직 사용하지 않고 -1 SOJ(2nd) & Quad CAS 사용 -2 TSOP(1st) -3 TSOP(2nd) 10. PCB 리비전 11. 요소개수 -Blank None -Blank 7개 칩 이상 -1 First Rev. -N 8개 칩 이하 -2 Second Rev. -U Byte Wide Base -3 Third Rev. -W Word Wide Base 12. x32 또는 x33 PCB에서 -V x32 또는 x33 PCB 13. Lead Finish & Customer 14. 속도 -Blank Solder 5 50ns -G Gold 6 60ns -------------------- 7 70ns -D DEC 7 70ns -H HP -M 18M -P Nickel -Q Compaq -X Cambex 램 모델번호 판독법 램 용량 계산은 삼성전자 램을 기준으로 하는 것이 쉽습니다. (관련자료는 인터넷 상의 LG반토체 램데이타북과 삼성전자 램 데이타북입니다.) 하이닉스(hynix) 반도체 : http://www.hei.co.kr/ 삼성전자 반도체: http://www.samsungsemi.com/ 모듈이 아닌 낱개의 램의 용량단위는 bit 입니다. G M 7 1 C 1 8 1 6 3 B J 6 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ① GM : LG 반도체 제품임을 표시하는 고유 표시 ② 71 : FAMILY DRAM ③ 제조공법, 종류 : C : CMOS형 메모리 (3V) V : CMOS형 메모리 (3.3V) ④ DENSITY(밀도, 용량) 및 리플래쉬 싸이클 : 16 : 16M, 4K 리플래쉬 17 : 16M, 2K 리틀래쉬 18 : 16M, 1K 리플래쉬 ⑤ 구성 Bit 10 : x1 40 : x4 41 : x4, 4CAS 80 : x8 16 : x16 ⑥ 종류 0 : FAST PAGE (일반램) 3 : EDO 램 ⑦ REVISION NO. A : FIRST B : SECOND C : THIRD ⑧ 포장형태 J : SOJ T : TSOP (NORMAL) R : TSOP (REVERSE) I : USON ⑨ 속도 6 : 60NS 따라서 위 램의 용량은 1,048,576 WORDS * 16 BIT 즉 1M * 16 BIT = 2M Byte 용량의 램이다. 또는 DENSITY에 명시된 대로 16M bit 이다.. 같은 종류의 삼성전자 램은 K M 4 1 6 C 1 2 0 4 B J -6 이다 K M 4 1 6 C 1 2 0 4 B J -6 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ① KM : 삼성전자 메모리 ② FAMILY DRAM ③ 구성 Bit 32 = X32 16 = X16 8 = X8 4 = X4 ④ 제조공법, 종류 : C : CMOS형 메모리 (3V) V : CMOS형 메모리 (3.3V) ⑤ DENSITY(밀도 , 용량) 및 리플래쉬 싸이클 1로 시작하면 1M 2로 시작하면 2M 4로 시작하면 4M 8로 시작하면 8M를 의미한다 ⑥ 종류 0 : FAST PAGE (일반램) 4 : EDO 램 ⑦ REVISION NO. A : FIRST B : SECOND C : THIRD ⑧ 포장형태 J : SOJ T : TSOP (NORMAL) R : TSOP (REVERSE) I : USON ⑨ 속도 6 : 60NS
  ※ 본 내용은 브레인박스  자료실에서 퍼왔습니다.   자료출처 : http://brainbox.co.kr/
  ※ 본 내용은 윤종훈님  홈페이지에서 퍼왔습니다.   자료출처 : http://www21click.wo.to/

7-1-03. 램 (ram) Random Access Memory   끝.     메인메뉴로 이동  하드웨어 자료실 메인메뉴로 이동