HDD는 사용할 플래터/섹터를 어떻게 결정합니까? 드라이브 자체에 컨트롤러가 내장되어 있나요? 아니면 메인보드인가요? OS?
어떤 종류의 알고리즘이 이것을 선택합니까? 확실히 그것은 무작위일 수도 없고 연속적일 수도 없습니다.
마찬가지로 동일한 질문이 SSD에 어떻게 적용됩니까?
답변1
HDD는 사용할 플래터/섹터를 어떻게 결정합니까?
어떤 종류의 알고리즘이 이것을 선택합니까? 확실히 그것은 무작위일 수도 없고 연속적일 수도 없습니다.
이는 귀하가 찾을 가능성이 없는 독점 정보입니다. ㅏ "영업비밀" 또는 "비밀 소스"그렇다면...
"는 없다얕은" 무작위 또는 순차적이 아닌 이유는... 하지만 디스크 제조업체가 모든 플래터에 데이터를 배치하여 데이터 처리량을 최적화할 것이라고 생각합니다."깊은" 데이터를 현재 위치에 배치하는 이유(현대 하드 디스크는 무슨 일이 일어나고 있는지 대부분을 이해하는 데 필요한 엄청난 기술 지식으로 마법의 영역에 접근하고 있습니다.)
역사적으로 이는 개방적이고 잘 이해되었습니다(참조:CHS, 아래에).
드라이브 자체에 컨트롤러가 내장되어 있나요?
예. 최신 하드 디스크는SATA또는SAS호스트 시스템에 대한 인터페이스... 이 통신 링크는 마더보드와 하드 디스크의 온보드 컨트롤러 사이에서 실행됩니다.
이후 컨트롤러는 스핀들 속도, 헤드 위치, 읽기/쓰기 명령 간 처리, 읽기/쓰기 헤드와 주고받는 정확한 시간의 아날로그 신호 등을 관리하는 역할을 담당합니다.
아니면 메인보드인가요? OS?
역사적으로 하드 디스크는 매우 원시적인 장치로 제시되었습니다. 스테퍼 모터나 보이스 코일은 마더보드에서 직접 구동되어 헤드 위치를 관리했으며, 아날로그 신호는 마더보드로 전송되기 전에 대략적으로 정리되었습니다.
이것 좀 봐Fujitsu 337MB 8인치 하드 디스크 분해 영상피투성이의 세부 사항을 위해. 인터페이스 요약을 보려면 ~2:04로 건너뛰세요(저장 모듈 장치). 그럼에도 불구하고 보시다시피 인터페이스를 위한 상당한 지원 회로가 있습니다.
하드 디스크는 다음을 사용하여 주소가 지정되었습니다.CHS(실린더-헤드-섹터)그러나 최근에는 다음을 사용하여 해결됩니다.LBA(논리 블록 주소 지정).
나생각하다LBA가 도입되면서 자체 불량 섹터를 관리하는 디스크도 보이기 시작했습니다.여분의" 불량으로 감지된 공간입니다. 따라서 더 이상 헤드 위치, 사용되는 헤드, 액세스되는 섹터를 직접 제어할 수 없습니다.
디스크가 자체 불량 섹터를 관리하기 전에는 공장에서 파일 시스템을 생성하는 동안 시스템에 공급해야 했던 불량 섹터 목록이 포함된 레이블을 볼 수 있습니다. 또는 다음과 같은 도구를 사용할 수 있습니다.badblocks
문제를 스캔합니다. 예를 들어:
마찬가지로 동일한 질문이 SSD에 어떻게 적용됩니까?
SSD를 사용하면 전체 플래시 스토리지가 물리적 주소 공간에서 가상 주소 공간으로 매핑됩니다. 이는 다음을 허용합니다.웨어 레벨링없이 투명하게 시행어느호스트 시스템의 지식.
답변2
HDD가 어떤 플래터/섹터에 기록하는지 결정하는 요인은 무엇입니까?
제어되는 하드 드라이브에 포함된 개별 알고리즘과 지침에 따라 HDD로 전송되는 대부분의 데이터 위치가 결정됩니다.
회전하는 HDD를 사용하면 OS는 드라이브의 가능한 모든 주소에 액세스할 수 있으며 읽거나 쓸 특정 위치를 지정할 수 있습니다.
SSD를 사용하면 컨트롤러는 SSD가 제공하는 일부 고급 기능(예: 오버 프로비저닝, 불량 비트를 찾아서 표시하는 기능, 실제로 축소하지 않고 블랙리스트에 추가하는 기능, 캐싱 등)을 지원하기 위해 실제 주소를 가상화합니다. , 따라서 OS는 일반적으로 SSD의 실제 가능한 주소를 알지 못합니다.