하드 디스크 드라이브는 플래터와 스핀들, 읽기/쓰기 헤드, 작동팔, 컨트롤러 보드로 구성된다.
HDD에서의 I/O 연산은 자기 물질로 코팅된 회전하는 플래터에 작동팔을 빠르게 움직여 수행된다. 작동팔에 부착된 읽기/쓰기(R/W) 헤드를 통해 디스크 컨트롤러와 플래터 사이에 데이터가 전송된다. 데이터는 자기 플래터에 여러 번 기록되고 삭제될 수 있다. 다음 절에서는 디스크 드라이브의 여러 컴포넌트와 데이터를 저장하고 구성하는 방식과 디스크 성능에 영향을 주는 요소를 알아본다.
1. 플래터
일반적인 HDD는 플래터(platter)라 불리는 1개 이상의 원형 디스크로 구성된다. 데이터는 이 플래터에 이진 코드(0과 1)로 기록된다. 플래터는 헤드 디스크 어셈블리(HDA, Head Disk Assembly)라 불리는 케이스에 봉인돼 있다. 플래터는 단단한 원형 디스크로 양면이 자기 물질로 코팅돼 있다. 데이터는 디스크 표면의 자기 영역을 극성화해 저장한다. 플래터 양면 모두에 데이터를 기록하고 읽을 수 있다. 플래터의 개수와 각 플래터의 용량이 드라이브의 전체 용량을 결정한다.
2. 스핀들
스핀들(spindle)은 모든 플래터를 연결하고 모터에 연결돼 있다. 스핀들 모터는 일정 속도로 회전한다. 디스크 플래터는 분당 수천 번을 회전한다. 일반적인 스핀들 속도는 5,400rpm과 7,200rpm, 10,000rpm, 15,000rpm이 있다. 플래터 속도는 기술 개발로 계속 증가하고 있지만 개선할 수 있는 범위는 제한된다.
읽기/쓰기(R/W) 헤드는 플래터로부터 데이터를 읽고 쓴다. 드라이브는 각 플래터마다 각 면에 대해 하나씩, 2개의 R/W 헤드를 갖는다. R/W 헤드가 데이터를 기록하면 플래터 표면의 자기 극성이 바뀐다. 데이터를 읽을 때엔 플래터 표면의 자기 극성을 판별한다. 읽고 쓰는 도중에는 R/W 헤드가 자기 극성을 인식하기만 하고 표면을 절대 건드리지 않는다. 스핀들이 회전하면 R/W 헤드와 플래터 사이에 헤드 부상 높이(head flying height)라 불리는 미세한 공기 층이 생긴다. 이 공기 층은 플래터가 회전을 멈추고 플래터 근처의 영역에 머물면 없어진다. 이 영역을 랜딩 존(landing zone)이라 한다. 랜딩 존은 헤드와 플래터 간의 마찰을 줄이기 위해 윤활유로 코팅돼 있다.
디스크 드라이브는 헤드가 표면을 건드리기 전에 랜딩 존으로 이동하도록 설계돼 있다. 드라이브가 잘못 동작해 R/W 헤드가 랜딩 존 밖에서 플래터 표면을 건드리면 헤드 크래시(head crash)가 발생한다. 헤드 크래시는 플래터의 자기 코팅을 손상시키고 R/W 헤드를 손상시킬 수 있다. 헤드 크래시는 데이터 손실을 야기한다.
R/W 헤드는 작동팔 어셈블리(actuator arm assembly)에 장착돼 있으며, 데이터를 읽거나 쓸 플래터의 위치로 R/W 헤드를 이동시킨다. 모든 플래터의 R/W 헤드는 1개의 작동팔 어셈블리에 달려 있으며 플래터 위에서 동시에 움직인다.
컨트롤러는 디스크 드라이브 뒷면에 장착된 인쇄 회로 기관이다. 마이크로프로세서와 내부 메모리, 전기 회로망, 펌웨어로 구성돼 있다. 펌웨어는 스핀들 모터의 전력을 조절해 모터의 속도를 제어한다. 또한 드라이브와 호스트 사이의 통신을 관리한다. 또한 작동팔을 조정하고 R/W 헤드를 선택해 데이터 액세스를 최적화한다.
데이터는 디스크 트랙(track)에 기록된다. 트랙은 플래터 위의 스핀들을 중심으로 한 원을 말한다. 트랙은 가장 중심 트랙부터 0으로 시작하는 번호를 갖는다. 인치당 트랙의 개수(TPI, tracks per inch)는 플래터의 트랙 밀도(track density)를 나타낸다.
각 트랙은 좀 더 작은 섹터(sector)로 나뉜다. 섹터는 스토리지에서 주소로 구분할 수 있는 가장 작은 단위다. 트랙과 섹터 구조는 드라이브 제작사에서 로우 레벨 포맷을 통해 플래터에 기록한다. 트랙당 섹터의 개수는 드라이브 유형에 따라 다르다. 초기 개인 컴퓨터는 각 트랙당 17개의 섹터를 가졌다. 최근의 디스크는 훨씬 많은 수의 트랙을 갖는다. 플래터의 물리적 크기와 밀도에 따라 플래터에 수천 개의 트랙이 있을 수 있다.
보통 섹터는 512바이트의 데이터를 저장한다. 물론 더 큰 섹터 크기를 갖도록 포맷할 수 있는 디스크도 있다. 사용자 데이터 외에 섹터 번호나 헤드 번호, 플래터 번호, 트랙 번호 같은 정보를 저장한다. 이 정보는 컨트롤러가 드라이브에서 데이터를 찾는 것을 도와준다.
실린더는 각 드라이브 플래터의 양쪽 면의 같은 트랙의 집합이다. R/W 헤드의 위치는 트랙 번호가 아닌 실린더 번호를 이용해 나타낸다.
광고의 디스크 용량과 실제 용량은 차이가 있다. 예를 들어 500GB 디스크에는 465.7GB의 사용자 데이터를 저장할 수 있다. 이 차이의 원인은 드라이브 제작사가 디스크 용량을 나타낼 때 10을 기저(base)로 사용하기 때문이다. 즉 이 방식에서 1킬로바이트는 1,204바이트가 아닌 1,000 바이트다. 따라서 실제 사용 가능한 용량은 광고에서 말하는 용량보다 적다.
플래터는 동심원 트랙으로 구성된다. 가장 바깥쪽 트랙은 안쪽 트랙보다 길기 때문에 더 많은 데이터를 저장할 수 있다. 예전 디스크 드라이브에서는 바깥쪽 트랙과 내부 트랙의 섹터 수가 같아서 바깥쪽 트랙의 데이터 밀도가 낮았다. 이 경우 저장 공간이 비효율적으로 사용된다.
'IT > Storage' 카테고리의 다른 글
지능형 스토리지 시스템의 컴포넌트 (0) | 2022.08.09 |
---|---|
디스크 드라이브 성능 (0) | 2022.06.30 |
인터페이스 프로토콜과 스토리지 (0) | 2022.06.29 |
컴퓨트 가상화와 연결 (0) | 2022.06.29 |
파일 시스템 -2- (0) | 2022.06.29 |