챕터 - 2
하드 드라이브 소개
소개
현대 컴퓨터 세계에서 하드 드라이브는 컴퓨터의 가장 중요한 부분임이 입증되었습니다. 오늘날 하드 드라이브는 모든 유형의 데이터를 저장하는 데 가장 일반적으로 사용되는 기본 저장 장치이며, 컴퓨터의 가장 흥미로운 구성 요소 중 하나이기도 합니다.
오늘날 대부분의 컴퓨터 사용자가 수십억 바이트의 정보를 컴퓨터에 저장하고 있기 때문에, 현대 컴퓨터 사용자라면 하드 드라이브가 없다면 컴퓨팅 생활이 어떨지 상상조차 하기 어려울 것입니다.
최초의 컴퓨터에는 저장장치가 전혀 없었습니다. 프로그램을 실행할 때마다 수동으로 입력해야 했습니다. 게다가 컴퓨터가 같은 데이터를 계속해서 반복해서 처리할 수 있는 쉬운 방법이 없었기 때문에, 오늘날 우리가 컴퓨팅이라고 생각하는 대부분의 작업이 불가능해졌습니다. 컴퓨터가 정말로 유용한 도구가 되려면 어떤 종류의 영구 저장장치가 필요하다는 것이 금방 분명해졌습니다.
컴퓨터에 사용된 최초의 저장 매체는 종이였습니다. 프로그램과 데이터는 종이 테이프나 천공 카드에 구멍을 뚫어 기록했습니다. 특수 판독기는 광선을 이용해 카드나 테이프를 스캔했습니다. 구멍이 있는 곳에서는 "1"을 읽었고, 종이가 센서를 막은 곳에서는 "0"을 읽었고, 그 반대의 경우도 마찬가지였습니다.
아무것도 없는 것에 비하면 큰 개선이긴 했지만, 이 카드들은 여전히 사용하기 매우 불편했습니다. 기본적으로 카드에 옮기기 전에 전체 프로그램을 종이에 처음부터 쓰고 머릿속에서 익혀야 했습니다. 실수를 하면 많은 카드에 다시 구멍을 뚫어야 했기 때문입니다. 자신이 무슨 일을 하고 있는지 시각화하는 것은 매우 어려웠습니다.
종이보다 더 큰 발전을 이룬 것은 자기 테이프의 발명이었습니다. 이러한 자기 테이프는 소리가 테이프에 기록되는 방식과 비슷한 방식으로 정보를 기록하므로 종이 테이프나 천공 카드보다 훨씬 더 유연하고 내구성이 뛰어나며 빠릅니다.
물론, 테이프는 오늘날에도 현대 컴퓨터에서는 여전히 사용되고 있지만 오프라인 또는 보조 저장 장치의 한 형태로 사용됩니다. 하드 드라이브가 나오기 전에는 일부 컴퓨터의 기본 저장장치로 사용되었습니다. 가장 큰 단점은 선형적으로 읽어야 한다는 것입니다. 테이프의 한쪽 끝에서 다른 쪽 끝으로 옮기는 데 몇 분이 걸릴 수 있으므로 무작위 접근이 비실용적입니다.
음, 본론으로 돌아가겠습니다. IBM은 상업적 개발에 적합한 최초의 하드 드라이브를 출시했습니다 . 오늘날 우리가 사용하는 디스크 드라이브와는 달랐습니다. 그들은 자기적 패턴의 데이터를 저장하는 회전하는 원통형 드럼을 사용했습니다. 드럼은 크고 작업하기 어려웠다. 최초의 하드 드라이브는 하드 드라이브 헤드가 디스크 표면과 접촉하고 있었습니다. 이는 당시의 저감도 전자 장치가 디스크 표면의 자기장을 더 잘 읽을 수 있도록 하기 위한 것이었지만, 당시의 제조 기술은 오늘날만큼 정교하지 않았고, 헤드가 디스크 표면과 접촉하면서 고속으로 디스크 표면을 부드럽게 미끄러지도록 하는 데 필요한 만큼 디스크 표면을 매끄럽게 만드는 것이 불가능했습니다. 시간이 지나면서 헤드가 마모되거나 디스크 표면의 자기 코팅이 마모되었습니다.
디스크 표면과 접촉이 필요 없는 IBM의 새로운 기술의 중요한 발견으로, 현대 하드 드라이브의 기반이 되었습니다. 이 유형의 최초의 하드 드라이브는 1956년 9월 13일에 출시된 IBM 305 RAMAC(Random Access Method of Accounting and Control)입니다. 이 하드 드라이브는 500만 개의 문자를 저장할 수 있었는데, 이는 약 5메가바이트였고, 초당 8,800바이트의 데이터 전송 속도를 가졌습니다.
1962년에 IBM은 1301 고급 디스크 파일을 출시했습니다. 이 드라이브의 주요 성과는 공기 베어링에서 디스크 표면 위로 떠다니거나 날아다니는 헤드를 만들어낸 것으로, 이를 통해 헤드와 디스크 표면 사이의 거리를 800마이크로인치에서 250마이크로인치로 줄였습니다.
IBM은 1973년에 현대 하드 드라이브의 아버지로 여겨지는 3340 하드 드라이브를 출시했습니다. 이 드라이브에는 두 개의 별도 스핀들(하나는 영구적이고 다른 하나는 분리형)이 있었고, 각각 용량이 30MB였습니다. 1979년에 출시된 IBM의 모델 3370은 박막 헤드를 사용한 최초의 디스크 드라이브였습니다. 같은 해에 IBM은 8인치 플래터를 장착한 최초의 드라이브인 3310을 출시했는데, 10년 이상 표준이었던 14인치 플래터에 비해 크기가 상당히 줄었습니다.
초기 PC에 사용된 5.25인치 폼 팩터로 설계된 최초의 하드 드라이브는 Seagate ST-506이었습니다. 헤드가 4개이고 용량은 5MB였습니다. IBM은 ST-506을 우회하여 IBM PC/XT에 동일한 폼 팩터의 10MB 드라이브인 ST-412를 선택했고, 이를 통해 PC 및 PC 호환 세계에서 널리 사용된 최초의 하드 드라이브가 되었습니다.
1983년, 로디메는 3.5인치 폼 팩터를 사용한 최초의 하드 드라이브인 RO352를 출시했는데, 이는 가장 중요한 산업 표준 중 하나가 되었습니다. 퀀텀은 1985년에 하드 드라이브 없이 출시된 PC용 ISA 확장 카드에 설치되는 10.5MB 하드 드라이브인 하드카드를 출시했습니다.
1986년에 Conner Peripherals는 CP340을 출시했습니다. 이는 음성 코일 드라이브를 사용한 최초의 디스크 드라이브였습니다. 1988년, Conner Peripherals는 CP3022를 출시했습니다. 이는 현재 "로우 프로파일"이라고 불리는 1인치 높이를 사용한 최초의 3.5인치 드라이브로, 현대 3.5인치 드라이브의 표준이 되었습니다. 같은 해에 PrairieTek은 2.5인치 플래터를 사용하는 드라이브를 출시했습니다. 1990년에 IBM은 용량이 857MB인 681(Redwing) 디스크 드라이브를 출시했습니다. MR과 PRML 헤드를 모두 사용한 최초의 제품입니다.
1991년에 출시된 IBM의 Pacifica 메인프레임 디스크 드라이브는 플래터 표면의 산화물 매체를 박막 매체로 대체한 최초의 제품입니다. 같은 해, Integral Peripherals의 1820은 1.8인치 플래터를 장착한 최초의 하드 드라이브가 되었고, 나중에 PC 카드 드라이브에 사용되었습니다. 1992년, Hewlett Packard는 최초의 1.3인치 드라이브가 된 C3013A를 출시했습니다.
하드 드라이브의 역사에는 많은 발전이 있었고, 이를 통해 오늘날의 드라이브는 현대적인 디자인, 모양, 성능 및 용량을 갖추게 되었습니다. 이 책에서 이를 자세히 나열하기는 어렵습니다.
하드 드라이브 구성 요소
하드 드라이브는 다음과 같은 주요 구성 요소로 구성됩니다.
- 디스크 플래터 및 미디어
- 읽기/쓰기 헤드
- 헤드 슬라이더, 레버 및 드라이브
- 하드디스크 스핀들 모터
- 커넥터 및 점퍼
- 로직 보드
- 캐시 및 캐시 레이아웃
하드 드라이브 구성 요소
디스크 플래터 및 미디어
모든 하드 디스크는 플래터라고 하는 하나 이상의(일반적으로 하나 이상) 둥글고 평평한 디스크를 사용하는데 , 이 디스크는 양면에 자기 패턴 형태로 정보를 저장하도록 설계된 특수 미디어 소재로 코팅되어 있습니다. 디스크의 각 플래터의 각 표면은 수십억 비트의 데이터를 저장할 수 있습니다.
플래터는 두 가지 주요 물질로 구성됩니다. 플래터의 대부분을 형성하고 구조와 강성을 제공하는 기판 소재와 데이터를 나타내는 자기 임펄스를 실제로 유지하는 자기 매체 코팅입니다.
플래터의 품질, 특히 미디어 코팅이 중요합니다. 하드 디스크의 플래터 크기는 전반적인 물리적 치수를 결정하는 주요 요소이며, 일반적으로 드라이브의 폼 팩터라고도 합니다. 대부분의 드라이브는 다양한 표준 하드 디스크 폼 팩터 중 하나로 생산됩니다.
때때로 하드 디스크는 크기 사양으로 지칭됩니다. 누군가가 3.5인치 하드 디스크를 가지고 있다면 그것은 일반적으로 디스크의 폼 팩터를 지칭하며, 일반적으로 폼 팩터는 플래터 크기에 따라 명명됩니다. 초기 하드 디스크의 공칭 크기는 5.25인치였지만 요즘 가장 일반적인 하드 디스크 플래터 크기는 3.5인치입니다 .
노트북 드라이브는 일반적으로 예상되는 작은 크기와 무게가 적기 때문에 더 작습니다. 이러한 드라이브의 플래터는 일반적으로 직경이 2.5인치 이하입니다. 2.5인치가 표준 폼 팩터이지만 1.8인치, 심지어 1.0인치 플래터가 있는 드라이브가 모바일 장비에서 점점 더 일반화되고 있습니다.
드라이브는 물리적 드라이브 패키지의 가능한 한 넓은 폭으로 플래터를 확장하여 드라이브에 넣을 수 있는 저장 용량을 극대화하지만 전반적인 추세는 더 작은 플래터로 향하고 있습니다. 회사들이 데스크톱 장치에서도 더 작은 플래터를 사용하는 데에는 다음과 같은 주요 이유가 있습니다.
단단하고 딱딱한 플래터는 충격과 진동에 더 강하고, 고속 스핀들과 다른 고성능 하드웨어와 결합하는 데 더 적합합니다. 하드 디스크 플래터의 직경을 두 배로 줄이면 강성이 약 4배가 됩니다.
플래터의 크기가 줄어들면 헤드 액추에이터가 무작위 탐색을 수행하기 위해 헤드를 좌우로 움직여야 하는 거리가 줄어듭니다. 이렇게 하면 탐색 시간이 개선되고 무작위 읽기 및 쓰기가 더 빨라집니다.
최신 하드 디스크 스핀들은 속도 성능 면에서 향상되고 있습니다. 플래터가 작을수록 회전하기 쉽고 덜 강력한 모터가 필요하며 정지 위치에서 속도를 높이는 데 더 빠릅니다.
오늘날 사용 가능한 가장 작은 하드 디스크 플래터 크기는 직경이 1인치입니다. IBM의 놀라운 Micro 드라이브는 플래터가 하나이며 디지털 카메라, 개인용 오거나이저 및 기타 소형 장비에 맞게 설계되었습니다. 플래터의 크기가 작기 때문에 Micro 드라이브는 배터리 전원으로 작동하고 1초 이내에 스핀 다운 및 백업이 가능합니다.
엔지니어링 관점에서 플래터가 많을수록 질량이 더 커지고 따라서 드라이브를 시작하거나 멈추라는 명령에 대한 응답이 느려집니다. 더 강력한 스핀들 모터로 보상할 수 있지만, 다른 트레이드오프로 이어집니다.
사실, 최근의 추세는 헤드 암과 플래터가 더 적은 드라이브로 향하고 있으며, 더 많은 것은 아닙니다. 면적 밀도가 계속 증가하여 많은 플래터를 사용하지 않고도 대형 드라이브를 만들 수 있습니다. 이를 통해 제조업체는 시장에 너무 작은 드라이브를 만들지 않고도 플래터 수를 줄여 탐색 시간을 개선할 수 있습니다.
하드 디스크의 폼 팩터도 드라이브의 플래터 수에 큰 영향을 미칩니다. 디스크에 사용된 플래터 수와 관련된 요인이 여러 가지 있습니다. 플래터가 많은 드라이브는 스핀들 유닛의 질량이 증가하고 모든 드라이브를 완벽하게 정렬해야 하며 소음과 진동을 제어하기가 더 어려워 엔지니어링하기가 더 어렵습니다.
그때도 하드 디스크 엔지니어가 특정 모델에 많은 플래터를 넣고 싶어했지만, 표준 "슬림라인" 하드 디스크 폼 팩터는 높이가 1인치로 제한되어 단일 장치에 넣을 수 있는 플래터 수가 제한됩니다. 물론 엔지니어는 플래터 사이에 필요한 여유 공간을 줄이기 위해 끊임없이 노력하여 주어진 높이의 드라이브에 플래터 수를 늘릴 수 있습니다.
데이터를 구성하는 자기 패턴은 하드 디스크 플래터 표면의 매우 얇은 미디어 층에 기록됩니다. 플래터 재료의 대부분은 기판이라고 하며 미디어 층을 지지하는 것 외에는 아무것도 하지 않습니다. 적합하려면 기판 재료가 단단하고, 작업하기 쉽고, 가볍고, 안정적이며, 자기적으로 불활성이고, 저렴하고, 쉽게 구할 수 있어야 합니다. 플래터를 만드는 데 가장 일반적으로 사용되는 재료는 전통적으로 알루미늄 합금이었으며, 이는 이러한 모든 기준을 충족합니다.
플래터가 바로 위에 떠 있는 읽기/쓰기 헤드와 함께 회전하는 방식 때문에 플래터는 매우 매끄럽고 평평해야 하므로 유리, 유리 복합재, 마그네슘 합금과 같은 알루미늄의 대안이 제안되었습니다. 이제 유리와 유리로 만든 복합재가 플래터 기판의 다음 표준이 될 가능성이 점점 커지고 있습니다. 알루미늄 플래터에 비해 유리 플래터는 여러 가지 장점이 있습니다.
- 더 나은 품질:
- 향상된 강성:
- 더 얇은 플래터:
- 열 안정성:
알루미늄에 비해 유리의 한 가지 단점은 취약하다는 점인데, 특히 매우 얇게 만들 경우 취약해진다는 점입니다.
플래터가 만들어지는 기판 소재는 실제 기록 매체가 증착되는 기반을 형성합니다. 미디어 층은 실제 데이터가 저장되는 매우 얇은 자기 재료 코팅입니다. 일반적으로 두께가 백만분의 몇 인치에 불과합니다.
오래된 하드 디스크는 산화물 미디어를 사용했습니다. 산화물 미디어는 사용 비용이 저렴하지만 몇 가지 중요한 단점이 있습니다. 첫 번째는 부드러운 소재이고 읽기/쓰기 헤드에 닿으면 쉽게 손상된다는 것입니다. 두 번째는 비교적 낮은 밀도의 스토리지에만 유용하다는 것입니다. 비교적 낮은 데이터 밀도의 오래된 하드 디스크에는 잘 작동했지만 제조업체가 동일한 공간에 점점 더 많은 데이터를 넣으려고 하면서 산화물은 과제에 부응하지 못했습니다. 산화물 입자가 새로운 디자인의 작은 자기장에 비해 너무 커졌습니다.
오늘날의 하드 디스크는 박막 미디어를 사용합니다. 박막 미디어는 플래터 표면에 적용된 매우 얇은 자기 재료 층으로 구성됩니다. 특수 제조 기술을 사용하여 플래터에 미디어 재료를 증착합니다.
산화물 매체에 비해 박막 매체는 훨씬 더 균일하고 매끄럽습니다. 또한 훨씬 우수한 자기적 특성을 가지고 있어 동일한 공간에 훨씬 더 많은 데이터를 보관할 수 있습니다. 자기 매체를 적용한 후 각 플래터의 표면은 일반적으로 탄소로 만든 얇고 보호적인 층으로 덮여 있습니다. 여기에 초박형 윤활 층이 추가됩니다. 이러한 재료는 헤드의 우발적인 접촉이나 드라이브에 들어갈 수 있는 다른 이물질로 인한 손상으로부터 디스크를 보호하는 데 사용됩니다.
읽기/쓰기 헤드
헤드는 하드 디스크에 데이터가 저장된 자기 물리적 미디어에 대한 읽기/쓰기 인터페이스입니다. 헤드는 비트를 자기 펄스로 변환하여 플래터에 저장한 다음 데이터를 다시 읽어야 할 때 프로세스를 역전하는 작업을 수행합니다. 헤드는 하드 디스크의 가장 비싼 부분 중 하나로, 면적 밀도와 디스크 회전 속도를 증가시킬 수 있습니다.
그러나 GMR 헤드는 오늘날 하드 디스크에서 가장 널리 사용되지만 읽기/쓰기 헤드에 대한 여러 기술이 여러 차례 제안되었습니다.
- 페라이트 헤드
- 메탈인갭(MIG) 헤드
- 박막(TF) 헤드
- 이방성 자기 저항(AMR/MR) 헤드
- 거대 자기 저항(GMR) 헤드
- 거대한 자기 저항(CMR) 헤드
읽기/쓰기 헤드는 하드 디스크의 전반적인 성능을 결정하는 데 매우 중요한 구성 요소입니다. 왜냐하면 데이터의 저장 및 검색에서 매우 중요한 역할을 하기 때문입니다. 새로운 헤드 기술은 종종 현대 하드 디스크의 속도와 크기를 증가시키는 계기가 되므로 읽기/쓰기 헤드는 하드 디스크의 가장 정교한 부분이며, 그 자체로 기술적 경이로움입니다.
저장할 각 데이터 비트는 0과 1을 자기 플럭스 반전 패턴으로 변환하는 특수 인코딩 방법을 사용하여 하드 디스크에 기록됩니다. 각 하드 디스크 플래터에는 일반적으로 데이터를 저장하는 데 사용되는 두 개의 표면이 있으며 일반적으로 드라이브에 사용되는 각 표면마다 하나의 헤드가 있습니다. 대부분의 하드 디스크에는 1~4개의 플래터가 있으므로 대부분의 하드 디스크에는 2~8개의 헤드가 있습니다. 일부 대형 드라이브에는 20개 이상의 헤드가 있을 수 있습니다. 주어진 시간에 하드 디스크에서 읽거나 쓸 수 있는 헤드는 단 하나입니다. 특수 회로는 주어진 시간에 어떤 헤드가 활성화되는지 제어하는 데 사용됩니다.
헤드는 디스크 표면 위로 떠서 플래터를 물리적으로 건드리지 않고 모든 작업을 수행합니다. 헤드와 플래터 사이의 공간의 양을 플로팅 높이 또는 플라잉 높이 또는 헤드 갭이라고 합니다. 읽기/쓰기 헤드 어셈블리는 헤드 암의 스프링 스틸을 사용하여 스프링 로드되어 디스크가 고정되어 있을 때 슬라이더가 플래터를 누르게 됩니다.
이는 헤드가 플래터에서 떨어지지 않도록 하기 위한 것이므로 정확한 플로팅 높이를 유지하는 것이 올바른 작동에 필수적입니다. 디스크가 작동 속도까지 회전하면 고속으로 인해 공기가 슬라이더 아래로 흐르고 디스크 표면에서 들어올립니다. 플래터에서 헤드까지의 거리는 제조업체에서 엄격하게 제어하는 특정 설계 매개변수입니다.
현대의 하드 디스크는 0.5마이크로인치의 부유 높이를 가지고 있으며 인간의 머리카락조차도 2,000마이크로인치 이상의 두께를 가지고 있기 때문에 하드 디스크에 먼지가 들어가지 않도록 하는 것이 매우 중요합니다. 헤드가 디스크 표면에 닿지 않고 얼마나 가까이 날아다니는지 실제로 매우 놀랍습니다. 먼지 입자, 지문, 심지어 연기 입자조차도 하드 디스크 헤드에 큰 문제입니다.
하드 디스크 드라이브 읽기 쓰기 구조
용량과 성능을 개선하기 위해 드라이브의 면적 밀도를 높이면 자기장이 더 작고 약해집니다. 이를 보상하기 위해 헤드를 더 민감하게 만들거나 플로팅 높이를 줄여야 합니다.
플로팅 높이가 감소할 때마다 디스크의 기계적 측면을 조정하여 플래터가 더 평평하고 플래터 어셈블리와 읽기/쓰기 헤드의 정렬이 완벽하며 플래터 표면에 먼지나 흙이 없는지 확인해야 합니다. 진동과 충격도 더 큰 문제가 되므로 보상해야 합니다.
이것이 제조업체가 더 작은 플래터와 유리 플래터 기판을 사용하는 이유 중 하나입니다. GMR과 같은 새로운 헤드는 다른 모든 것이 동일하다면 오래되고 덜 민감한 헤드보다 더 높은 비행 높이를 허용하기 때문에 선호됩니다.
헤드 크래쉬
하드 디스크의 읽기/쓰기 헤드는 디스크 플래터 자체 위의 미세한 공기층 위에 떠 있기 때문에 특정 상황에서는 헤드가 하드 디스크의 미디어와 접촉할 수 있습니다. 일반적으로 헤드는 드라이브가 시작되거나 중지될 때만 표면에 접촉합니다.
현대의 하드 디스크는 초당 100회 회전합니다. 헤드가 작동 속도일 때 디스크 표면에 닿으면 데이터 손실, 헤드 손상, 디스크 표면 손상 또는 세 가지 모두 발생할 수 있습니다. 이를 일반적으로 헤드 크래시라고 하며, 컴퓨터 사용자에게 가장 무서운 단어 중 두 가지입니다. 헤드 크래시의 가장 흔한 원인은 헤드와 디스크 사이의 얇은 틈새에 오염 물질이 끼는 것과 작동 중 하드 디스크에 가해지는 충격입니다.
헤드 파킹
플래터가 회전하지 않을 때 헤드는 디스크 표면에 놓입니다. 플래터가 회전하면 헤드는 플래터 표면을 따라 문지르며 충분한 속도가 얻어져 공기 쿠션 위에 떠오를 때까지 문지릅니다. 드라이브가 회전을 멈추면 이 과정이 역으로 반복됩니다. 두 경우 모두 일정 시간 동안 헤드는 움직이는 동안 디스크 표면에 접촉합니다.
플래터와 헤드는 이러한 접촉이 발생할 것이라는 것을 알고 설계되었지만, 데이터가 있는 디스크 영역에서는 이러한 접촉이 발생하지 않도록 하는 것이 좋습니다.
이런 이유로 대부분의 디스크는 이륙과 착륙을 위해 헤드를 배치할 곳으로 지정된 특수 트랙을 따로 둡니다. 이 구역을 랜딩 존이라고 하며, 거기에는 데이터가 배치되지 않습니다. 헤드를 이 지정된 구역으로 옮기는 과정을 헤드 파킹이라고 합니다.
거의 모든 새로운 운영 체제에는 필요할 때 헤드를 자동으로 주차시키는 기능이 내장되어 있습니다. 스테퍼 모터를 사용한 대부분의 초기 하드 드라이브는 드라이브의 헤드를 자동으로 주차시키지 않았기 때문에 안전 조치로 당시 PC를 종료하기 전에 사용자가 실행할 수 있는 많은 작은 유틸리티가 작성되었습니다. 유틸리티는 디스크에 헤드를 랜딩 존으로 이동하도록 지시한 다음 PC를 안전하게 종료할 수 있습니다.
하드 디스크의 BIOS 설정에서 매개변수는 특정 모델의 하드 디스크에 대한 랜딩 존이 어느 트랙인지 시스템에 알려줍니다. 일반적으로 실제로 데이터에 사용된 가장 큰 번호의 트랙 위에 있는 연속 번호의 다음 트랙이었습니다. 최신 음성 코일 작동 하드 디스크 드라이브는 모두 자동 주차입니다. 최신 하드 디스크의 헤드를 수동으로 주차할 필요는 없습니다.
헤드 슬라이더, 암 및 액추에이터
각 플래터의 상단 및 하단 표면에 장착된 읽기/쓰기 헤드를 사용하여 하드 디스크 플래터에 읽기 및 쓰기 작업을 위해 액세스하는 경우, 읽기/쓰기 헤드가 공간에 떠 있는 것이 아니라는 것은 분명합니다. 읽기/쓰기 헤드는 읽고 있는 표면에 대해 정확한 위치에 고정되어야 하며, 또한 디스크의 전체 표면에 액세스할 수 있도록 트랙에서 트랙으로 이동해야 합니다.
헤드는 이 프로세스를 용이하게 하는 구조에 장착되는데, 이를 종종 헤드 어셈블리 또는 액추에이터 어셈블리 또는 헤드-액추에이터 어셈블리라고 합니다. 이는 여러 다른 부품으로 구성되어 있습니다. 헤드 자체는 헤드 슬라이더에 장착됩니다. 슬라이더는 헤드 암의 끝에서 디스크 표면 위에 매달려 있습니다. 헤드 암은 모두 액추에이터에 의해 디스크 표면 주위로 움직이는 단일 구조로 기계적으로 융합됩니다.
헤드 슬라이더
각 하드 디스크 헤드는 헤드 슬라이더 또는 간단히 슬라이더라고 하는 특수 장치에 장착됩니다. 슬라이더의 기능은 헤드를 물리적으로 지지하고 헤드가 플래터 표면 위로 떠 있을 때 플래터에 대해 올바른 위치에 고정하는 것입니다. 하드 디스크 읽기/쓰기 헤드는 너무 작아서 더 큰 장치에 부착하지 않고는 사용할 수 없습니다.
슬라이더는 플래터 위를 정확하게 이동할 수 있도록 특수한 모양이 주어집니다. 하드 디스크 읽기/쓰기 헤드가 작아지면서 이를 운반하는 슬라이더도 작아졌습니다. 작은 슬라이더를 사용하는 주요 이점은 플래터 표면 주위로 잡아당겨야 하는 무게를 줄여 위치 지정 속도와 정확도를 모두 개선한다는 것입니다. 또한 작은 슬라이더는 디스크 표면에 닿을 수 있는 표면적이 적습니다. 각 슬라이더는 헤드 암에 장착되어 결합된 플래터 표면 위로 이동할 수 있습니다.
머리 팔
헤드 암은 얇은 금속 조각으로, 일반적으로 삼각형 모양이며, 읽기/쓰기 헤드를 운반하는 헤드 슬라이더가 장착됩니다. 읽기/쓰기 헤드당 암이 하나씩 있으며, 모두 일렬로 정렬되어 헤드 액추에이터에 장착되어 단일 장치를 형성합니다.
즉, 액추에이터가 움직이면 모든 헤드가 동기화된 방식으로 함께 움직입니다. 암 자체는 가볍고 얇은 소재로 만들어져 드라이브의 내부에서 외부로 빠르게 움직일 수 있습니다. 새로운 디자인은 무게를 줄이고 성능을 개선하기 위해 솔리드 암을 구조적 모양으로 대체했습니다.
최신 드라이브는 더 빠르고 스마트한 액추에이터와 더 가볍고 더 단단한 헤드 암을 사용하여 트랙 간 전환 시간을 줄여 더 빠른 탐색 시간을 달성합니다. 하드 디스크 산업의 최근 추세는 다양한 드라이브 제품군의 플래터 수가 감소하는 것입니다. 다양한 제품군의 일부 플래그십 드라이브조차도 1년 전만 해도 4~5개가 일반적이었는데 지금은 3개 또는 2개의 플래터만 있습니다.
이러한 추세의 한 가지 이유는 헤드 암이 많으면 무작위 탐색에서 매우 빠른 위치 지정을 허용할 만큼 충분히 정밀하게 드라이브를 만드는 것이 어렵다는 것입니다. 이는 추가 암으로 인해 액추에이터 어셈블리의 무게가 증가하고 모든 헤드를 정렬하는 데 문제가 있기 때문입니다.
헤드 액츄에이터
액추에이터는 하드 디스크의 매우 중요한 부분인데, 트랙에서 트랙으로 변경하는 것이 하드 디스크에서 능동적인 움직임이 필요한 유일한 작업이기 때문입니다. 헤드를 변경하는 것은 전자적 기능이며, 섹터를 변경하려면 올바른 섹터 번호가 회전하여 헤드 아래로 들어올 때까지 기다려야 합니다. 트랙을 변경하려면 헤드를 이동해야 하므로 이 움직임을 빠르고 정확하게 수행할 수 있도록 하는 것이 가장 중요합니다.
액추에이터는 플래터 표면의 다른 트랙에 헤드 암을 배치하는 데 사용되는 장치로, 모든 헤드 암이 동기식 단위로 움직이므로 각 암은 해당 표면의 동일한 트랙 번호로 이동합니다. 헤드 액추에이터는 두 가지 일반적인 종류로 제공됩니다.
두 설계의 주요 차이점은 스테퍼 모터는 절대 위치 지정 시스템인 반면, 음성 코일은 상대 위치 지정 시스템이라는 것입니다.
모든 최신 하드 디스크는 음성 코일 액추에이터를 사용합니다. 음성 코일 액추에이터는 훨씬 더 적응력이 뛰어나고 열 문제에 덜 민감할 뿐만 아니라 스테퍼 모터보다 훨씬 빠르고 안정적입니다. 액추에이터의 위치는 동적이며 트랙의 실제 위치를 조사하여 얻은 피드백을 기반으로 합니다. 이 폐쇄 루프 피드백 시스템은 때때로 서보 모터 또는 서보 위치 지정 시스템이라고도 하며 정밀한 위치 지정이 중요한 수천 가지의 다양한 애플리케이션에서 일반적으로 사용됩니다.
스핀들 모터
스핀들 모터 또는 스핀들 샤프트는 하드 디스크 플래터를 돌려 하드 드라이브가 작동할 수 있도록 하는 역할을 합니다. 스핀들 모터는 종종 연속적으로 수천 시간 동안 사용할 수 있는 안정적이고 신뢰할 수 있으며 일관된 회전력을 제공해야 하드 디스크가 제대로 작동할 수 있습니다. 많은 드라이브 고장은 실제로 데이터 저장 시스템이 아니라 스핀들 모터의 고장이기 때문입니다.
하드 디스크의 스핀들 모터는 오래 사용하고 데이터를 장기간 안전하게 보호하려면 다음과 같은 특성을 갖춰야 합니다.
- 수천 시간 동안 작동하고, 수천 번의 시작 및 중지 주기를 허용하면서도 고장이 나지 않을 만큼 고품질이어야 합니다.
- 드라이브 내부의 플래터와 헤드의 허용 오차가 엄격하기 때문에, 드라이브는 원활하게 작동해야 하며 진동은 최소화되어야 합니다.
- 과도한 열이나 소음을 발생시켜서는 안 됩니다.
- 너무 많은 전력을 소모해서는 안됩니다.
- 적절한 속도로 회전하도록 속도를 관리해야 합니다.
이러한 요구 사항을 충족하기 위해 모든 PC 하드 디스크는 서보 제어 DC 스핀들 모터를 사용합니다. 하드 디스크 스핀들 모터는 직접 연결되도록 구성되어 있습니다. 하드 디스크 플래터 스핀들에 연결하는 데 사용되는 벨트나 기어는 없습니다. 플래터가 장착된 스핀들은 모터의 샤프트에 직접 부착됩니다.
플래터는 스핀들과 정확히 같은 크기의 구멍으로 가공되며, 분리 링이 사이에 있는 스핀들에 배치되어 올바른 거리를 유지하고 헤드 암을 위한 공간을 제공합니다. 스핀들 모터가 해야 하는 작업량은 다음 요인에 따라 달라집니다.
플래터의 크기와 수: 더 큰 플래터와 드라이브에 더 많은 플래터가 있을수록 모터가 회전하는 데 더 많은 질량이 필요하므로 더 강력한 모터가 필요합니다. 고속 드라이브도 마찬가지입니다.
o 전원 관리: 오늘날 사용자들은 멈춘 상태에서 빠르게 작동 속도까지 회전할 수 있는 하드 디스크를 점점 더 원하고 있으며, 이를 위해서는 더 빠르거나 더 강력한 모터가 필요합니다.
최신 하드 디스크에서 스핀들 속도가 중요한 문제로 여겨지듯이, 하드 디스크에서도 높은 스핀들 속도로 인해 하드 디스크에서 발생하는 소음, 열, 진동의 양을 제어하는 것이 중요한 문제로 떠올랐습니다.
일부 최신 드라이브, 특히 7200 및 10,000 RPM 모델은 작동 시 많은 소음을 낼 수 있습니다. 가능하다면 구매하기 전에 하드 디스크를 작동 중인지 확인하여 소음 수준을 평가하고 방해가 되는지 확인하는 것이 좋습니다. 이는 개인마다 크게 다릅니다. 발생하는 소음도 같은 제품군 내에서도 개별 드라이브에 따라 어느 정도 다릅니다. 스핀들 모터에서 발생하는 열은 결국 하드 디스크를 손상시킬 수 있으므로 최신 드라이브, 최신 하드 디스크는 냉각에 더 많은 주의를 기울이고 있습니다.
커넥터 및 점퍼
하드 디스크에는 하드 디스크를 구성하고 시스템의 나머지 부분에 연결하는 데 사용되는 여러 가지 커넥터와 점퍼가 있습니다. 하드 디스크의 커넥터 수와 유형은 시스템에 연결하는 데 사용하는 데이터 인터페이스, 드라이브 제조업체 및 드라이브가 가질 수 있는 특수 기능에 따라 달라집니다.
일반적인 점퍼를 설정하는 방법에 대한 지침은 일반적으로 드라이브에 바로 인쇄되어 있습니다. 하드 디스크 드라이브는 전원 공급 장치에서 나오는 전원 커넥터 중 하나를 사용하는 표준 4핀 수 커넥터 플러그를 사용합니다. 이 리드 4선 플라스틱 커넥터는 하드 디스크에 +5 및 +12 전압을 제공합니다.
두 가지 유형의 인터페이스가 있으며 일반적으로 최신 하드 디스크 드라이브는 그 중 하나를 사용합니다.
- IDE/ATA: 40핀 직사각형 커넥터가 있습니다.
- SCSI: 50핀, 68핀 또는 80핀 D자형 커넥터. 이 세 핀 번호는 모두 다음과 같은 다른 유형의 SCSI 디스크를 나타냅니다.
- 50핀 커넥터는 해당 장치가 좁은 SCSI임을 의미합니다.
- 68핀은 넓은 SCSI를 의미합니다.
- 80핀은 SCA(단일 커넥터 연결)를 사용하는 와이드 SCSI를 의미합니다.
커넥터 및 점퍼
하드 디스크 드라이브의 커넥터는 일반적으로 2xN 직사각형 핀 그리드 형태입니다 (여기서 N은 인터페이스에 따라 20, 25, 34 또는 40입니다) . 현재 SCSI 인터페이스 커넥터의 대부분은 D자 모양이기 때문에 잘못된 삽입을 방지하기 위해 키가 지정되어 있지만 다른 인터페이스의 경우 항상 그런 것은 아닙니다.
이러한 이유로 케이블을 꽂기 전에 케이블이 올바른 방향으로 향하고 있는지 확인하는 것이 중요합니다. 케이블에는 와이어 1을 나타내는 빨간색 줄무늬가 있으며 하드 디스크는 일치하는 핀 1을 나타내는 여러 형태의 마커를 사용합니다.
IDE/ATA 하드 디스크는 점퍼 면에서 상당히 표준적입니다. 일반적으로 점퍼 설정은 몇 가지뿐이며 드라이브마다 크게 다르지 않습니다. 하드 디스크에서 일반적으로 찾을 수 있는 점퍼 설정은 다음과 같습니다.
드라이브 선택: 동일한 IDE 채널에 두 개의 드라이브, 마스터와 슬레이브가 있을 수 있습니다. 점퍼는 일반적으로 각 드라이브가 IDE 채널에서 마스터 또는 슬레이브로 작동해야 하는지 알려주는 데 사용됩니다.
채널의 단일 드라이브의 경우 대부분 제조업체는 드라이브를 마스터로 점퍼링하도록 지시하는 반면, Western Digital을 비롯한 일부 제조업체는 슬레이브가 있는 채널의 마스터와 달리 단일 드라이브에 대해 별도의 설정을 합니다. 드라이브가 실제로 작동 관계가 없기 때문에 마스터와 슬레이브라는 용어는 오해의 소지가 있습니다.
슬레이브 존재: 일부 드라이브에는 마스터로 구성된 드라이브에 ATA 채널에 슬레이브 드라이브도 있다는 것을 알리는 데 사용되는 추가 점퍼가 있습니다. 이는 표준 마스터/슬레이브 IDE 채널 신호를 지원하지 않는 일부 오래된 드라이브에만 필요합니다.
케이블 선택: 일부 구성에서는 특수 케이블을 사용하여 어떤 드라이브가 마스터이고 어떤 드라이브가 슬레이브인지 결정하며, 이 시스템을 사용하면 일반적으로 케이블 선택 점퍼가 활성화됩니다.
크기 제한 점퍼: 일부 대형 하드 디스크 드라이브는 BIOS 프로그램이나 대형 하드 디스크 지원이 인식하지 못하는 오래된 컴퓨터에서는 제대로 작동하지 않습니다. 이를 해결하기 위해 일부 드라이브에는 특수 점퍼가 있는데, 이 점퍼를 설정하면 호환성을 위해 BIOS에 실제 크기보다 작게 표시됩니다.
예를 들어, 일부 2.5GB 하드 디스크에는 2.1GB 이상을 지원하지 않는 시스템에 2.1GB 하드 디스크로 나타나게 하는 점퍼가 있습니다. 이를 용량 제한 점퍼라고도 하며 제조업체마다 다릅니다.
Seagate Technology 하드 디스크 모델의 점퍼 설정 예
SCSI 하드 디스크는 IDE/ATA 하드 디스크보다 더 정교한 컨트롤러를 가지고 있으므로 SCSI는 일반적으로 작동을 제어하기 위해 설정할 수 있는 점퍼가 훨씬 더 많습니다. 또한 제조업체와 모델마다 점퍼의 수와 유형이 훨씬 더 다양합니다.
일반적으로 가장 흔하고 중요한 SCSI 드라이브 점퍼는 다음과 같습니다.
SCSI 장치 ID: SCSI 버스의 모든 장치는 주소 지정 목적으로 고유하게 식별되어야 합니다. Narrows SCSI 드라이브에는 디스크에 0~7의 ID 번호를 할당하는 데 사용할 수 있는 3개의 점퍼 세트가 있습니다. Wide SCSI 드라이브에는 0~15의 ID 번호를 활성화하는 4개의 점퍼가 있습니다. 일부 시스템은 SCSI 장치 ID를 구성하는 데 점퍼를 사용하지 않습니다.
SCSI 드라이브 점퍼
종료 활성화: SCSI 버스의 끝에 있는 장치는 버스를 종료해야 제대로 작동합니다. 하드 디스크가 버스 끝에 있는 경우 이 점퍼를 설정하면 제대로 작동하도록 버스를 종료합니다. 모든 드라이브가 종료를 지원하는 것은 아닙니다.
자동 시작 비활성화: 이 점퍼가 있는 경우 전원이 공급될 때 드라이브가 자동으로 회전하지 않고 SCSI 버스를 통해 시작 명령을 기다리도록 합니다. 이는 일반적으로 전원 공급 장치에 과도한 시작 부하가 걸리는 것을 방지하기 위해 수행됩니다. 일부 제조업체는 이 점퍼의 의미를 반대로 합니다. 기본적으로 시작을 비활성화하고 자동 시작 활성화 점퍼를 제공합니다.
자동 시작 지연: 이 점퍼는 드라이브가 자동으로 시작되도록 하지만 전원이 공급된 후 미리 정의된 초 동안 기다리도록 합니다. 또한 여러 드라이브가 있는 시스템에서 모터 시동 부하를 상쇄하는 데 사용됩니다.
스태거 스핀: 하드 드라이브가 많은 시스템에서 각 장치에 이 옵션을 설정하면 드라이브는 사용자가 정의한 상수에 SCSI 장치 ID를 곱하여 시작 시간을 스태거합니다. 이렇게 하면 동일한 SCSI 채널에 있는 두 개의 드라이브가 동시에 시작되지 않습니다.
좁음 또는 넓음: 일부 드라이브에는 좁음 또는 넓음 모드에서 작동할지를 제어하는 점퍼가 있습니다.
Force SE: Ultra2, Wide Ultra2, Ultra160, Ultra160+ 또는 기타 LVD SCSI 드라이브가 LVD(저전압 차동) 대신 싱글 엔드(SE) 작동을 사용하도록 강제할 수 있습니다.
패리티 비활성화: 해당 기능을 지원하지 않는 호스트 어댑터와의 호환성을 위해 SCSI 버스에서 패리티 검사를 끕니다.
이것이 전부는 아닙니다. 많은 SCSI 드라이브에는 더 많은 점퍼를 통해 활성화되는 몇 가지 추가 특수 기능이 있습니다. 일부 드라이브는 점퍼 중 일부를 SCSI 인터페이스를 통해 전송되는 소프트웨어 명령으로 대체했습니다.
로직 보드
최신 하드 디스크 드라이브는 많은 기능과 더 빠른 속도로 출시되었으며 개발은 여전히 진행 중입니다. 이러한 모든 기능을 제어하고 디스크의 고성능 기능을 예상되는 고급 방식으로 제공하기 위해 모든 최신 하드 디스크는 하드 디스크 장치에 통합된 지능형 회로 기판으로 제작됩니다. 이 회로 기판을 하드 디스크 로직 보드라고 합니다. 로직 보드는 다음과 같은 중요한 구성 요소를 사용하여 하드 디스크에 다양한 기능과 특징을 제공합니다.
- 제어 회로
- 감지, 증폭 및 변환 회로
- 인터페이스 하드웨어
- 펌웨어
- 다중 명령 제어 및 재정렬
오늘날 PC 하드 디스크에 가장 널리 쓰이는 두 가지 인터페이스인 IDE(Integrated Drive Electronics)와 SCSI(Small Computer Systems Interface)는 모두 통합 컨트롤러를 사용합니다 . IDE 인터페이스의 더 정확한 이름은 AT Attachment 또는 ATA(Advanced Technology Attachment)입니다. 최신 하드 디스크는 1980년대 중반의 전체 PC보다 더 많은 메모리와 더 빠른 내부 프로세서를 포함하는 매우 정교한 로직 보드를 가지고 있습니다.
로직 보드는 이전보다 몇 가지 중요한 기능을 수행합니다. 따라서 로직 회로는 지오메트리 변환, 고급 신뢰성 기능, 더 복잡한 헤드 기술, 더 빠른 인터페이스, 디스크 자체에서 스트리밍되는 더 높은 대역폭의 데이터와 같은 변경 사항을 처리하기 위해 더 강력해야 합니다.
하드 디스크의 내부 로직 보드에는 마이크로프로세서와 내부 메모리, 그리고 드라이브 내부에서 일어나는 일을 제어하는 다른 구조와 회로가 들어 있습니다. 드라이브 제어 회로의 가장 중요한 기능 중 일부는 다음과 같습니다.
- 스핀들 모터를 제어하고 스핀들이 올바른 속도로 작동하는지 확인합니다.
- 다양한 트랙에 대한 액추에이터의 움직임을 제어합니다.
- 모든 읽기 및 쓰기 작업을 관리합니다.
- 전원 관리 기능을 구현합니다.
- 기하학적 변환 처리.
- 내부 캐시 및 사전 페치와 같은 최적화 기능을 관리합니다.
- 이 섹션에 언급된 다른 기능, 예를 들어 하드 디스크 인터페이스를 통한 정보 흐름, 여러 요청 최적화, 읽기/쓰기 헤드가 필요로 하는 형식으로 데이터를 변환하는 기능 등을 조정하고 통합합니다.
- 모든 고급 성능 및 안정성 기능을 구현합니다.
현대의 하드 디스크에는 내부 마이크로프로세서가 있으며, 대부분에는 이를 실행하는 내부 소프트웨어도 있습니다. 이러한 루틴은 제어 로직을 실행하고 드라이브를 작동시킵니다. 사실, 이는 전통적인 의미에서 소프트웨어가 아닙니다. 이러한 명령어는 읽기 전용 메모리에 내장되어 있기 때문입니다. 이 코드는 ROM에 내장된 저수준 하드웨어 기반 제어 루틴인 시스템 BIOS와 유사합니다. 일반적으로 펌웨어라고 합니다.
이것이 펌웨어를 때때로 하드웨어와 소프트웨어의 중간 고리라고 부르는 이유입니다. 많은 드라이브에서 펌웨어는 소프트웨어 제어 하에 업데이트될 수 있습니다.
캐시 및 캐시 회로
하드 디스크의 통합 캐시(버퍼라고도 함)의 기능은 비교적 빠른 장치와 비교적 느린 장치 사이의 버퍼 역할을 하는 것입니다. 하드 디스크의 경우 캐시는 디스크에서 최근 읽은 결과를 보관하고, 가까운 미래에 요청될 가능성이 있는 정보(예: 방금 요청한 섹터 바로 뒤의 섹터)를 미리 가져오는 데 사용됩니다.
따라서 이 캐시의 목적은 PC에서 사용되는 다른 캐시와 다르지 않지만, 일반적으로 일반 PC 캐시 계층의 일부로 간주되지는 않습니다. 누군가가 디스크 캐시에 대해 일반적으로 말할 때, 그들은 일반적으로 하드 디스크 내부의 이 작은 메모리 영역을 말하는 것이 아니라 디스크 시스템에 대한 버퍼 액세스를 위해 따로 둔 시스템 메모리 캐시를 말한다는 점을 항상 명심해야 합니다.
캐시를 사용하면 반복적인 읽기에서 디스크에 대한 물리적 액세스 횟수를 줄이고 버스가 바쁠 때 데이터가 디스크에서 중단 없이 스트리밍될 수 있으므로 모든 하드 디스크의 성능이 향상됩니다. 대부분의 최신 하드 디스크는 512KB에서 2MB 사이의 내부 캐시 메모리를 가지고 있으며 일부 고성능 SCSI 드라이브는 최대 16MB까지 가지고 있습니다.
하드 디스크의 캐시는 하드 디스크와 하드 디스크 인터페이스의 속도 차이가 크기 때문에 중요합니다. 하드 디스크에서 데이터를 찾는 데는 무작위 위치가 필요하며 하드 디스크 액추에이터가 움직이고 디스크가 스핀들에서 회전하면서 밀리초의 페널티가 발생합니다. 그래서 하드 디스크에는 내부 버퍼가 있습니다.
단순 캐시의 작동 원리는 간단합니다. 하드 디스크에서 데이터를 읽는 것은 일반적으로 한 번에 512바이트 섹터 하나만이 아니라 다양한 크기의 블록으로 수행됩니다. 캐시는 세그먼트 또는 조각으로 나뉘며 각각은 데이터 블록 하나를 포함할 수 있습니다.
하드 디스크에서 데이터를 요청하면 캐시 회로망을 먼저 쿼리하여 캐시의 세그먼트에 데이터가 있는지 확인합니다. 데이터가 있으면 하드 디스크 플래터에 액세스할 필요 없이 로직 보드에 제공합니다. 데이터가 캐시에 없으면 하드 디스크에서 읽어 컨트롤러에 제공한 다음 다시 요청될 경우 캐시에 넣습니다.
캐시의 크기가 제한되어 있기 때문에 세그먼트를 재활용하기 전에 보관할 수 있는 데이터 조각이 제한되어 있습니다. 일반적으로 가장 오래된 데이터가 가장 최신 데이터로 대체됩니다. 이를 순환, 선입 선출(FIFO) 또는 랩 어라운드 캐싱이라고 합니다.
성능을 개선하기 위해 오늘날 대부분의 하드 디스크 제조업체는 특히 하이엔드 SCSI 드라이브에서 캐시 관리 회로에 대한 개선 사항을 구현했습니다.
적응형 세분화: 기존 캐시는 여러 개의 동일한 크기의 세그먼트로 잘립니다. 다양한 크기의 데이터 블록에 대한 요청이 가능하기 때문에 일부 세그먼트의 캐시 저장 공간이 남아 낭비될 수 있습니다. 많은 최신 드라이브는 각 액세스에 필요한 공간에 따라 세그먼트 크기를 동적으로 조정하여 더 큰 활용도를 보장합니다. 또한 세그먼트 수를 변경할 수도 있습니다. 이는 고정 크기 세그먼트보다 처리하기 복잡하며 공간이 제대로 관리되지 않으면 자체적으로 낭비될 수 있습니다.
사전 페치: 드라이브의 액세스 및 사용 패턴을 분석한 드라이브의 캐시 로직은 아직 요청되지 않았지만 곧 요청될 것으로 예상되는 캐시 데이터의 일부를 로드하려고 시도합니다. 일반적으로 이는 통계적으로 다음에 요청될 가능성이 더 높기 때문에 디스크에서 방금 읽은 것 이상의 추가 데이터를 로드하는 것을 의미합니다. 올바르게 수행하면 성능이 어느 정도 향상됩니다.
사용자 제어: 하이엔드 드라이브는 사용자가 드라이브 캐시의 작동을 세부적으로 제어할 수 있는 명령 세트를 구현했습니다. 여기에는 사용자가 캐싱을 활성화 또는 비활성화하고, 세그먼트 크기를 설정하고, 적응형 세그먼테이션과 사전 페치를 켜거나 끄는 것이 포함됩니다.
내부 버퍼는 분명히 성능을 향상시키지만 한계도 있습니다. 디스크의 여러 부분에서 데이터에 대한 임의 액세스를 많이 하는 경우 별로 도움이 되지 않습니다. 디스크가 최근에 데이터를 로드하지 않았다면 캐시에 없을 것이기 때문입니다.
버퍼는 디스크에서 많은 양의 데이터를 읽는 경우에도 별로 도움이 되지 않습니다. 일반적으로 50MB 파일을 복사하는 경우 버퍼가 매우 작기 때문입니다. 예를 들어, 512바이트 버퍼가 있는 일반적인 디스크에서는 파일의 매우 작은 부분만 버퍼에 있을 수 있고 나머지는 디스크 자체에서 읽어야 합니다.
이러한 제한으로 인해 캐시는 여러분이 생각하는 것만큼 전체 시스템 성능에 큰 영향을 미치지 않습니다. 얼마나 도움이 되는지 어느 정도는 크기에 따라 달라지지만 적어도 회로의 지능에 따라 달라집니다. 하드 디스크의 전반적인 논리와 마찬가지입니다. 그리고 전반적인 논리와 마찬가지로 많은 경우 주어진 드라이브의 캐시 논리가 정확히 어떤지 판단하기 어렵습니다. 그러나 디스크의 캐시 크기는 시스템 성능을 개선하는 데 전반적인 영향을 미치는 데 중요합니다.
하드 디스크에서 읽기를 캐싱하고 하드 디스크에 쓰기를 캐싱하는 것은 어떤 면에서는 비슷하지만 다른 면에서는 매우 다릅니다. 빠른 컴퓨터를 하드 디스크의 느린 메커니즘에서 분리하는 전반적인 목적은 동일합니다. 주요 차이점은 쓰기는 하드 디스크를 변경하는 반면 읽기는 변경하지 않는다는 것입니다.
쓰기 캐싱이 없으면 하드 디스크에 쓸 때마다 시스템이 하드 디스크가 하드 디스크의 올바른 위치에 액세스하여 데이터를 쓸 때까지 기다리는 동안 성능에 영향을 미칩니다. 이는 대부분 드라이브에서 최소 10밀리초가 걸리며, 컴퓨터 세계에서는 오랜 시간이며 시스템이 하드 디스크를 기다리면서 성능이 실제로 저하됩니다. 이러한 작동 모드를 쓰기-스루 캐싱이라고 합니다.
쓰기 캐싱이 활성화되고 시스템이 하드 디스크에 쓰기를 보내면 논리 회로는 훨씬 빠른 캐시에 쓰기를 기록한 다음 즉시 운영 체제에 프로세스 완료에 대한 확인을 다시 보냅니다. 그러면 나머지 시스템은 액추에이터가 위치 지정되고 디스크가 회전하는 등의 작업을 기다리지 않고도 작업을 계속 진행할 수 있습니다. 이를 쓰기 백 캐싱이라고 하는데, 데이터가 캐시에 저장되고 나중에 플래터에만 다시 쓰기 때문입니다. 물론 쓰기 백 기능은 성능을 향상시킵니다.
캐시 메모리는 휘발성이기 때문에 전원이 꺼지면 내용이 손실됩니다. 캐시에 보류 중인 쓰기가 있고 아직 디스크에 기록되지 않은 경우, 이는 영원히 사라지고 나머지 시스템은 하드 디스크에서 완료로 알려지기 때문에 이를 알 방법이 없습니다. 따라서 일부 데이터가 손실될 뿐만 아니라 시스템은 어떤 데이터인지, 심지어 무슨 일이 일어났는지조차 알지 못합니다. 최종 결과는 파일 일관성 문제, 운영 체제 손상 등이 될 수 있습니다. 이러한 위험으로 인해 어떤 상황에서는 쓰기 캐싱이 전혀 사용되지 않습니다.
이는 특히 높은 데이터 무결성이 중요한 애플리케이션에 해당합니다. 그러나 쓰기 캐싱이 제공하는 성능 향상으로 인해 위험에도 불구하고 점점 더 많이 사용되고 있으며 추가 기술을 사용하여 위험이 완화되고 있습니다.
가장 일반적인 기술은 단순히 전원이 꺼지지 않도록 하는 것입니다. 마음의 평화를 위해 쓰기 캐싱을 사용하는 더 나은 드라이브에는 쓰기 플러시 기능이 있어 드라이브에 캐시에 보류 중인 쓰기를 즉시 디스크에 쓰도록 지시합니다. 이것은 일반적으로 시스템에서 전원 중단을 감지한 경우 UPS 배터리가 소진되기 전에 전송되거나 다른 이유로 시스템을 종료하기 직전에 전송되는 명령입니다.
저수준 하드 디스크 지오메트리
저수준 하드 디스크 지오메트리라고 할 때, 우리는 디스크의 물리적 회로를 아는 데 크게 관심이 없습니다. 여기서 우리는 위의 디스크 문제 해결 및 데이터 복구 프로그래밍을 이해하기 위해 지금 다룰 용어에 대해 논의할 것입니다.
저수준 하드 디스크 구조는 일반적으로 다음 용어와 관련이 있습니다.
- 길
- 실린더
- 부문
- 머리 또는 측면
저수준 하드 디스크 지오메트리
하드 디스크의 플래터에는 데이터를 기록하기 위한 두 면이 있습니다. 플래터의 모든 표면에는 보이지 않는 동심원이 있으며, 하드 디스크를 포맷하는 동안 표면에 자기 정보로 기록됩니다. 이러한 원을 트랙이라고 합니다. 하드 디스크에 저장된 모든 정보는 트랙에 기록됩니다. 트랙은 플래터 바깥쪽에서 시작하여 안으로 들어갈수록 증가하는 0부터 시작하여 번호가 매겨집니다.
최대 트랙과 실린더 수에 대해서는 다음 장에서 자세히 논의하겠습니다. 그러나 지금은 최대 실린더 수, 트랙, 헤드(측면) 및 섹터의 물리적 저수준 기하학에 대한 지식을 얻을 수 있습니다.
이름 |
시작하다 |
끝 한계 |
총 숫자 |
실린더 |
0 |
1023 |
1024 |
머리 |
0 |
255 |
256 |
분야 |
1 |
63 |
63 |
하드 디스크의 플래터 표면에서 데이터는 디스크의 내부에서 외부로 헤드를 이동하여 액세스합니다. 이러한 데이터 구성은 디스크의 어느 부분에나 쉽게 액세스할 수 있게 해주므로 디스크를 랜덤 액세스 저장 장치라고 합니다.
저수준 하드 디스크 지오메트리 트랙
각 트랙은 수천 바이트의 데이터를 저장할 수 있으며 일반적으로 이 저장 공간은 5000바이트 이상입니다. 따라서 트랙을 디스크의 가장 작은 저장 단위로 만들면 디스크 공간이 낭비될 것입니다. 이렇게 하면 5000바이트보다 작은 크기의 작은 파일이 공간을 낭비하게 되고 일반적으로 이 크기보다 훨씬 작은 여러 파일이 디스크에 있을 가능성이 매우 높습니다.
이런 식으로 트랙을 가장 작은 저장 단위로 만들면 작은 파일이 많은 공간을 낭비하게 됩니다. 따라서 각 트랙은 섹터라는 더 작은 단위로 나뉩니다. 각 섹터의 크기는 512바이트입니다 . 즉, 섹터는 512바이트 의 정보를 보관할 수 있습니다.
따라서 하드 디스크의 기본 데이터 저장 단위는 섹터입니다. 섹터라는 이름은 원의 파이 모양 각진 부분을 말하며, 두 변은 반지름으로, 세 번째 변은 원의 둘레로 경계지어집니다. 다음에 주어진 트랙에서 섹터를 나타내는 논리적 도형을 볼 수 있습니다.
따라서 동심원형 트랙이 포함된 하드 디스크에서 그 모양은 가로채는 플래터 표면의 각 트랙의 섹터를 정의합니다. 이것을 하드 디스크 세계에서 섹터라고 하는데, 트랙 길이를 따라 있는 작은 세그먼트입니다.
표준에 따르면 하드 디스크의 각 섹터는 512바이트의 사용자 데이터를 저장할 수 있습니다. 그러나 실제로 섹터는 512바이트보다 훨씬 더 많은 정보를 보유합니다. 드라이브를 관리하고, 데이터를 찾고, 다른 지원 기능을 수행하는 데 필요한 제어 구조 및 기타 정보에 대한 추가 바이트가 필요합니다.
섹터가 어떻게 구조화되는지에 대한 정확한 세부 사항은 드라이브 모델과 제조업체에 따라 다릅니다. 그러나 섹터의 내용에는 일반적으로 다음과 같은 일반 요소가 포함됩니다.
ID 정보: 관례적으로 각 섹터에 공간을 남겨 섹터 번호와 위치를 식별합니다. 이는 디스크에서 섹터를 찾는 데 사용되며 이 영역의 섹터에 대한 상태 정보도 포함합니다. 예를 들어, 비트는 일반적으로 섹터가 결함이 있는 것으로 표시되고 다시 매핑되었는지 여부를 나타내는 데 사용됩니다.
동기화 필드: 드라이브 컨트롤러가 읽기 프로세스를 안내하기 위해 내부적으로 사용합니다.
데이터: 해당 분야의 실제 데이터입니다.
오류 정정 코드(ECC): 오류 정정 코드는 데이터 무결성을 보장하는 데 사용됩니다.
갭: 갭은 기본적으로 섹터의 다른 영역을 분리하거나 컨트롤러가 더 많은 비트를 읽기 전에 읽은 내용을 처리할 수 있는 시간을 제공하기 위해 필요에 따라 추가된 하나 이상의 스페이서입니다.
설명된 항목을 포함하는 각 섹터 외에도 각 트랙의 공간은 서보 정보에 사용됩니다. 오버헤드 항목에 대해 각 섹터가 차지하는 공간의 양은 중요합니다. 이 관리에 사용되는 비트가 많을수록 데이터에 사용할 수 있는 전체 비트가 줄어들기 때문입니다.
이것이 하드 디스크 제조업체가 디스크에 저장해야 하는 비사용자 데이터 정보의 양을 줄이려고 노력하는 이유입니다. 이전에 설명한 다른 것과 달리 각 디스크에서 데이터에 사용되는 비트의 백분율을 포맷 효율성이라고 합니다. 따라서 더 높은 포맷 효율성은 드라이브의 예상되는 특징입니다.
최근 더 높은 포맷 효율성을 얻기 위한 최신 방식에서는 섹터 포맷에서 ID 필드를 제거하고 섹터 헤더 내의 각 섹터에 레이블을 지정하는 대신 포맷 맵을 메모리에 저장하여 섹터를 찾아야 할 때 참조합니다.
이 지도에는 불량으로 표시되고 서보 정보의 위치와 관련된 섹터의 위치 등에 대한 정보가 포함되어 있습니다. 이 접근 방식은 각 플래터 표면에 최대 10% 더 많은 데이터를 저장할 수 있도록 포맷 효율성을 개선할 뿐만 아니라 성능도 개선합니다. 이 중요한 위치 정보는 고속 메모리에 존재하므로 훨씬 더 빠르게 액세스할 수 있습니다.
하드디스크 hd hdd 드라이브 물리적 회로 구조
하드 디스크의 각 플래터는 두 개의 헤드(일부 특수한 경우 제외)를 사용하여 데이터를 기록하고 읽습니다. 하나는 플래터 상단용이고 다른 하나는 하단용입니다. 플래터에 액세스하는 헤드는 헤드 암 어셈블리에 함께 잠겨 있으므로 모든 헤드가 함께 들어가고 나오므로 각 헤드는 항상 물리적으로 동일한 트랙 번호에 위치합니다.
이것이 트랙 0에 헤드 하나를 두고 트랙 1,000에 다른 헤드를 둘 수 없는 이유입니다. 이러한 배열 때문에 종종 헤드의 트랙 위치를 트랙 번호가 아니라 실린더 번호라고 합니다.
실린더는 기본적으로 모든 헤드가 현재 위치한 모든 트랙의 집합입니다. 디스크에 플래터가 4개 있는 경우 일반적으로 헤드가 8개 있습니다. 이제 실린더 번호가 720이라고 가정해 보겠습니다.
하드 디스크 드라이브 실린더 물리적 회로 기하 구조
이는 플래터 표면당 하나씩, 트랙 번호가 720인 8개의 트랙 세트로 구성됩니다. 이 이름은 이러한 트랙이 공간상에서 서로 위에 쌓인 동일한 크기의 원이기 때문에 골격 원통을 형성한다는 사실에서 유래되었습니다(이전 그림 참조).
디스크의 요소를 주소 지정하는 것은 전통적으로 실린더, 헤드, 섹터(CHS)를 참조하여 이루어집니다.
서식 지정
모든 저장 매체는 사용하기 전에 포맷해야 합니다. 포맷에 사용되는 유틸리티는 하드 디스크에서 작동할 때와 플로피 디스크에서 작동할 때 다르게 작동합니다. 하드 디스크를 포맷하는 데는 다음 단계가 포함됩니다.
분할:
이 프로세스에서는 디스크를 여러 논리적 부분으로 나누어 다양한 하드 디스크 볼륨이나 드라이브 문자를 할당합니다.
하드 드라이브 파티셔닝은 하드 드라이브를 구성하는 데 사용할 수 있는 가장 효과적인 방법 중 하나입니다. 파티션은 디렉토리와 파일보다 더 일반적인 수준의 구성을 제공합니다. 또한 운영 체제와 애플리케이션에서 데이터를 분리하여 더 큰 보안을 제공합니다.
파티션을 사용하면 정기적으로 백업해야 하는 데이터 파일을 프로그램 및 운영 체제 파일에서 분리할 수 있습니다. 디스크에 두 개 이상의 운영 체제를 로드하려는 경우 하드 드라이브에 대한 파티션이 필수적입니다. 그렇지 않으면 대부분의 경우 데이터를 잃을 수 있습니다.
모든 하드 드라이브의 첫 번째 섹터에는 파티션 테이블이 들어 있습니다. 이 파티션 테이블은 4개의 파티션을 설명할 공간만 있습니다. 이를 기본 파티션이라고 합니다. 이러한 기본 파티션 중 하나는 추가 파티션 체인을 가리킬 수 있습니다. 이 체인의 각 파티션을 논리적 파티션이라고 합니다. 다음 장에서 논리적 접근 방식을 사용한 파티션 기본 사항을 자세히 설명합니다.
상위 수준 포맷팅:
파티션의 논리적 구조를 정의하고 디스크 시작 부분에 필요한 운영 체제 파일을 배치합니다. 이 단계는 또한 운영 체제 수준 명령입니다.
DOS의 FORMAT 명령인 FORMAT.COM은 하드 디스크에서 사용할 때와 플로피 디스크에서 사용할 때 다르게 동작합니다. 플로피 디스크는 단순하고 표준적인 지오메트리를 가지고 있으며 파티션을 나눌 수 없으므로 FORMAT 명령은 필요한 경우 플로피 디스크를 자동으로 저수준 및 고수준 포맷하도록 프로그래밍되어 있지만 하드 디스크의 경우 FORMAT은 고수준 포맷만 수행합니다.
저수준 포맷을 완료하면 트랙과 섹터가 있지만 아무것도 쓰여 있지 않은 디스크가 생깁니다. 고수준 포맷은 디스크에 파일 시스템 구조를 쓰는 과정으로, 디스크를 프로그램과 데이터를 저장하는 데 사용할 수 있게 해줍니다.
DOS를 사용하는 경우 FORMAT 명령(즉, FORMAT.COM)이 해당 작업을 수행하며 DOS 부트 레코드 파일 할당 테이블, 루트 디렉터리 등의 구조를 디스크에 씁니다. 하드 드라이브가 파티션된 후에 고급 포맷이 수행됩니다.
포맷된 저장 용량과 포맷되지 않은 저장 용량
하드 드라이브의 총 용량은 포맷된 용량인지, 포맷되지 않은 용량인지에 따라 달라집니다. 하드 드라이브의 일부 공간은 섹터의 시작과 끝을 나타내는 포맷 정보, ECC(오류 정정 코드) 및 기타 서비스 정보에 의해 사용됩니다. 이런 이유로 차이가 상당히 클 수 있습니다.
일반적으로 사용자가 로우 레벨로 포맷했던 기존 드라이브에서는 크기가 포맷되지 않은 용량 단위로 표시되곤 했습니다.
예를 들어, 1980년대 초반 IBM PC/XT에 사용된 최초의 드라이브인 Seagate ST-412를 살펴보겠습니다. 이 모델 번호의 "12"는 드라이브의 포맷되지 않은 용량인 12.76MB를 나타냅니다. 포맷된 디스크의 실제 용량은 10.65MB입니다.
일반적으로 하드 드라이브의 포맷되지 않은 용량은 포맷된 용량보다 19%(19퍼센트) 더 큽니다. 포맷되지 않은 드라이브는 사용할 수 없으므로, 중요한 것은 포맷된 용량뿐이며, 바로 이러한 이유로 최신 드라이브는 제조업체에서 항상 로우 레벨로 포맷합니다.
하드 디스크 용량은 다음의 네 가지 방법으로 표현할 수 있습니다.
- 수백만 바이트 단위의 포맷된 용량
- 포맷된 용량(메가바이트)
- 수백만 바이트 단위의 포맷되지 않은 용량
- 포맷되지 않은 용량(메가바이트)
이제 C–H–S = 1024*63*63(드라이브의 실린더 수 = 1024, 헤드 또는 측면 수 = 63, 트랙당 섹터 수 = 63)인 하드 드라이브가 있고 각 섹터가 512바이트라고 가정합니다. 디스크 크기를 계산하는 공식은 다음과 같습니다.
전체 디스크 크기(바이트) = (실린더) X (헤드) X (섹터) X (섹터당 바이트) |
이 공식에 따르면 이 하드 드라이브의 크기를 바이트 단위로 계산하면 다음과 같습니다.
= 1024 X 63 X 63 X 512
= 2080899072바이트
이제 내 디스크 크기를 수백만 바이트로 계산하면 대략 다음과 같습니다.
= 2080,899072
~ 2081만 바이트
전통적으로, 백만 바이트 단위의 크기는 M으로 표시됩니다. 따라서 내 디스크의 크기는 백만 바이트로 약 2081M입니다.
하지만 하드 드라이브의 용량을 메가바이트 단위로 지정하면 1985년쯤 되어서 1985메가라고 쓰여집니다.
따라서 디스크 용량을 수백만 바이트로 계산하는 일반 공식은 다음과 같습니다.
디스크 용량을 메가바이트 단위로 계산하는 일반 공식은 다음과 같습니다.