대표적인 보조 기억장치:
- 하드 디스크 드라이브(HDD): 컴퓨터에서 일반적으로 사용되는 보조기억장치로, 자기 디스크에 데이터를 기록하고 읽는 방식으로 동작합니다. 대용량 저장 용량과 저렴한 가격으로 인해 일반적으로 많이 사용됩니다.
- 플래터: 디시크에서 실질적으로 데이터가 저장되는 장소
- 스핀들: 플래터를 회전시키는 구성요소 / RPM (분당 회전수)
- 헤드: 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
단일 헤드 디스크(이동 헤드 디스크): 플래터의 한 면당 헤드가 하나
다중 헤드 디스크(고정 헤드 디스크): 헤드가 트랙마다 있음 ( 탐색시간 0 ) - 디스크 암: 헤드를 원하는 위치로 옮기는 부품. 헤드가 부착되어 있음.
- 트랙: 플래터를 여러 동심원으로 나눴을 때 그중 하나의 원
- 섹터: 나눠진 트랙의 한 조각
- 실린더: 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
- 하드디스크가 저장된 데이터에 접근하는 시간 : 탐색 시간, 회전 지연, 전송 시간으로 나뉨
탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
전송 시간: 하드 디스크와 컴퓨터 간의 데이터를 전송하는 시간
- 솔리드 스테이트 드라이브(SSD): 하드 디스크 드라이브와 유사한 역할을 수행하지만, NAND 플래시 메모리를 사용하여 데이터를 저장합니다. 하드 디스크 드라이브보다 빠르고 내구성이 뛰어나지만, 가격이 높고 용량이 비교적 작습니다.
- USB 플래시 드라이브: USB 포트에 연결하여 사용하는 휴대용 보조기억장치로, SSD와 유사한 NAND 플래시 메모리를 사용합니다. 작고 가볍고 휴대성이 높으며, 비교적 저렴한 가격으로 다양한 용도로 사용됩니다.
- SD 카드: 디지털 카메라나 모바일 기기에서 사용하는 저장 매체로, 마이크로SD 카드 등 다양한 종류가 있습니다. 작고 가벼우며 휴대성이 높아서 모바일 기기에서는 일반적으로 많이 사용됩니다.
플래시 메모리
플래시 메모리는 컴퓨터에서 보조기억장치로 널리 사용되는 메모리 타입 중 하나입니다. 하지만 주기억 장치의 ROM을 포함한 다양한 전자기기에서 사용하기 때문에, 보조기억장치 범주에만 속한다기 보다 다양한 곳에서 널리 사용하는 저장장치로 봐야한다고 합니다.
플래시 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory)을 개량하여 만들어졌습니다.
플래시 메모리는 정보를 저장할 수 있는 여러 개의 셀(cell) 단위로 구성되어 있습니다. 이 셀들이 모여서 MB, GB... 가 됩니다.
그리고 연산법에 따라 NAND, NOR 플래시 메모리가 있습니다.
NAND는 NOT AND의 약자이며, NOR는 NOT OR의 약자입니다.
- 연산법 -
NAND 연산은 두 입력 값이 모두 참(True)인 경우에만 거짓(False)을 출력하며, 나머지 경우에는 참을 출력합니다. 다시 말해, 두 입력 값이 모두 참인 경우를 제외하면 항상 참을 출력합니다. NAND 연산은 AND 연산 결과에 NOT 연산을 적용한 것과 동일합니다.
NOR 연산은 두 입력 값이 모두 거짓인 경우에만 참을 출력하며, 나머지 경우에는 거짓을 출력합니다. 다시 말해, 두 입력 값이 모두 거짓인 경우를 제외하면 항상 거짓을 출력합니다. NOR 연산은 OR 연산 결과에 NOT 연산을 적용한 것과 동일합니다.
- 사용 이유 -
NAND와 NOR 게이트만으로 모든 논리 연산을 구현할 수 있기 때문에 이들을 기본 논리 연산으로 사용하는 것이 일반적입니다.
각 셀은 일종의 스위치 역할을 하며, 데이터가 저장되는 방식은 이 스위치가 켜지거나 꺼지는 과정으로 이루어집니다. 셀의 스위치가 켜져 있으면 1, 꺼져 있으면 0으로 표시됩니다. 이러한 0과 1의 조합으로 데이터가 저장됩니다.
플래시 메모리는 전기적인 신호로 데이터를 읽고 쓰기 때문에 비휘발성(non-volatile) 메모리입니다. 즉, 전원을 끄더라도 데이터가 유지됩니다.
장점: 읽기 속도가 빠르고 내구성이 좋습니다.
단점: 쓰기 작업이 반복될수록 셀의 수명이 단축됩니다. (이전 데이터가 저장되어 있던 공간에 새로운 데이터를 덮어쓰는 것이 아니라 다른 곳에 새로운 데이터를 저장하고 이전 데이터를 삭제하는 작업을 수행 // 이를 해결하기 위해 TRIM 기능 등의 방법으로 관리)
TRIM (trimming) : 삭제된 데이터의 공간을 미리 비워둠으로써, 쓰기 작업이 빠르게 이루어질 수 있게 하는 작업
SLC타입: 한 셀에 1비트를 저장할 수 있는 플레시 메모리
(MLC타입: 한 셀에 2비트를 저장할 수 있는 플레시 메모리
TLC타입: 한 셀에 3비트를 저장할 수 있는 플레시 메모리
QLC타입: 한 셀에 4비트를 저장할 수 있는 플레시 메모리
수명, 속도, 비용: SLC(1) > MLC(2) > TLC(3) > QLC(4)
한 셀당 표현할 수 있는 정보의 개수: 2 ** n
페이지: 셀들이 모인 단위 (Free, Valid, Invalid상태가 있음)
블록: 페이지가 모인 단위
플레인: 블록이 모인 단위
다이: 플레인이 모인 단위
- Free: 저장하고 있는 데이터 없음, 새로운 데이터 저장 가능
- Valid: 이미 유효한 데이터를 저장 중인 상태
- Invalid: 유효하지 않은 데이터를 저장 중인 상태
가비지 컬렉션: 유효한 페이지들만 모아 새로운 블록으로 복사하고 기존의 블록을 삭제하는 기능
RAID (Redundant Array of Independent Disks)
잃어버리면 안되는 중요한 정보들을 위해, 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술이며, RAID를 구성하는 방법은 여러가지가 있습니다.
RAID0
정보를 병렬 분산하여 저장
스트라입: 줄무늬 처럼 저장된 데이터
스트라이핑: 분산 저장하는 것
RAID1
정보를 미러링(복사본을 만듬) 함. 디스크양 * 2 필요 -> 비용증가
RAID4
패리티 비트를 둬 안전하게 저장
패리티 비트: 오류를 검출하고 복구하기 위한 정보
RAID5
RAID4의 패리티 비트를 각각 분산하여 저장
RAID6
RAID5의 분산하여 저장된 패리티 비트를 * 2 하여 두는 방식
RAID10
스트라이핑 + 미러링 이기 때문에 디스크의 개수가 최소 4개 이상
RAID1E
스트라이핑 + 미러링 이지만 홀수개의 디스크에 사용 가능한 방법
1디스크 2디스크 3디스크
A1 A2 A2_C
B2_C A1 _C B2
C2 B1 B1_C
C1_C C2_C C1
요약.
- RAID 0 (스트라이핑)
- RAID 1 (미러링)
- RAID 4 (분산 패리티)
- RAID 5 (분산 패리티)
- RAID 6 (분산 패리티)
- RAID 10 (RAID 1+0, 미러링+스트라이핑)
- RAID 1E (RAID 1+0, 미러링+스트라이핑)
'컴퓨터구조, 운영체제' 카테고리의 다른 글
운영체제 시작하기 (0) | 2023.03.30 |
---|---|
입출력 장치 (0) | 2023.03.27 |
메모리와 캐시메모리 (0) | 2023.03.23 |
CPU 향상 기법 (0) | 2023.03.23 |
CPU 작동 원리 (0) | 2023.03.20 |