CPU는 실제로는 하드 드라이브와 직접 통신할 수 없는 것처럼 보일 수 있습니다. 이것은 HDD와 SSD의 경우입니다. 플로피 디스크가 더 이상 사용되지 않기 전에도 마찬가지였습니다. 사실, 하드 드라이브와 CPU 사이에는 두 가지 다른 변환 계층이 있습니다. 마더보드에는 호스트 컨트롤러 어댑터 세트가 있습니다.
이들은 각각의 데이터 전송 버스의 신호를 CPU가 이해할 수 있는 형식으로 디코딩합니다. 호스트 컨트롤러 어댑터는 또한 하드 드라이브에 대한 CPU의 명령을 인코딩합니다. 다른 쪽 끝에는 각 버스를 통해 전송될 하드 드라이브의 데이터를 인코딩하고 하드 드라이브가 이해할 수 있도록 버스의 데이터를 디코딩하는 하드 디스크 컨트롤러가 있습니다.
하드 디스크 컨트롤러는 무엇을 합니까?
역사적으로 하드 디스크 컨트롤러는 마더보드에 연결해야 하는 확장 카드의 형태를 취했습니다. 그러면 하드 디스크 자체를 마더보드의 커넥터가 아닌 확장 카드에 연결해야 합니다. 그러나 최신 드라이브에는 하드 디스크 컨트롤러가 드라이브 섀시에 완전히 통합되어 있습니다. 이것은 종종 하드 드라이브 아래의 회로 기판으로 볼 수 있습니다.
하드 디스크 컨트롤러의 기능은 동일하게 유지됩니다. 디스크 작업을 관리하기 위한 것이며 스토리지 알고리즘을 적용할 수 있습니다. 예를 들어, 초기 장치에서 Prism 저장 알고리즘과 같은 실행 길이 제한 알고리즘은 데이터가 기록될 때 압축하여 저장 밀도를 두 배로 늘릴 수 있습니다.
HDD에서 하드 디스크 컨트롤러는 읽기 헤드에서 읽고 쓰기 헤드에서 쓴 신호를 변환합니다. 플로피 디스크에는 별도의 플로피 디스크 컨트롤러가 있지만 동일한 일이 플로피 디스크에서도 발생합니다. SSD에서 하드 디스크 컨트롤러는 본질적으로 비기계적이며 시계와 동기화해야 하는 실제 플래시 메모리의 액세스 타이밍도 제어합니다.
하드 디스크 컨트롤러의 데이터는 주변 버스를 통해 호스트 컨트롤러 어댑터로 전송됩니다. 그런 다음 호스트 컨트롤러 어댑터는 신호를 CPU가 디코딩하고 결과를 메모리로 읽을 수 있도록 마더보드 버스에서 사용하는 형식으로 신호를 변환합니다.
일부 컴퓨터에는 하드 디스크 컨트롤러와 호스트 컨트롤러 어댑터 사이에 다른 컨트롤러가 있을 수 있습니다. 이들은 일반적으로 RAID 카드 또는 디스크 어레이 컨트롤러로 알려져 있습니다. 이를 통해 하드웨어 RAID 어레이를 구성할 수 있습니다. 경우에 따라 RAID 컨트롤러가 호스트 컨트롤러 어댑터에 통합될 수 있습니다.
결론
하드 디스크 컨트롤러를 사용하면 하드 드라이브가 해당 통신 버스(예: SATA)를 통해 통신할 수 있습니다. 마더보드는 이러한 신호를 CPU가 이해할 수 있는 형식으로 변환합니다. 역사적으로 하드 디스크 컨트롤러는 하드 드라이브가 연결된 확장 카드로 구현되었습니다.
그러나 최신 장치에서 하드 디스크 컨트롤러는 이제 실제 하드 드라이브에 통합되어 공간과 복잡성을 줄이고 필요한 확장 카드의 수를 줄입니다. 주제에 대해 어떻게 생각하십니까? 아래 의견에 귀하의 생각을 공유하십시오.