- 디스크의 구조
- 원판(Platter)
- 각 원판들은 두 개의 옆면, 즉 표면으로 이루어져 있으며, 이들은 자성을 띤 기억 물질로 코딩되어 있다.
- 디스크는 일반적으로 한 개 이상의 원판들을 가짐
- 축(Spindle)
- 원판의 중심부에 위치하며, 원판을 고정된 회전율로 돌려줌
(평균 5,400~15,000번 회전하는 비율(RPM)을 가짐)
- 트랙(Track)
- 디스크 표면(Platter)에 있는 여러 개의 동심원
- 각 트랙은 섹터1들의 집합으로 나누어지며
- 섹터 위에 자성 물질로 인코딩된 동일한 수의 데이터 비트(일반적으로 512바이트)를 가짐
- 헤더
- 구동 팔(Head Arm)끝에 연결되어 있으며 자성 표면에 저장된 비트를 읽거나 쓴다
- 하나의 원판(Platter)당 2개 존재
- 실린더 (Cylinder) : 다중 원판 드라이브
- 자기 디스크 장치에서, 디스크 팩의 각 장에 있는 트랙을 동일 순번으로 집합시킨 것
- 축의 중심으로부터 동일한 거리를 갖는 모든 트랙들의 개수
하나의 디스크에 기록될 수 있는 최대 비트 수는 디스크의 최대 용량 또는 간단히 용량이라고 부름
디스크 용량을 결정하는 기술 요소
1. 기록밀도(bits/in) : 1인치의 트랙에 집어넣을 수 있는 비트의 수
2. 트랙밀도(tracks/in) : 원판 중심에서 반지름의 1인치 길이에 넣을 수 있는 트랙의 수
3. 면적밀도(bits/in2) : 기록밀도 * 트랙밀도
※ 디스크의 면적밀도(용량)를 높이기 위한 연구 동향
- 과거의 방식
- 모든 트랙을 같은 수의 섹터로 나누어 바깥쪽 트랙의 섹터들은 거리가 멀어지게 된다
-> 만약 섹터에 결함이 생길 경우, 해당 섹터의 전부를 사용하지 못하는 상태가 된다.
- ZBR 방식
- 디스크 외곽의 헐거운 기록 밀도에서 오는 낭비를 없애기 위해 외곽에 더 많은 섹터를 배치
- 디스크가 동작하는 영상
0:27 - 폴더 삭제, 0:55 - 복사/붙여넣기, 1:24 - Quick format
디스크는 데이터를 섹터 크기의 블록으로 읽고 기록한다.
섹터에 접근하는 시간은 3개의 주요 부분으로 이루어지며 다음과 같다.
과거의 디스크들은 다중 표면은 가지고, 표면에 여러 기록 영역을 가지는 복잡한 구조를 가진다.
OS로부터 이러한 복잡성을 감추기 위해 요즘의 디스크들은 0, 1, ... , B-1의 번호를 붙인 B 섹터크기의 논리블록의 배열로 구조를 좀 더 단순화시킨다.
- 논리 블록 주소 지정(Logical block addressing, LBA)은 컴퓨터 기억 장치에 저장되는 데이터 블록의 위치를 지정하는데 쓰이는 공통 Scheme으로,
일반적으로 하드 디스크 드라이브와 같은 보조 기억 장치에 쓰인다.
- LBA는 특히 단순한 선형 주소 지정 스킴이며, 블록은 정수 색인에 의해 위치되며, 첫 블록은 LBA 0, 두 번째는 LBA 1로 된다.
- IDE 표준은 22비트 LBA를 옵션으로 포함하였으며, 더 나아가 ATA-1 출시와 함께 28비트로 확장되었고 ATA-6 출시와 함께 48비트로 확장되었다.
- 반면, 주소를 보유하고 있는 디스크와 메모리 내의 자료 구조의 엔트리들의 크기는 일반적으로 32비트나 64비트이다.
- 1996년 이후에 출시된 대부분의 하드 디스크 드라이브들은 논리 블록 주소 지정을 구현하고 있다.
- 시스템 버스와 I/O 버스
※ 메모리 매핑 I/O
- CPU가 입출력 장치를 액세스할 때, 입출력과 메모리의 주소 공간을 분리하지 않고 하나의 메모리 공간에 취급하여 배치하는 방식
- SSD의 기본 동작 원리
SSD의 장점
1. 반도체 메모리로 이루어져 움직이는 부품이 없으며, 더 견고함
2. 회전하는 디스크보다 랜덤 접근시간이 훨씬 더 빠름
3. 적은 전력을 소모함
SSD의 단점
1. 플래시 블록의 반복적인 쓰기 작업으로 인해 노후할 가능성이 있음
2. 회전하는 디스크에 비해 가격이 더 비싸고, 저장용량이 적음
저장장치의 종류에 따라 Trade-off는 존재 (속도, 가격 등)
저장장치의 발전은 선형적인 발전을 이뤄왔음에도 불구하고, CPU의 비약적인 발전에 뒤처짐 -> 병목현상으로 이어짐
이를 극복하기 위해 SRAM-기반 캐시를 많이 사용하며,
이 방법은 지역성(Locality)
이라고 알려진 응용프로그램의 근본적인 특성 때문에 동작
2. 플래시 메모리 : 전기적으로 데이터를 지우고 다시 기록할 수 있는 비휘발성 컴퓨터 기억 장치
4. 디스크 컨트롤러 : CPU가 하드 디스크, 플로피 디스크 또는 다른 종류의 디스크 드라이브와 통신할 수 있도록 하는 회로
5. 병목현상(bottleneck) : 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상