Search

07-1 다양한 보조기억장치

Last update: @1/7/2023
혼자 공부하는 컴퓨터구조 + 운영체제

컴퓨터 구조

01 컴퓨터 구조 시작하기

02 데이터

03 명령어

04 CPU의 작동 원리

05 CPU 성능 향상 기법

06 메모리와 캐시 메모리

07 보조기억장치

08 입출력장치

보조기억장치의 종류
하드 디스크(HDD; Hard Disk Drive)
구성 요소
플래터(platter) : 실질적으로 데이터가 저장되는 곳
스핀들(spindle) : 플래터를 회전시키는 구성 요소
헤드(head) : 플래터를 대상으로 데이터를 읽고 쓰는 구성요소
디스크 암(disk arm) : 원하는 위치로 헤드를 이동시키는 구성요소
플래터에 데이터가 저장되는 방법
플래터는 트랙(track)과 섹터(sector)라는 단위로 데이터를 저장함
트랙 : 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원
실린더(cylinder) : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위. 연속된 정보는 보통 한 실린더에 기록됨. 디스크 암을 움직이지 않고도 바로 데이터에 접근할 수 있기 때문
섹터 : 각 트랙이 나뉘어진 단위. 하드 디스크의 가장 작은 전송 단위로, 보통 512바이트 정도의 크기를 가지고 있고, 일부 하드디스크는 4,096바이트에 이르기도 함
저장된 데이터에 접근하는 과정에 따른 소요 시간
탐색 시간(seek time) : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
플래터 한 면당 헤드가 하나씩 달려있는 HDD를 단일 헤드 디스크(single-head disk = 이동 헤드 디스크(movable-head disk)), 여러 개 달려있는 것을 다중 헤드 디스크(multiple-head disk = 고정 헤드 디스크(fixed-head disk))라고 하는데, 다중 헤드 디스크에서는 이 탐색시간이 0임
회전 지연(rotational latency) : 헤드가 있는 곳으로 플래터를 회전시키는 시간
전송 시간(transfer time) : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
제프 딘의 프로그래머가 꼭 알아야 할 컴퓨터 시간들(2011년 기준)
L1 캐시 참조 시간
0.5ns
L2 캐시 참조 시간
5ns
메모리 참조 시간
7ns
메모리에서 1MB를 순차적으로 읽는 시간
250,000ns
(하드) 디스크 탐색 시간
10,000,000ns
(하드) 디스크에서 1MB를 순차적으로 읽는 시간
30,000,000ns
한 패킷이 캘리포니아에서 네덜란드까지 왕복하는 시간
150,000,000ns
플래시 메모리(flash memory) : 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치. 보조기억장치 뿐만 아니라 주기억장치인 ROM에도 사용됨
기반 회로에 따른 종류
NAND 플래시 메모리 : NAND 게이트 회로로 만들어진 메모리. 대용량 저장 장치로 많이 사용됨
NOR 플래시 메모리 : NOR 게이트 회로로 만들어진 메모리
셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
셀 크기에 따른 종류
SLC(Single Level Cell) : 한 셀에 1비트를 저장할 수 있는 플래시 메모리
비트의 빠른 출력이 가능함
수명도 수만~수십만 번 데이터를 쓰고 지울 수 있어 수명이 긺
용량 대비 가격이 높음
보통 기업에서 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장장치가 필요한 경우에 사용
MLC(Multiple Level Cell) : 한 셀에 2비트를 저장할 수 있는 플래시 메모리
SLC에 비해 일반적으로 속도와 수명은 떨어짐
용량 대비 가격이 보통임
시중에서 사용되는 많은 플래시 메모리 저장 장치들이 MLC 또는 TLC 타입
TLC(Triple-Level Cell) : 한 셀에 3비트를 저장할 수 있는 플래시 메모리
SLC나 MLC 대비 수명과 속도가 떨어짐
용량 대비 가격이 낮음
QLC(Quadruple-Level Cell) : 한 셀에 4비트를 저장할 수 있는 플래시 메모리
플래시 저장장치의 단위
다이(die) : 플레인이 모여 만들어진 단위
플레인(plane) : 블록이 모여 만들어진 단위. 플래시 메모리의 읽기/쓰기 단위
블록(block) : 페이지가 모여 만들어진 단위. 플래시 메모리의 삭제 단위
페이지(page) : 셀이 모여 만들어진 단위
페이지의 세 가지 상태
Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
플래시 메모리는 HDD와 달리 덮어쓰기가 불가능하여 Valid 상태인 페이지에는 새 데이터를 저장할 수 없음
따라서 새 데이터를 저장하려면 페이지를 삭제해야하는데, 삭제는 블록 단위로 이뤄짐
따라서 최근 SSD를 비롯한 플래시 메모리는 이런 쓰레기값을 정리하기 위해 가비지 컬렉션(garbage collection) 기능을 제공함
가비지 컬렉션은 삭제할 페이지가 있는 블록에서 Valid 상태인 페이지들만 다른 블록으로 복사한 후 기존 블록을 삭제하여 공간을 정리하는 기술
Invalid 상태 : 쓰레기값이라 부르는, 유효하지 않은 데이터를 저장하고 있는 상태
보조 기억장치 종류
SSD
USB
SD카드