본문 바로가기
전자 | 제어 | 항공우주/전자 HW 설계

[Embedded] [메모리 종류 - 3/3] 메모리 종류 총정리

by 상상메카J 2022. 12. 18.
반응형

메모리

 

앞에 1, 2편 글에서 말한 것처럼 임베디드 시스템의 메모리 유형은 일반적으로 휘발성과 비휘발성의 두 가지 범주로 분류됩니다. 그리고 다양한 유형의 RAM 및 ROM 메모리가 있습니다. 이번 글에선 해당 범주 내의 다양한 유형의 메모리에 대한 세부 정보를 소개하겠습니다.

 

임베디드 메모리의 분류와 종류

램(RAM)

임베디드 시스템에서 사용할 수 있는 RAM 유형입니다.

SRAM: 가장 빠른 휘발성 메모리인 SRAM은 프로세서 속도에 가깝게 작동할 수 있을 정도로 빠릅니다. D램보다 전력 소모도 적지만 가격도 비쌉니다. 엔지니어들은 임베디드 시스템에서 그것을 더 제한적으로 사용한다.

 

참고로 대부분의 SoC나 MCU는 칩 내부에 소량의 RAM을 가지고 있습니다. 이것은 일반적으로 SoC에서 SRAM과 CPU 캐시를 결합한 것이라고 보면 됩니다. 일부 칩 제품군에는 다양한 온칩 메모리 구성을 가진 다양한 종류가 있습니다. 이를 통해 가장 적합한 용량과 속도를 가진 메모리를 선택할 수 있습니다."

DRAM: 이 메모리는 콘덴서와 트랜지스터에 정보를 저장합니다. 따라서 본질적으로 전력이 유출되지만, 메모리 컨트롤러가 지속적으로 새로 고쳐지는 한 모든 데이터가 유지됩니다. DRAM은 SRAM보다 느리지만 가격도 훨씬 저렴합니다.

SDRAM: 이러한 유형의 DRAM은 임베디드 시스템의 버스와 동기화됩니다. SDRAM은 SRAM보다 칩의 공간을 훨씬 적게 사용한다. 그러나 부분적으로는 지속적으로 재충전해야 하기 때문에 더 많은 전력을 사용합니다.

 

(참고: Self refresh 시간은 정말 짧지만 그래도 지연을 발생시킵니다.)

 

반응형

롬(ROM)

마스크 롬(Masked ROM): Masked ROM은 데이터 변경이 불가능하기 때문에 제조사들은 이 메모리 칩에 데이터를 기록합니다. 게다가 마스크된 ROM은 매우 저렴한 합니다. 따라서 여러 기업들은 대량 생산되는 아이템에 마스크 롬을 사용하게 됩니다.

단점은 역시 아무도 칩의 데이터를 변경할 수 없다는 것입니다.

 

PROM(Programmable Read-Only Memory): PROM은 프로그래밍되지 않은 상태에서 구입하여 한 번만 프로그래밍하는 프로그래밍 가능한 칩입니다. 주로 기업들은 펌웨어와 상수를 소스 코드에 저장하기 위해 PROM을 사용하게 됩니다.

그런데 PROM이 프로그래밍과 작동에 상대적으로 높은 전압이 필요하기 때문에 점점 구식이 되고 있습니다. 데이는 "대부분의 PROM은 장치 제조업체가 일회성 프로그래밍을 수행해야하기 때문에, 이는 유통 구조에서 불편한 문제를 가지게 됩니다.

 

(ROM 활용 예시: 일련 번호, 라디오 구성 또는 사용자가 변경해서는 안 되는 다른 데이터 저장)

 

 

휘발성 및 비휘발성 기능을 모두 갖춘 HYBRID 메모리들

일부 비휘발성 메모리는 휘발성 메모리의 몇 가지 주요 특징을 가지고 있습니다. 사용자가 프로그래밍하고 또 재프로그래밍도 할 수 있지만, 전원 공급이 없어도 데이터가 유지되는 메모리들입니다.

 

EEPROM(Electrically Erasable Programmable Read-Only Memory): 이러한 칩을 지우고 전기 작동을 통해 다시 프로그래밍할 수 있습니다. 

 

임베디드 개발자들은 주로 제품의 펌웨어를 저장하기 위해 EEPROM을 사용합니다. 고객이 펌웨어를 구매한 후에도 펌웨어를 업데이트해야 할 수 있는 제품에 유용할 수 있습니다. 그래서 지금도 EEPROM은 널리 활용되고 있습니다. 참고로 쓰기-삭제 주기가 제한되어 있는데, 10,000회 정도는 가능하기 때문에 신경쓸 정도는 아닙니다.

 

