보조기억장치
하드디스크
하드디스크의 구성
- 자기적인 방식으로 데이터 저장
- 스핀들이 플래터를 회전시켜 동작
- 플래터는 여러겹이 있고, 일반적으로 양면 모두 사용
- 헤드는 플래터와 미세하게 떠있는 자기적인 물질을 읽는 장치
- 플래터의 면마다 헤드가 있다
- 일반적으로 모든 헤드가 디스크 암에 부착되어 함께 이동
하드디스크 저장 단위
- 플래터는 트랙과 섹터 단위로 데이터가 저장된다.
- 하나 이상의 섹터를 묶어 블록이라고 표현하기도 한다.
- 같은 트랙이 모여 실린더를 이룬다.
- 연속된 정보는 한 실린더에 기록
하드디스크 데이터 접근 과정
하드 디스크가 저장된 데이터에 접근하는데 걸리는 시간
- 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간: 하드디스크와 컴퓨터 간에 데이터를 전송하는 시간
플래시 메모리
플래시 메모리 개념
전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
- 범용성이 넓기에 보조기억장치에'만' 속한다고 보기 어려움
- 주기억장치인 ROM으로도 사용될 수 있다.
플래시 메모리 구성
- 셀(cell)
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 셀이 모이고 모여서 MB, GB, TB 저장 장치가 된다.
- 한 셀에 1비트를 저장할 수 있는 플래시 메모리: SLC
- 한 셀로 두 개의 정보 표현
- 비트의 빠른 입출력
- 긴 수명(플래시 메모리(USB, SSD, SD카드), 하드 디스크에는 수명이 있다)
- 용량 대비 고가격
- 한 셀에 2비트를 저장할 수 있는 플래시 메모리: MLC
- SLC보다 느린 입출력
- SLC보다 짧은 수명
- SLC보다 저렴
- 시중에서 많이 사용(MLC,TLC,QLC)
- 한 셀에 3비트를 저장할 수 있는 플래시 메모리: TLC
- 한 셀로 여덟 개의 정보 표현(대용량화 유리)
- MLC보다 느린 입출력
- MLC보다 짧은 수명
- MLC보다 저렴
- 시중에서 많이 사용(MLC,TLC,QLC)
- 한 셀에 4비트를 저장할 수 있는 플래시 메모리: QLC
→ 같은 플래시 메모리라도 수명, 가격, 성능이 다르다.
플래시 메모리 저장 단위
- 읽기/쓰기 단위와 삭제 단위는 다르다
- 읽기와 쓰기는 페이지 단위로 이루어진다.(플래시 메모리는 하드디스크와 달리 덮어쓰기 불가)
- 삭제는 (페이지보다 큰) 블록 단위로 이루어진다.
- 페이지의 상태
- Free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장 할 수 있는 상태
- Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
- Invalid 상태: 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태
- 가비지 컬렉션: 유효한 페이지들만을 새로운 블록으로 복사한 후 기존 블록을 삭제해서 공간을 정리하는 기능
RAID
RAID 정의
- 하드 디스크와 SSD로 사용하는 기술
- 데이터의 안정성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
- ex) 1TB 장치 다섯 개를 5TB 하나의 장치로 사용하고 싶을 때
- RAID 레벨: RAID 0, 1, 2, 3, 4, 5, 6 + 파생된 RAID 10, 50, ...
RAID 0
- 데이터를 단순히 나누어 저장하는 구성 방식
- 1TB 하드디스크 4개가 있고, 4TB 데이터를 저장한다면? 하드 디스크 개수만큼 나뉘어 저장
- 데이터 스트라입: 마치 줄무늬처럼 분산되어 저장된 데이터(스트라이핑: 분산하여 저장하는 것)
- 장점: 입출력 속도의 향상
- 단점: 저장된 정보가 안전하지 않음
- 단순히 나누어 저장하다보니 하드디스크 한개가 고장나면 데이터 사용 x
RAID 1
- 데이터를 쓸 때 원본과 복사본 두 군데에 쓴다(느린 쓰기 속도)
- 1TB 하드디스크 4개가 있고, 2TB 데이터를 저장한다면? 원본 2TB, 백업(복사본) 2TB으로 저장한다.
- 장점: 복사본이 존재하기 때문에 안정성이 있다.
- 단점: 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
- 복사본 만들어지는 용량만큼 사용 불가 → 많은 양의 하드디스크 필요 → 비용 증가
RAID 4
- RAID 1처럼 완전한 복사본을 만드는 대신, 오류를 검출하고 복구하기 위한 정보(패리티 비트)를 저장
- 1TB 하드디스크 4개가 있고, 3TB 데이터를 저장한다면? 각 1TB씩 저장하고 나머지 1TB는 패리티 비트를 저장
- 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고 복구
- RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관
- 일반적으로 패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가능 but raid에서는 가능
- 단점: 패리티 디스크의 병목 현상
- 데이터를 쓸 때마다 반드시 패리티 비트도 저장 되어야 하기 때문
RAID 5
- 패리티 정보를 분산하여 저장하는 방식
- RAID 4는 패리티를 저장한 장치를 따로 두는 방식, RAID 5는 패리티를 분산해서 저장하는 방식
- 병목 현상 완화
RAID 6
- 두 종류의 패리티를 저장
- RAID 5보다 안전, 쓰기는 느림