인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약
대표적인 보조기억장치 : 하드디스크와 플래시 메모리
하드디스크
자기적인 방식으로 데이터 저장
기본적으로 트랙(track)과 섹터(sector) 단위로 데이터가 저장됨
- 섹터의 크기 : 512 바이트 ~ 4096 바이트
- 플래터는 트랙과 섹터로 나뉘고, 같은 트랙이 모여 실린더를 이룬다.
- 실린더(cylinder) : 여러 겹의 플래터 상에서 같은 트랙이 위치 한 곳을 모아 연결한 논리적 단위
- 연속된 정보는 한 실린더에 기록됨
하드 디스크 - 데이터 접근 과정
- 하드 디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간(seek time) : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연(rotational latency) : 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간(transfer time) : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
플래시 메모리
전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
- 범용성이 넓기에 보조기억장치에만 속한다고 보기는 어렵다.
- 플래시 메모리(USB, SSD, SD카드) 하드 디스크에는 수명이 있다.
플래시 메모리의 종류
- NAND 플래시 메모리 : 오늘날의 대용량 저장 장치로 많이 사용되는 플래시 메모리
- NOR 플래시 메모리
플래시 메모리 - 저장 단위
셀(cell)
플래시 메모리에서 데이터를 저장하는 가장 작은 단위, 셀이 모이고 모여 수 MB, GB, TB 저장 장치가 됨
- 셀 + 셀 => 페이지(page), 페이지 + 페이지 => 블록(block), 블록 + 블록 => 플레인(plane), 플레인 + 플레인 => 다이(die)
- 읽기/쓰기 단위와 삭제 단위는 다르다.
- 읽기와 쓰기는 페이지 단위로 이루어진다.
- 삭제는 (페이지보다 큰)블록 단위로 이루어진다.
페이지의 상태
- Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
- Invalid 상태 : 유효하지 않은 데이터(쓰레기 값)를 저장하고 있는 상태
플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능하다.
가비지 컬렉션
유효한 페이지들만 새로운 블록으로 복사한 후 기존 블록을 삭제해 공간을 정리하는 기능
- 유효한 페이지들만을 새로운 블록으로 복사
- 기존의 블록을 삭제
한 셀에
- 1비트를 저장할 수 있는 플래시 메모리 : SLC(Single Level Cell)
- 2비트를 저장할 수 있는 플래시 메모리 : MLC(Multi Level Cell)
- 3비트를 저장할 수 있는 플래시 메모리 : TLC(Triple Level Cell)
- 4비트를 저장할 수 있는 플래시 메모리 : QLC(Quad Level Cell)
ex) 사람 한 명 == 1 비트, 셀 == 집이라고 생각하면 SLC(한 집에 한 명), MLC(한 집에 두 명), TLC(한 집에 세 명)
SLC
- 한 셀로 두 개의 정보 표현
- 비트의 빠른 입출력
- 긴 수명(최대 100,000번 정도의 쓰기를 할 수 있음)
- 용량 대비 고가격
- 현재는 잘 사용하지 않음
MLC
- 한 셀로 네 개의 정보 표현 (대용량화 유리)
- SLC보다 느린 입출력
- SLC보다 짧은 수명
- SLC보다 저렴
- 시중에서 많이 사용(MLC, TLC, QLC)
TLC
- 한 셀로 여덟 개의 정보 표현 (대용량화 유리)
- MLC보다 느린 입출력
- MLC보다 짧은 수명
- MLC보다 저렴
- 시중에서 많이 사용(MLC, TLC, QLC)
- 저가형 USB 메모리나 SD카드 혹은 SSD에 많이 사용됨
- 과거에는 MLC 방식과 비교했을때 읽기, 쓰기 모두 느렸지만 기술의 발전에 의해 읽기 속도는 비슷해졌다. 다만 쓰기 속도가 느린 편
같은 플래시 메모리라도 수명, 가격, 성능이 다르다.
RAID(Redundant Array of Independent Disks)
하드 디스크와 SSD로 사용하는 기술
데이터의 안전성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술(여러 개의 디스크를 묶어 하나의 디스크처럼 사용하는 기술)
- RAID는 컴퓨터를 구성하는 여러 부품 (구성품) 중 기계적인 특성 때문에 상대적으로 속도가 (많이) 느린 하드디스크를 보완하기 위해 만든 기술
- 1TB 하드 디스크 네 개로 RAID를 구성하면 4TB 하드 디스크 한 개의 성능과 안전성을 능가할 수 있다.
RAID를 사용했을 때의 기대 효과
- 대용량의 단일 볼륨을 사용하는 효과
- 디스크 I/O 병렬화로 인한 성능 향상(RAID 0, RAID 5, RAID 6 등)
- 데이터 복제로 인한 안정성 향상(RAID 1등)
RAID 레벨(RAID의 종류)
RAID를 구성하는 기술(방식)
- RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, 그로부터 파생된 RAID 10, RAID 50 ...
- 각 RAID 레벨마다 장단점이 있다.
- 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있다.
- 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요하다.
RAID 0
데이터를 단순히 나누어 저장하는 구성 방식
- 각 하드 디스크는 번갈아 가며 데이터를 저장한다.
- 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장된다.
- 스트라입(stripe) : 줄무늬처럼 분산되어 저장된 데이터
- 스트라이핑(striping) : 분산하여 저장하는 것
- 장점 : 입출력 속도의 향상
- 단점 : 저장된 정보가 안전하지 않음
RAID 1
- 미러링(mirroring) : 복사본을 만드는 방식
- 데이터를 쓸 때 원본과 복사본 두 군데에 씀 (느린 쓰기 속도)
- 장점 : 백업과 복구가 쉽다.
- 단점 : 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
- 복사본이 만들어지는 용량만큼 사용 불가 => 많은 양의 하드 디스크가 필요 => 비용 증가
RAID 4
- (RAID 1처럼 완전한 복사본을 만드는 대신) 패리티 비트를 저장
- 패리티 비트 : 오류를 검출하고 복구하기 위한 정보
- 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구
- 장점 : RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관가능
- 단점 : 패리티 디스크의 병목현상
RAID 5
패리티 정보를 분산해 저장하는 방식
- RAID 4는 패리티를 저장한 장치를 따로 두는 방식이고, RAID 5는 패리티를 분산해 저장하는 방식(RAID 4의 병목현상을 완화)
RAID 6
- 두 종류의 패리티(오류를 검출하고 복구할 수 있는 수단)
- RAID 5보다 안전하지만 쓰기는 RAID 5보다 느림
'cs' 카테고리의 다른 글
[혼공운영체제] 운영체제를 알아야 하는 이유와 운영체제의 큰 그림 (0) | 2023.05.01 |
---|---|
[혼공운영체제] 입출력장치 (0) | 2023.05.01 |
[혼공운영체제] 캐시메모리 (0) | 2023.04.26 |
[혼공운영체제] 메모리의 주소 공간 (0) | 2023.04.21 |
[혼공운영체제] RAM의 특징과 종류와 메모리의 주소 공간 (0) | 2023.04.17 |