[Memory] RAM과 ROM
이 글은 Embedded SW 개발자로 공부하면서 가장 기본이 되는 내용인
Memory의 종류에 대해서 설명한 글입니다.
Memory는 간단하게 말하자면, 데이터를 기록하거나 읽기 위한 위한 저장공간 입니다.
가장 크게 메모리를 나누어 본다면, 메모리는 RAM 과 ROM으로 나뉘게 됩니다.
RAM (Random Access Memory)
RAM은 전원이 끊어지면 RAM의 Data는 날라가게 됩니다.
이러한 특징으로 휘발성 메모리(Volatile Memory)라 표현합니다.
RAM의 종류에는 여러 가지 메모리가 존재한다. 이 글에서는 DRAM과 SRAM에 대해서 간략하게 설명하도록 하겠습니다.
- DRAM
(Dynamic RAM)
동적 램이라 표현하며, DRAM의 경우 Memory Cell의 Data를 저장하였다 하더라도 시간이 지나면 charging 되어 있던 전하가 빠져나가 Data 유실을 발생할 수 있습니다. 그래서 일정 시간 마다 다시 전하를 충전해줘야 data 손실이 발생하지 않습니다.
- SRAM
(Static RAM)
정적 램이라 표현합니다. DRAM과 달리 기억 장치에 전원이 공급되는 한 그 data는 계속 보존됩니다. 그러므로 전기적인 Control이 필요 없습니다. DRAM에 비해 용량은 적으나 5배 정도 속도가 빠르고, 가격이 비쌉니다.
ROM (Read Only Memory)
ROM은 전원이 끊어져도 기록된 data들이 날라가지 않습니다.
이러한 특징으로 비 휘발성
메모리(Non-Volatile Memory)라 표현합니다.
즉, ROM에는 데이터를 저장한 후 이를 지속적으로 사용할 수 있습니다.
현재 Embedded System에서는 쓰고 지울 수 있는 Flash Memory가 ROM으로 가장 많이 애용됩니다.
- Flash Memory
Flash Memory는 비 휘발성이면서 특별한 Control 과정을 거쳐 Erase 작업이 가능하고, Erase 후에 다시 Write가 가능합니다.
이러한 특성으로 입력과 수정 등 Programming이 쉽게 가능하여 Embedded 개발 환경에서 널리 사용되고 있는 Memory 입니다.
보통 Memory 생산 업체에선, Flash Memory와 RAM을 한꺼번에 한 칩에 집적한 Set가 나오게 되었는데요 이를 MCP (Multi chip package)라고 부릅니다.
위글은 임베디드 레시피 를 참고하여 작성한 글입니다.