일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- dfs
- 그래프
- 장치컨트롤러
- C++
- 131701
- 컴퓨터 구조
- 혼자공부하는
- 컴퓨터구조
- DDR SDRAM
- 프로세스
- static
- 한빛미디어
- 혼자 공부하는
- 멀티스레드
- 인터럽트
- 렌더링 파이프라인
- Transform
- 지역변수
- 스레드
- BFS
- 입출력장치
- 보조기억장치
- 운영체제
- 138477
- CPU 스케줄링
- DirectX
- 풀이
- 코딩테스트
- 독학
- Today
- Total
빼미의 개발일기
[컴퓨터 구조] - 18강. 다양한 보조기억장치 본문
이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다.
하드 디스크
- HDD(Hard Disk Drive)는 자기적인 방식으로 데이터를 저장하는 보조기억장치로, 자기 디스크(Magnetic Disk)의 일종으로 지칭된다.
- 플래터(Platter) : 데이터가 저장되는 원판. 자기물질로 덮여 있어, 0과 1의 역할을 수행하는 수많은 N극과 S극을 저장한다.
- 스핀들(Spindle) : 플래터를 회전시키는 모터.
- 헤드(Head) : 플래터의 데이터를 읽고 쓰는 구성요소.
- 액츄에이터 암(Actuator Arm) : 간단히 디스크 암(Disk Arm)이라고도 하고, 헤드를 원하는 위치로 이동시키는 역할.
※ 플래터에 데이터가 저장되는 방식
- 플래터는 트랙(Track)과 섹터(Sector)라는 단위로 데이터를 저장하는데, 플래터를 여러 동심원으로 나누었을 때 그중 하나의 원을 트랙, 해당 트랙의 일부분을 섹터라고 한다. (섹터의 모음 == 트랙)
- 섹터는 하드 디스크의 가장 작은 전송 단위로, 한 섹터는 일반적으로 512바이트 정도의 크기를 가지지만, 정확한 크기는 하드디스크마다 다르다.
- 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 단위를 실린더(Cylinder)라고 한다.
- 연속된 정보는 한 실린더에 기록되는데, 첫번째 위, 첫 번째 아래, 두 번째 위, 두 번째 아래... 하는 방식으로 데이터가 저장된다. 연속된 정보를 하나의 실린더에 기록하는 이유는 디스크 암을 움직이지 않고도 바로 데이터에 접근할 수 있기 때문이다.
하드 디스크의 접근 속도
- 하드 디스크가 데이터에 접근하는 시간은 크게 탐색시간, 회전 지연, 전송 시간으로 나뉜다.
● 탐색시간 : 데이터가 저장된 트랙까지 헤드를 이동시키는 시간.
● 회전지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간
● 전송시간 : 하드 디스크와 컴퓨터간 데이터를 전송하는 시간
- 위의 물리적 과정으로 인해 하드디스크에서의 데이터 전송은 다른 장치들에 비해 확연한 차이가 있다.
L1 캐시 참조 시간 | 0.5ns |
L2 캐시 참조 시간 | 5ns |
메모리 참조 시간 | 7ns |
메모리에서 1MB를 순차적으로 읽는 시간 | 250,000ns |
(하드) 디스크 탐색시간 | 10,000,000ns |
(하드) 디스크에서 1MB를 순차적으로 읽는 시간 | 30,000,000ns |
한 패킷이 킬리포니아에서 네덜란드까지 왕복하는 시간 | 150,000,000ns |
※ 이런 하드디스크의 탐색 시간을 줄이기 위해 헤더를 전 트랙에 배치하는 방식도 있는데 이런 방식을 가진 하드디스크를 다중 헤드 디스크(Multiple-Head Disk)라고 한다. 이는 디스크 암이 움직일 필요가 없어 탐색시간이 0이 나오고, 또한 디스크암도 고정되어 있기 때문에 고정 헤드 디스크(Fixed-Head Disk)라고도 부른다. 일반적으로 디스크 암이 움직이는 하드 디스크는 단일 헤드 디스크(Single-Head Disk) 또는 이동 헤드 디스크(Movable-Head Disk)라고 부른다.
플래시 메모리
- 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치.
- 플래시 메모리는 크게 NAND 플래시 메모리와 NOR 플래시 메모리가 있는데, 이는 구성하는 회로가 NAND 연산을 수행하는 회로인지, NOR 연산을 수행하는 회로인지를 기반으로 나눈다. 이중 대용량 저장 장치로 사용하는 플래시 메모리는 NAND 플래시 메모리이다.
- 플래시 메모리는 셀(Cell)이라는 데이터를 저장하는 가장 작은 단위를 사용한다. 셀의 모음에 따라 MB, GB, TB를 갖는다.
또한 셀이 저장하는 비트 수에 따라서도 SLC, MLC, TLC... 타입이 있다.
● SLC 타입(Single Level Cell)
- 한 셀에 1 비트를 저장할 수 있는 타입 (2가지 데이터 - 2¹). MLC나 TLC타입보다 입출력이 빠르고, 수명도 길다.
- 단 SLC타입은 용량 대비 가격이 높기 때문에 고성능의 빠른 저장 장치가 필요한 경우 SLC 타입을 사용한다.
● MLC 타입(Multiple Level Cell)
- 한 셀이 2 비트를 저장할 수 있는 타입 (4가지 데이터 - 2²). SLC보다 속도와 수명은 떨어지지만, 2 비트를 저장할 수 있어 SLC타입보다 대용화하기 유리하다. 시중에서 많이 사용되는 플래시 메모리는 MLC(혹은 TLC)로 만들어진다.
● TLC 타입(Triple Level Cell)
- 한 셀에 3 비트를 저장할 수 있는 타입 (8가지 데이터 - 2³). 앞서 두 종류에 비해 속도와 수명은 떨어지지만, 용량 대비 가격이 저렴하다.
플래시 메모리의 구성
플래시 메모리는 셀이 모인 단위 페이지(Page), 페이지가 모인 단위 블록(Block), 블록이 모인 단위 플레인(Plane), 플레인이 모인 단위 다이(Die)가 된다.
- 읽기 쓰기는 페이지 단위에서 이루어지는데, 삭제는 페이지가 아닌 블록 단위에서 일어난다. 플래시 메모리의 가장 큰 특징 중 하나이다.
- 페이지는 Free, Valid, InValid의 3가지 상태를 갖는다.
- Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장 할 수 있는 상태.
- Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
- InValid 상태 : 유효하지 않은 데이터를 저장하고 있는 상태.
- 플래시 메모리는 덮어쓰기가 불가능하기 때문에 Valid 상태인 페이지에서는 새 데이터를 저장할 수 없다.
때문에 쓰레기값을 정리하는 가비지 컬렉션 기능을 제공. 가비지 컬렉션은 유효한 페이지들만을 새로운 블록에 복사한 뒤, 기존 블록을 삭제한다.
'프로그래밍 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] - 20강. 장치 컨트롤러와 장치 드라이버 (0) | 2023.09.26 |
---|---|
[컴퓨터 구조] - 19강. RAID의 정의와 종류 (0) | 2023.09.26 |
[컴퓨터 구조] - 17강. 캐시메모리 (0) | 2023.09.12 |
[컴퓨터 구조] - 16강. 메모리의 주소 공간 (0) | 2023.09.10 |
[컴퓨터 구조] - 15강. RAM의 특징과 종류 (0) | 2023.09.09 |