현대의 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)