현대의 Computer 들은 반도체(semiconductor)를 사용해 다수의 기억장치를 구성하고 있다. 흔히 언급되는 CPU 레지스터(Register), 캐시(Cache) 메모리, 주기억장치(Main Memory), SSD 등이 이와 같은 기억장치들이다.
| 이전의 Computer 들은 기억 장치로 magnetic drum, magnetic core memory 등을 사용하기도 했다. 대부분 사라졌으나 현재까지도 HDD 와 같은 기억장치는 자기(magnetic) 방식 사용하고 있다. |
|
개인적으로 RAM이라 함은 주기억장치로 동일한 의미로 인지하고 있었고, Cache 나 CPU Register 와 같은 기억장치는 별개의 방식으로 구성된 기억장치로 생각하였다. ROM 또한 BIOS 정도로만 인지하였고, SSD 와 같은 장치와 연관이 있으리라 생각치 못하였다. 결론적으로 용어 간의 관계 및 정의에 대한 이해가 부족하였다.
현재의 Computer 내 기억장치들은 대부분 반도체(semiconductor)로 구현되어 있고, 아래의 분류 중 하나로 동작하기에 Computer 내 기억장치에 대한 정확한 인지를 위해서는 아래 용어에 대한 정확한 이해가 필요하다. |
아래는 반도체(semiconductor) 기억장치들이 데이터를 저장하는 방식에 따른 분류이다.
1) RAM (Random Access Memory)
Volatile Memory 로 전원이 끊어지면 그 내용이 사라짐
1-1) SRAM (Static RAM) :
기억 셀로서 flip-flop 을 이용하고, 이에 데이터가 안정적으로 저장
(flip-flop : 1 비트의 정보를 보관, 유지할 수 있는 회로.)
전력이 공급되는 동안에는 재충전 없이도 데이터를 계속 유지
DRAM 에 비해 빠르지만 비쌈
CPU Register, Cache Memory 등에 사용
1-2) DRAM (Dynamic RAM) :
각각의 축전기(capacitor)에 전하(charge)를 충전하는 방식으로 bit 값을 저장하는 기억 셀들로 구성
(축전기에 전하가 존재하는지 여부에 따라 1 또는 0으로 구분)
축전기는 방전되는 성질이 있기 때문에 저장 상태를 유지 하기 위해서 주기적으로 재충전(refresh) 필요
Refresh 수행등을 위해 SRAM에 비해 복잡한 회로와 타이밍이 필요함
bit 당 하나의 transistor와 축전기만 필요해 4개/6개의 트랜지스터가 필요한 SRAM 대비 구조적으로 간단함.
(이로 인해 대용량 구현이 가능하고, bit 당 가격이 저렴함)
Main Memory, Graphic Memory 등에 사용
2) ROM (Read Only Memory)
Non-volatile Memory 로 전원이 끊어져도 그 내용이 사라지지 않음
2-1) PROM (Programmable ROM) :
한 번만 write 할 수 있는 ROM
제조 단계에서는 데이터를 쓰지 않고, 추후 사용자가 write 할 수 있도록 함
2-2) EPROM (Erasable Programmable ROM) :
사용자가 저장 내용을 삭제하고 다시 저장할 수 있음
삭제를 위해서는 자외선을 이용해야 하며, 저장 내용 전체가 지워짐
작업을 위해서 컴퓨터로부터 분리 필요
2-3) EEPROM (Electrically Erasable PROM) :
전기적으로 삭제가 가능하기에 내용 갱신을 위해 칩 분리가 필요 없음
byte 단위로 갱신이 가능해 전체를 지울 필요가 없음
데이터를 갱신할 수 있는 횟수가 수 만번 이하로 제한적임
2-4) Flash Memory :
EEPROM 과 마찬가지로 전기적으로 삭제가 이루어지지만 매우 빠름
EEPROM 이 byte단위로 작업되는 반면, 쓰기 동작이 페이지 단위(2K or 4K) 로 이루어짐
방식에 따라 NOR / NAND 로 구분
(대표적인 예로 NOR 방식은 Computer BIOS, NAND 방식은 각종 Memory Card, SSD)