RAM의 특성과 종류

RAM : 휘발성 저장 장치 - 전원 끄면 사라짐
- RAM 용량이 크면 많은 프로그램을 동시에 실행하는 데에 유리
- DRAM (Dynamic RAM)
- 저장된 데이터가 동적으로 사라지는 RAM -> 데이터의 소멸을 막기 위해 주기적으로 재활성화 해야 함
- 일반적으로 메모리로 사용되는 RAM -> 상대적으로 소비 전력이 낮고 저렴하고, 집적도가 높아 대용량으로 설계하기 용이
- SRAM (Static RAM)
- 저장된 데이터가 정적인 (사라지지 않는) RAM
- DRAM보다 일반적으로 더 빠름
- 일반적으로 캐시 메모리에서 사용되는 RAM -> 상대적으로 소비전력이 높고 가격이 높고 집적도가 낮음
- 대용량으로 설계할 필요는 없으나 빨라야 하는 장치에 사용
- SDRAM (Synchronous DRAM)
- 특별한 (발전된 형태의) SDRAM
- 클럭 신호와 동기화된 DRAM
- DDR SDRAM (Double Data Rate SDRAM)
- 특별한 (발전된 형태의) SDRAM
- 최근 가장 대중적으로 사용하는 RAM
- 대역폭을 넓혀 속도를 빠르게 만든 SDRAM (대역폭 - 데이터를 주고받는 길의 너비)
메모리의 주소 공간
- 새롭게 실행되는 프로그램은 새롭게 메모리에 적재
- 실행이 끝난 프로그램은 메모리에서 삭제
- 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐
=> 시시각각 변하는 메모리에 저장된 값들

물리 주소
- 메모리 입장에서 바라본 주소
- 말 그대로 정보가 실제로 저장된 하드웨어 상의 주소
논리 주소
- CPU와 실행 중인 프로그램 입장에서 바라본 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소
물리 주소와 논리 주소의 변환
- MMU(메모리 관리 장치)라는 하드웨어에 의해 반환.
- CPU -> 논리 주소 -> MMU -> 물리 주소 -> 메모리
- MMU는 논리 주소와 베이스 레지스터 값(프로그램의 기준 주소)을 더하여 논리 주소를 물리 주소로 변환.
- 논리 주소는 기준 주소로부터 떨어져 있는 거리 값으로 이해하면 됨

메모리 보호
한계 레지스터
- 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막음
- 베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면, 한계 레지스터는 논리 주소의 최대 크기를 저장
- 베이스 레지스터 값 <= 프로그램의 물리 주소 범위 < 베이스 레지스터 + 한계 레지스터 값
- CPU는 메모리에 접근하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사
CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느리다.
저장 장치 계층 구조
- CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느림
- 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비쌈

캐시 메모리
- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
- 계층적 캐시 메모리 (L1-L2-L3 캐시)


참조 지역성의 원리
- 캐시 메모리는 메모리보다 용량이 작다.
- 메모리의 모든 내용을 저장할 수 없다. (당연)
- CPU가 자주 사용할 법한 내용을 예측하여 저장한다.
- 캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수) => 캐시 적중률을 높여야 함!
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있음
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있음
보조 기억 장치
- 비휘발성 저장 장치

- 하드 디스크
- 자기적인 방식으로 데이터 저장
- RPM (Revolution Per Minute) : 분당 회전수
- 기본적으로 트랙과 섹터 단위로 데이터 저장 (섹터의 크기: 512 바이트 ~ 4096 바이트)
- 실린더(cylinder): 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
- 하드 디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 시간 : 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간




- 플래시 메모리
- 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치 (범용성이 넓어서 보조기억장치에만 속한다고 보긴 어려움)
- NAND 플래시 메모리
- NOR 플래시 메모리
- 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위 -> 이 셀이 모여서 수 MB, GB, TB 저장 장치가 됨
- 읽기 / 쓰기의 단위와 삭제 단위가 다름 -> 읽기/쓰기는 페이지 단위, 삭제는 (페이지보다 큰) 블록 단위로 이루어짐
- 페이지(저장단위)가 갖는 상태
- Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
- Invalid 상태 : 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태
- 가비지 컬렉션
- 유효한 페이지들만을 새로운 블록으로 복사
- 기존의 블록을 삭제하여 공간을 정리
-> 플래시 메모리는 하드디스크와 달리 덮어쓰기가 불가능

-
- 종류 - SLC, MLC, TLC

RAID
- RAID (Redundant Array of Independent Disks)
- 하드 디스크와 SSD로 사용하는 기술
- 데이터의 안정성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID 레벨
- RAID를 구성하는 기술
- 스트라입(stripe) : 마치 줄무늬처럼 분산되어 저장된 데이터
- 스트라이핑(striping) : 분산하여 저장하는 것
- RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 등
- RAID 0
- 데이터를 단순히 나누어 저장하는 구성 방식
- 저장되는 데이터가 하드디스크 개수만큼 나뉘어 저장
- 입출력 속도의 향상. BUT 저장된 정보가 안전하지 않음
- RAID 1
- 미러링 - 복사본을 만드는 방식
- 데이터를 쓸 때 원본과 완전한 복사본 두 군데에 씀 (느린 쓰기 속도)
- 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
- 복사본이 만들어지는 용량만큼 사용 불가 -> 많은 양의 하드 디스크가 필요 -> 비용 증가
- RAID 4
- (RAID 1처럼 완전한 복사본을 만드는 대신) 패리티 비트를 저장
- 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구
- 단점 : 패리티 디스크의 병목

- RAID 5
- 패리티 정보를 분산하여 저장하는 방식, 패리티 병목 완화

- RAID 6
- 두 종류의 패리티(오류를 검출하고 복구할 수 있는 수단)
- RAID 5보다 안전, 쓰기는 RAID 5보다 느림

출처: 혼공컴운
'CS' 카테고리의 다른 글
| [운영체제] 프로세스와 스레드 (0) | 2026.07.04 |
|---|---|
| [운영체제] 커널, 시스템 콜, 이중 모드 (0) | 2026.07.03 |
| [컴퓨터 구조] 입출력장치 (0) | 2026.07.03 |
| [컴퓨터 구조 ] CPU (0) | 2026.06.29 |
| [자료구조] Heap (0) | 2026.06.29 |