3 분 소요

2. 메모리 조직과 주소 지정

2-1. 임의 접근 메모리

  • 임의 접근 메모리 (RAM)는 컴퓨터의 기억 장치 중 하나로, 임의의 주소에 접근할 때 걸리는 시간이 동일하다는 특징이 있다.
  • RAM은 주로 반도체 기억 장치로 구성되며, 컴퓨터의 중앙 처리 장치 (CPU)가 프로그램을 실행하거나 데이터를 처리할 때 사용된다.
  • RAM은 휘발성 메모리로, 전원이 공급되지 않으면 저장된 데이터가 사라진다.
  • RAM의 종류에는 정적 RAM (SRAM)과 동적 RAM (DRAM)이 있다. SRAM은 플립플롭 회로로 구성되어 있으며, DRAM은 커패시터와 트랜지스터로 구성되어 있다.
  • SRAM은 DRAM보다 빠르고 안정적이지만, 비용이 높고 용량이 작다. DRAM은 SRAM보다 느리고 불안정하지만, 비용이 낮고 용량이 크다.
  • DRAM은 주기적으로 새로 고침(refresh)이 필요하다. 새로 고침은 커패시터에 저장된 전하를 유지하기 위해 필요한 작업이다.

2-2. 읽기 전용 메모리

  • 읽기 전용 메모리 (ROM)는 컴퓨터의 기억 장치 중 하나로, 데이터를 읽을 수만 있고 쓸 수는 없다는 특징이 있다.
  • ROM은 비휘발성 메모리로, 전원이 공급되지 않아도 저장된 데이터가 유지된다.
  • ROM에는 컴퓨터의 부팅에 필요한 기본적인 프로그램이나 입출력 작업을 수행하는 프로그램 등이 저장되어 있다.
  • ROM의 종류에는 마스크 ROM, 프로그래머블 ROM (PROM), 소거 가능 프로그래머블 ROM (EPROM), 전기적으로 소거 가능 프로그래머블 ROM (EEPROM), 플래시 메모리 등이 있다.
  • 마스크 ROM은 제조 과정에서 데이터가 삽입되며, 수정이 불가능하다. PROM은 한 번만 데이터를 쓸 수 있으며, 수정이 불가능하다. EPROM은 자외선을 이용하여 데이터를 지울 수 있으며, 다시 데이터를 쓸 수 있다. EEPROM은 전기적인 방법으로 데이터를 지울 수 있으며, 다시 데이터를 쓸 수 있다. 플래시 메모리는 EEPROM의 개선형으로, 더 빠르고 효율적으로 데이터를 지우고 쓸 수 있다.

3. 블록 장치

  • 블록 장치 (block device)는 데이터를 블록 단위로 읽고 쓰는 장치이다. 블록은 일정한 크기의 데이터 묶음이다.
  • 블록 장치는 임의 접근이 가능하며, 버퍼링과 캐싱을 통해 데이터의 전송 속도를 향상시킬 수 있다.
  • 블록 장치의 예로는 하드 디스크 드라이브 (HDD), 광 디스크 드라이브, 플래시 메모리 등이 있다.
  • 블록 장치는 파일 시스템을 구성할 수 있으며, 각 블록에는 고유한 주소가 할당된다.
  • 블록 장치는 장치 파일을 통해 운영 체제와 통신한다. 장치 파일은 블록 특수 파일 (block special file)이라고도 한다.

