-다양한 보조기억장치
하드디스크(HDD)
하드 디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치입니다. 자기 디스크의 일종으로 지칭하기도 합니다. 하드 디스크에서 실질적으로 데이터가 저장되는 곳은 동그란 원판입니다. 플래터라고 합니다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장합니다. N극과 S극은 각각 0과 1의 역할을 수행합니다. 플래터를 회전 시키는 구성 요소를 스핀들이라고 합니다. 속도는 분당 회전수를 나타내는 RPM이라는 단위로 표현됩니다. 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소는 헤드입니다. 마치 바늘같이 생긴 부품으로 데이터를 읽고 씁니다. 헤드는 원하는 위치로 헤드를 이동시키는 디스크 암에 부착되어 있습니다.
플래터는 트랙과 섹터라는 단위로 데이터를 저장합니다. 플래터를 여러 동심원으로 나누었을 때 그중 하나의 원을 트랙이라고 부릅니다. 트랙은 마치 피자처럼 여러 조각으로 나누어지는데, 이 한 조각을 섹터라고 부릅니다. 섹터는 하드 디스크의 가장 작은 전송 단위입니다. 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위를 실린더라고 부릅니다.
하드 디스크가 저장된 데이터에 접근하는 시간은 크게 탐색 시간, 회전 지연, 전송 시간으로 나뉩니다. 탐색 시간은 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미합니다. 회전지연은 헤드가 있는 곳으로 플래터를 회전시키는 시간을 의미합니다. 전송 시간은 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간을 의미합니다.
플래시 메모리
우리가 흔히 사용하는 USB 메모리, SD 카드, SSD가 모두 플래시 메모리 기반의 보조기억장치입니다. 플래시 메모리에는 셀이라는 단위가 있습니다. 셀이란 플래시 메모리에서 데이터를 저장하는 가장 작은 단위입니다. 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉩니다. 한 셀에 1비트를 저장할 수 있는 플래시 메모리를 SLC타입, 한 셀에 2비트를 저장할 수 있는 플래시 메모리를 MLC타입, 3비트를 저장할 수 있는 플래시 메모리를 TLC타입이라고 합니다.
SLC타입은 한 셀로 두 개의 정보를 표현할 수 있습니다. MLC나 TLC타입에 비해 비트의 빠른 입출력이 가능합니다. 수명도 길어서 수십만 번 가까이 데이터를 쓰고 지우고를 반복 할 수 있습니다. 하지만 SLC타입은 가격이 높습니다. 그렇기에 보통 기업에서 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장 장치가 필요한 경우에 SLC 타입을 사용합니다.
MLC타입은 한 셀로 네 개의 정보를 표현할 수 있습니다. SLC보다 속도와 수명은 떨어지지만, 한 셀에 두 비트씩 저장할 수 있다는 점에서 대용화하기 유리합니다. 용량 대비 가격도 더 저렴합니다.시중에서 사용되는 많은 플래시 메모리 저장 장치들이 MLC 타입으로 만들어집니다.
한 셀당 3비트씩 저장할 수 있는 TLC 타입은 한 셀로 여덟 개의 정보를 표현할 수 있습니다. 대용량화 하기가 유리합니다. 수명과 속도가 많이 떨어지지만 용량대비 가격도 저렴합니다.
셀들이 모여 만들어진 단위를 페이지, 페이지가 모여 만들어진 단위를 블록이라고 합니다. 블록이 모여 플레인, 플레인이 모여 다이가 됩니다. 플래시 메모리에서 읽기와 쓰기는 페이지 단위로, 삭제는 블록 단위로 이루어집니다. 단위가 다르다는 것이 가장 큰 특징 중 하나입니다. 이때 페이지는 세 개의 상태를 가질 수 있습니다. Free 상태는 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태를 의미하고, Valid 상태는 이미 유효한 데이터를 저장하고 있는 상태를 의미합니다. Invalid 상태는 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태를 의미합니다. 플래시 메모리는 덮어쓰기가 불가능하여 Valid상태인 페이지에는 새 데이터를 저장할 수 없습니다.
최근 SSD를 비롯한 플래시 메모리는 쓰레기값을 정리하기 위해 가비지 컬렉션기능을 제공합니다. 가비지 컬렉션은 유효판 페이지들만을 새로운 블록으로 복사한 뒤, 기존의 블록을 삭제하는 기능입니다.
-RAID의 정의와 종류
RAID의 정의
RAID는 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술을 의미합니다.
RAID의 종류
RAID 구성 방법을 RAID 레벨이라 표현하는데, RAID 레벨에는 대표적으로 RAID0 ~ RAID6이 있고, 그로부터 파생된 RAID10, RAID50 등이 있습니다. RAID2, 3은 현재 잘 활용되지 않습니다.
RAID0은 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식입니다. 줄무늬처럼 분산되어 저장된 데이터를 스트라입이라 하고, 분산하여 저장하는 것을 스트랑이핑이라고 합니다. 데이터가 분산되어 저장되면, 즉 스트라이핑되면 저장된 데이터를 읽고 쓰는 속도가 빨라집니다. 하나의 대용량 젖장 장치를 이용했더라면 여러 번에 걸쳐 읽고 썻을 데이터를 동시에 읽고 쓸 수 있기 때문이지요. 하지만 저장된 정보가 안전하지 않습니다. 구성된 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있습니다.
RAID1은 복사본을 만드는 방식입니다. 거울처럼 완전한 복사본을 만드는 구성이기에 미러링이라고 부릅니다. RAID 1에 어떠한 데이터를 쓸 때는 원본과 복사본 두 군데 씁니다. 그렇기에 RAID0보다 느리죠. RAID1 방식은 복구가 매우 간단하다는 장점이 있습니다. 하지만 사용 가능한 용량이 적어지는 단점이 있습니다. 결국 많은 양의 하드 디스크가 필요하게 되고, 비용이 증가합니다.
RAID4는 RAID1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식입니다. 이때 오류를 검출하고 복구하기 위한 정보를 패리티 비트라고 합니다. 이로써 RAID4는 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있습니다.
RAID4는 어떤 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게되므로 패리티를 저장하는 장치에 병목 현상이 발생한다는 문제가 있다. RAID5는 패리티 정보를 분산하여 저장하는 방식으로 병목현상을 해소한다.
RAID6의 구성은 기본적으로 RAID5와 같으나, 서로 다른 두 개의 패리티를 두는 방식입니다. 오류를 검출하고 복구할 수 있는 수단이 두 개가 생긴 셈입니다. 따라서 가장 안전한 구성입니다. 다만 새로운 정보를 저장할 때마다 함께 저장할 패리티가 두 개이므로, 쓰기 속도가 RAID5보다 느립니다.
RAID10과 50은 RAID레벨을 혼합한 방식으로 NESTED RAID라고 합니다.
출처 : 혼자 공부하는 컴퓨터구조 + 운영체제
'공부 > 컴퓨터' 카테고리의 다른 글
입출력장치 (0) | 2023.02.26 |
---|---|
메모리와 캐시 메모리 (0) | 2023.02.12 |
CPU 성능 향상 기법 (0) | 2023.02.03 |
CPU의 작동 원리 (0) | 2023.01.22 |
명령어 (0) | 2023.01.08 |