플래시 메모리(Flash Memory): 개발자들은 다른 비휘발성 또는 하이브리드 메모리보다 임베디드 시스템에서 플래시 메모리를 더 자주 사용합니다. 메모리는 장치가 읽기에 빠르고 비용이 저렴합니다. 핸드폰이나 카메라에 주로 사용하는 sd 카드, usb들이 플래시메모리에 해당된다고 보면 됩니다.

EEPROM과 마찬가지로 전기적으로 재프로그래밍이 가능합니다. 그러나 EEPROM과 다른 점은 바이트 단위로 삭제하고 재프로그래밍하는 것과는 달리 플래시 메모리는 한 번에 한 섹터씩 지우고 다시 프로그래밍합니다.

 

일부 SoC(System on a Chips)에는 플래시 메모리가 내장되어 있습니다. 외부 스토리지의 경우 플래시 메모리에는 두 가지 종류가 있습니다.

NAND Flash: 임베디드 엔지니어들은 이 플래시 메모리를 가장 많이 사용합니다. 크기가 작고 USB 플래시 드라이브와 SSD(Solid State Disk)에 자주 사용됩니다.

NOR Flash: NAND보다 빠른 NOR 플래시는 NAND보다 더 비쌉니다. 임베디드 시스템에선 종종 XIP(Execute-In-Place) 코드를 위해 NOR 플래시를 사용하게 됩니다.

(*XIP(Execute-In-Place)란 RAM으로 복사해서 실행하는 것이 아닌, ROM에서 바로 실행하는 것을 뜻함)

 

NVRAM 또는 비휘발성 랜덤 액세스 메모리: 이러한 유형의 RAM은 전원이 차단될 때 데이터가 손실되지 않고 영구적으로 저장할 수 있습니다. 그리고 비싸지만 속도가 빠릅니다. 임베디드 시스템에선 부팅 시간이 중요할 때 이 메모리를 주로 사용하게 됩니다.

 

Ferroelectric Random Access Memory (FRAM): 강유전체 메모리라고도 불리며, 전원이 꺼졌을 때 데이터가 손실되지 않고 더 빠르고 더 많은 쓰기 사이클을 제공하며 더 적은 전력을 이 메모리가 사용됩니다.

 

PCM(Phase Change Memory): PCRAM이라고도 하며, 이 메모리는 비휘발성이며 전원이 꺼질 때 데이터를 유지합니다. 종종 플래시 메모리 대신 이 메모리가 사용됩니다. 쓰기 주기가 빠르고 전력 소모가 적습니다.

참고로 PCM은 SDRAM에 근접한 매우 빠른 읽기/쓰기 성능을 가진 새로운 기술입니다. 그리고 데이터는 더 길게는 수십 년 동안 비휘발성입니다.

 

MRAM(Magnetoresistive Random-Access Memory): 자기 저항 메모리, 혹은 그냥 MRAM이라고 불리는 메모리로 자성체 소자를 활용한 비휘발성 메모리입니다. 따라서 전원을 껐다 켜도 데이터가 손실되지 않습니다. 큰 특징으로는, 일반적으로 사용되는 플래시 메모리보다 쓰기 속도가 약 1000배는 더 빠르고 전력소모가 적은 특징을 가지고 있습니다.

 

다른 유형의 외부 메모리

임베디드 시스템에서 다음과 같은 외장 메모리 옵션을 사용할 수도 있습니다.

 

SSD: 요즘 특히 임베디드 시스템에서 이를 자주 사용합니다. 플래시 메모리를 사용하여 장치를 만듭니다.
SD 카드(Secure Digital Card): 휴대용 장치(핸드폰이나 카메라 등)에서 일반적으로 사용하는 비휘발성 메모리입니다.

 

 

메모리 선택

1차 메모리

  1차 메모리 (Primary Memory)
  DRAM(동적 랜덤 액세스 메모리) SRAM(정적 랜덤 액세스 메모리)
데이터 전송 속도(클록 속도, 데이터 액세스) 고속 초고속
광역폭
크기 작음
데이터 보호 임시 임시
전력 효율 전력 상시 필요 전력 상시 필요
쓰기/읽기 전용 제한 없음 제한 없음
셀프 리프레시 필요 불필요

 

2차 메모리

(위의 정보에 따라 선택하시면 됩니다)

 

그럼 기본적으로 메모리를 소개하는 총 3편 끝!

다음 글에선 좀 더 실전적인 내용인 '메모리와 CPU HW 구성하기'라는 주제로 돌아오겠습니다.

임베디드 엔지니어 분들 화이팅!

반응형

댓글