4. 플래시 메모리와 SSD

  • 플래시 메모리 (flash memory)는 전기적으로 데이터를 지우고 쓸 수 있는 비휘발성 메모리이다.
  • 플래시 메모리는 EEPROM의 일종으로, 더 작고 더 빠르며 더 많은 데이터를 저장할 수 있다.
  • 플래시 메모리는 USB 메모리, 메모리 카드, 스마트폰, 태블릿 등에 널리 사용된다.
  • 플래시 메모리는 셀 (cell)이라는 단위로 데이터를 저장한다. 셀은 싱글 레벨 셀 (SLC), 멀티 레벨 셀 (MLC), 트리플 레벨 셀 (TLC), 쿼드 레벨 셀 (QLC) 등으로 분류된다. 셀의 레벨은 한 셀에 저장할 수 있는 비트의 수를 의미한다.
  • 셀의 레벨이 높을수록 용량이 커지고 가격이 저렴해지지만, 성능이 떨어지고 내구성이 감소한다.
  • SSD (Solid State Drive)는 플래시 메모리를 사용한 저장 장치이다. SSD는 HDD와 비교하여 소음이 없고, 충격에 강하고, 전력 소모가 적고, 접근 속도가 빠르다는 장점이 있다.
  • SSD는 컨트롤러와 플래시 메모리로 구성된다. 컨트롤러는 플래시 메모리의 읽기와 쓰기를 제어하고, 오류를 감지하고, 데이터를 암호화하고, 쓰기 균등화 (wear leveling)를 수행한다. 쓰기 균등화는 플래시 메모리의 수명을 연장하기 위해 셀의 쓰기 횟수를 균등하게 분배하는 기법이다.

5. 오류 감지와 정정

  • 오류 감지 (error detection)는 데이터 전송 과정에서 발생할 수 있는 오류를 발견하는 기법이다. 오류 정정 (error correction)은 발견된 오류를 수정하는 기법이다.
  • 오류 감지와 정정을 위해 여분의 비트를 데이터에 추가하는데, 이를 오류 정정 부호 (error-correcting code)라고 한다.
  • 오류 정정 부호의 종류에는 패리티 비트 (parity bit), 해밍 코드 (Hamming code), 사이클릭 중복 검사 (cyclic redundancy check), 체크섬 (checksum) 등이 있다.
  • 패리티 비트는 데이터의 비트들의 합이 홀수 또는 짝수가 되도록 하는 비트이다. 패리티 비트는 한 비트의 오류만 감지할 수 있으며, 오류를 정정할 수는 없다.
  • 사이클릭 중복 검사 (cyclic redundancy check)는 데이터에 다항식을 적용하여 나머지를 구하는 방식이다. 사이클릭 중복 검사는 여러 비트의 오류를 감지할 수 있으며, 오류의 위치도 알 수 있다. 사이클릭 중복 검사는 네트워크 통신에서 많이 사용된다.
  • 체크섬 (checksum)은 데이터의 비트들의 합을 구하는 방식이다. 체크섬은 간단하고 빠르지만, 오류의 종류와 위치를 알 수 없다. 체크섬은 파일의 무결성을 검사하는데 사용된다.

6. 하드웨어와 소프트웨어 비교

  • 하드웨어 (hardware)는 컴퓨터의 물리적인 부품이다. 하드웨어는 CPU, 메모리, 디스크, 키보드, 마우스, 모니터 등이 있다.
  • 소프트웨어 (software)는 컴퓨터의 명령어나 데이터이다. 소프트웨어는 운영 체제, 응용 프로그램, 게임, 문서, 이미지, 음악 등이 있다.
  • 하드웨어와 소프트웨어의 비교는 다음과 같다.
하드웨어 소프트웨어
물리적으로 존재한다. 물리적으로 존재하지 않는다.
전기적인 신호로 작동한다. 기계어로 작동한다.
고정된 기능을 수행한다. 다양한 기능을 수행할 수 있다.
수정이 어렵다. 수정이 쉽다.
비용이 높다. 비용이 낮다.

출처


(1) 3장 메모리와 디스크의 핵심: 순차 논리 - 벨로그.
(2) 한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 3장.
(3) [컴퓨터 구조] 3장. 메모리와 디스크의 핵심: 순차논리 - 벨로그.
(4) 디스크를 쓰기 금지 또는 읽기 전용으로 설정하기 - Windows 10 - TABMODE.
(5) 읽기 전용으로 탑재 된 SD 카드 해결하는 방법 - EaseUS.
(6) ♥메모리설명♥ Read-Only Memory (ROM) : 네이버 블로그.
(8) 고정 기억 장치 - 위키백과, 우리 모두의 백과사전.
(9) 램 롬 뜻 RAM ROM 차이점 정리 컴퓨터 메모리, 주기억 장치 ….
(10) 하드웨어 소프트웨어 차이점 : 가장 쉬운 설명 : 네이버 블로그.
(11) SSD의 구조. 플래시 메모리를 기반으로 한 저장 매체 | by Develicit ….