본문 바로가기
컴퓨터구조 & 운영체제

혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 7 정리

by rltjq09 2024. 9. 15.
728x90

07.1 다양한 보조기억장치

하드 디스크

하드디스크 : 자기적인 방식으로 데이터를 저장하는 보조기억장치, 이 때문에 자기디스크의 일종으로 지칭

동그란 원판에 데이터를 저장하고, 그것을 회전시켜 뾰족한 리더기로 데이터를 읽는 방식

이때, 동그란 원판을 플래터 라고 함

플래터는 자기 물질로 덮여 있어 N극과 S극을 저장하며 각각 0과 1의 역할을 수행

스핀들 : 플래터를 회전시키는 구성 요소

RPM : 분당 회전수를 의미

헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소

바늘같이 생긴 부품을 의미하며, 플래터 위에 미세하게 떠 있는 채로 데이터를 읽고 씀

디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소

플래터는 일반적으로 여러 겹으로 구성되어 있고 양면을 모두 사용할 수 있음

 

플래터는 트랙섹터 라는 단위로 데이터를 저장 

플래터를 여러 동심원으로 나누었을 때, 그중 하나의 원을 트랙 이라고 표현

이 트랙을 여러 조각으로 나누고, 이 조각들을 섹터라고 표현

여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위를 실린더 라고 표현

일반적으로 연속된 데이터는 동일한 실린더에 표시 -> 디스크 암을 움직이지 않고 불러올 수 있기 때문

 

하드 디스크가 저장된 데이터에 접근하는 시간

탐색 시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간

회전 지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간

전송 시간 : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간

이러한 시간들이 합쳐져 데이터 전송에 걸리는 시간이 결정되며, 매우 오랜 시간이 걸리게 됨

 

단일 헤드 디스크 vs 다중 헤드 디스크

다중 헤드 디스크는 트랙 별로 헤드가 존재하는 것으로, 탐색 시간이 0 인 디스크

 

플래시 메모리

USB, SD 카드, SSD 와 같은 보조기억장치

전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치를 의미

 

NAND 플래시 메모리 vs NOR 플래시 메모리

이는 각각 연산을 수행하는 회로에 따라 구분된 메모리

대용량 저장 장치로는 주로 NAND 플래시 메모리를 사용

본 설명에서는 대부분 NAND 플래시 메모리를 다룰 예정

 

플래시 메모리에는 이라는 단위가 존재

셀이란, 플래시 메모리에서 데이터를 저장하는 가장 작은 단위를 의미

하나의 셀에 몇 비트를 저장하냐에 따라 플래시 메모리의 종류를 구분

SLC(single level cell) : 하나의 셀에 1비트를 저장할 수 있는 타입

MLC(multiple level cell) : 하나의 셀에 2비트를 저장할 수 있는 타입

TLC(triple level cell) : 하나의 셀에 3비트를 저장할 수 있는 타입

 

SLC 타입

SLC 타입은 하나의 셀에 두개의 정보(0 또는 1)만 저장하기 때문에 비트의 빠른 입출력이 가능

수명도 MLC, TLC 보다 긴 편에 속함

이에 비례하여 용량이 커질수록 가격이 비싸진다는 단점

 

MLC 타입

하나의 셀에 총 4개의 정보를 저장할 수 있음

이는 SLC 타입에 비해 수명과 속도를 떨어지나, 대용량화 하기에 수월하다는 장점

 

TLC 타입

하나의 셀에 총 8개의 정보를 저장할 수 있으며, 수명과 속도가 가장 낮고 비용 역시 가장 저렴

 

플래시 메모리의 단위 순서

셀 -> 페이지 -> 블록 -> 플레인 -> 다이

플래시 메모리에서 읽기와 쓰기는 페이지 단위에서 이루어짐

하지만, 삭제는 블록 단위로 수행

 

페이지가 가지는 상태

Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태

Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태

Invalid 상태 : 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태

플래시 메모리는 덮어쓰기가 불가능하여 Valid 상태일 때는 데이터 쓰기가 불가능

 

작동 예시

1개의 페이지가 4개의 데이터를 저장한다고 가정

A, B, C 3개의 데이터를 입력

이때 A의 데이터를 A' 으로 변경하고자 하면, A에 A' 을 덮어씌우는 것이 아닌 A, B, C, A' 처럼 새로운 공간에 할당

하지만, 데이터를 삭제할 때는 4개의 데이터를 한번에 삭제하기 때문에 A만 삭제할 수 없음

이를 위해 가비지 컬렉션 이라는 기능을 제공

이는 A, B, C, A' 중 B, C, A' 은 새로운 블록에 저장한 뒤 기존 블록을 삭제하는 방식

 

07.2 RAID의 정의와 종류

RAID의 정의

RAID(Redundant Array of Independent Disks)란, 주로 하드디스크와 SSD 에 사용하는 기술로, 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술

 

RAID의 종류

RAID 레벨 : RAID 구성 방법을 의미

 

RAID 0

여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식

이는 저장되는 데이터가 하드 디스크의 개수만큼 나뉘어 저장

이때 마치 줄무늬처럼 분산되어 저장된 데이터를 스트라입(stripe), 분산하여 저장하는 것을 스트라이핑(striping) 이라 함

이러한 방식이 주는 이점은 데이터를 부를 때 기존에는 하나의 디스크가 4번 부르는 것을 4개의 디스크가 1번 부르기에 이론적으로 속도가 4배 빠르게 됨

하지만, 이러한 방식이 가지는 단점은 4개의 디스크 중 1개만 고장나더라도 모든 데이터를 불러올 수가 없다는 것

 

RAID 1

이는 복사본을 만드는 방식

마치 거울처럼 완전한 복사본을 만드는 구성이기에 미러링 이라고도 부름

이 방식을 사용한다면 데이터를 2개로 나눠 2개의 디스크에 저장하고, 이를 그대로 복사해 나머지 2개의 디스크에도 저장

이 방식은 안정성이 높지만, 그만큼 사용할 수 있는 용량이 적어진다는 단점이 있음

 

RAID 4

이는 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장하는 장치를 두는 구성 방식

오류를 검출하고 복구하기 위한 정보를 패리티 비트 라고 함

이 방식은 데이터를 3개로 나눠 3개의 디스크에 저장하고, 나머지 1개의 디스크에 패리티 비트를 저장

단점으로는 각 디스크에 정보를 쓸 때마다 패리티 비트를 1개의 디스크에 저장하기 때문에 병목 현상이 발생

 

RAID 5

RAID 4의 단점을 해소하기 위해 패리티 비트 정보를 하나의 디스크에 모아두는 것이 아닌 각 디스크에서 관리하는 방식

이때, A 디스크에 대한 패리티 비트는 B 디스크에 저장하는 방식을 사용

 

RAID 6

전체적인 구성은 RAID 5와 동일하나, 패리티 비트에 대한 정보를 2개로 늘린 방식

728x90