modesta.log
로그인
modesta.log
로그인
혼자 공부하는 컴퓨터 구조 + 운영체제 Section 7. 보조기억장치
jihyelee
·
2023년 8월 2일
팔로우
0
운영체제
컴퓨터구조
0
achitecture-os
목록 보기
7/15
강의 링크
다양한 보조기억장치
하드 디스크
자기적인 방식으로 데이터 저장
구성
플래터
수많은 N극과 S극으로 데이터 저장되는 원판
여러 겹으로 이루어져 있음
일반적으로 플래터 양면 모두 사용
스핀들
플래터를 회전시킴
회전단위 = RPM (Revolution Per Minute), 분당 회전수
헤드
플래터를 읽고 쓸 수 있는 수단
플래터의 면마다 헤드가 달려있음
디스크 암
일반적으로 모든 헤드가 디스크 암에 부착되어 함께 이동
저장 단위
기본적으로 트랙과 섹터 단위로 데이터 저장
트랙 (track)
플래터의 동심원
섹터 (sector)
트랙을 피자 조각처럼 나누었을 때 나오는 한 조각
하나 이상의 섹터를 묶어
블록
(block)이라고 표현하기도 함
섹터의 크기 = 512-4096 바이트
실린더 (cylinder)
여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
연속된 정보는 한 실린더에 기록 (헤드를 움직이지 않고도 데이터를 바로 읽을 수 있음)
데이터 접근 과정
하드 디스크가 저장된 데이터에 접근하는 시간
탐색 시간 (seek time)
접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전 지연 (rotational latency)
헤드가 있는 곳으로 플래터를 회전시키는 시간
전송 시간 (transfer time)
하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
출처: Numbers Every Programmer Should Know by Jeff Dean
ns(나노초) = 10^-9초, 패킷(packet)이란 네트워크의 기본적인 전송 단위
플래시 메모리
전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
범용성이 넓기에 보조기억장치에만 속한다고 보기에는 어려움
NAND 플래시 메모리, NOR 플래시 메모리가 있으나 대부분 NAND 플래시 메모리를 보조기억장치로 사용
저장 단위
셀(cell)
플래시 메모리에서 데이터를 저장하는 가장 작은 단위
셀이 모여 MB, GB, TB 저장 장치가 됨
1비트 저장 플래시 메모리 = SLC
한 셀로 두 개의 정보 표현 (0, 1)
비트의 빠른 입출력
긴 수명 (썼다 지웠다 하는 횟수와 연관)
용량 대비 고가격
2비트 저장 플래시 메모리 = MLC
한 셀로 네 개의 정보 표현 (두 비트 저장하기 때문, 대용량화 유리)
SLC보다 느린 입출력
SLC보다 짧은 수명
SLC보다 저렴
시중에서 많이 사용 (MLC, TLC, QLC)
3비트 저장 플래시 메모리 = TLC
한 셀로 여덟 개의 정보 표현 (대용량화 유리)
MLC보다 느린 입출력
MLC보다 짧은 수명
MLC보다 저렴
시중에서 많이 사용 (MLC, TLC, QLC)
4비트 저장 플래시 메모리 = QLC
같은 플래시 메모리라도 수명, 가격, 성능이 다름
셀들이 모여서 페이지 (page)
읽기와 쓰기는 페이지 단위로 이루어짐
free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
invalid 상태: 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태
플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능
페이지들이 모여 블록 (block)
삭제는 (페이지보다 큰) 블록 단위로 이루어짐
블록이 모여 플레인 (plane)
플레인이 모여 다이 (die)
동작 예시
새롭게 저장된 C와 기존에 저장되어 있던 B는 그대로 둔 채 기존의 A만을 A'으로 수정
페이지 단위로 삭제가 불가능하기 때문에 A를 invalid로 두고, 비어있는 칸에 A'을 추가
가비지 컬렉션
유효한 페이지들만 새로운 블록으로 복사
기존의 블록을 삭제하여 공간을 정리
RAID의 정의와 종류
1TB 하드 디스크 네 개로 RAID를 구성하면 4TB 하드 디스크 한 개의 성능과 안전성을 능가할 수 있음
RAID의 정의
RAID (Redundant Array of Independent Disks)
하드 디스크와 SSD로 사용하는 기술
데이터의 안전성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID 레벨
RAID를 구성하는 기술
RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6
그로부터 파생된 RAID 10, RAID 50, ...
각 RAID 레벨마다 장단점이 있음
어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있음
각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요
RAID의 종류
RAID 0
데이터를 단순히 나누어 저장하는 구성 방식
각 하드 디스크는 번갈아가며 데이터를 저장
저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장
스트라잎(stripe)
마치 줄무늬처럼 분산되어 저장된 데이터
스트라이핑 (striping)
분산하여 저장하는 것
장점
입출력 속도의 향상
단점
저장된 정보가 안전하지 않음
RAID 1
미러링 (mirroring)
복사본을 만드는 방식
데이터를 쓸 때 원본과 복사본 두 군데에 씀 (느린 쓰기 속도)
장점
백업과 복구가 용이
단점
하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
복사본이 만들어지는 용량만큼 사용 불가 -> 많은 양의 하드디스크 필요 -> 비용 증가
RAID 4
(RAID 1처럼 완전한 복사본을 만드는 대신) 오류를 검출하고 복구하기 위한 정보를 저장
오류를 검출하고 복구하기 위한 정보 = 패리티 비트
컴퓨터 공학에서 본래 패리티 비트는 원래 오류 검출만 가능할 뿐 오류 복구는 불가능하나, RAID에서는 복구도 가능
패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구
장점
RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관
단점
패리티 디스크의 병목
새로운 데이터를 쓸 때마다 오류 검출 코드를 비교하고 저장해야 하기 때문
RAID 5
패리티 정보를 분산하여 저장하는 방식
RAID 6
두 종류의 패리티 (오류를 검출하고 복구할 수 있는 수단)
RAID 5보다 안전, 쓰기는 RAID 5보다 느림
jihyelee
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher at LG CNS AI Lab
팔로우
이전 포스트
혼자 공부하는 컴퓨터 구조 + 운영체제 Section 6. 메모리와 캐시 메모리
다음 포스트
혼자 공부하는 컴퓨터 구조 + 운영체제 Section 8. 입출력장치
0개의 댓글
댓글 작성