How does a HDD determine which platter/sector to use?
What kind of algorithm chooses this? Surely it can't be random nor can it be sequential.
Essas são informações proprietárias que você dificilmente encontrará. Um " segredo comercial " ou " molho secreto " se você quiser ...
Não existe um motivo " superficial " para não ser aleatório ou sequencial ... mas suspeito que os fabricantes de discos otimizam o rendimento de dados colocando dados em todos os discos. Provavelmente haverá uma razão " profunda " para colocar os dados onde eles estão (os discos rígidos modernos estão se aproximando dos domínios da magia, com enorme conhecimento técnico necessário para entender a maior parte do que está acontecendo). / p>
Historicamente, era aberto e bem compreendido (veja CHS , abaixo).
Is there a controller built into the drive itself?
Sim - um disco rígido moderno apresentará uma SATA ou SAS interface para a máquina host ... Esse link de comunicação é executado entre a placa-mãe e o controlador onboard do disco rígido.
O controlador é subsequentemente responsável por gerenciar a velocidade do spindle, a posição da cabeça, o processamento entre as instruções de leitura / gravação e os sinais analógicos com tempo exato para / dos cabeçotes de leitura / gravação, etc ...
Or is it the motherboard? The OS?
Historicamente, o disco rígido apresentado como um dispositivo muito bruto - um motor de passo ou bobina de voz foi acionado diretamente da placa-mãe para gerenciar as posições da cabeça, e os sinais analógicos foram grosseiramente limpos antes de serem transmitidos para a placa-mãe. >
Veja esta vídeo desmontagem de um disco rígido Fujitsu de 337 MB de 8 polegadas para os detalhes sangrentos. Pule para ~ 2: 04 para ver um pouco das interfaces ( Storage Module Device ). Mesmo assim, como você pode ver, há circuitos de suporte consideráveis para a interface.
Discos rígidos foram abordados usando o CHS (Cilindro - Cabeça - Setor) , mas mais recentemente eles são endereçada usando LBA (Endereçamento de blocos lógicos) .
Eu acho que com a introdução do LBA, também começamos a ver discos que gerenciavam seus próprios setores defeituosos - realocando-os em espaços " sobressalentes " quando foram detectados ser ruim. Portanto, não temos mais o controle direto de onde as cabeças estão posicionadas, de qual cabeça é usada e de qual setor é acessado.
Antes de os discos gerenciarem seus próprios setores defeituosos, você veria rótulos com uma lista de setores defeituosos da fábrica, que precisaria ser alimentado no sistema durante a criação do sistema de arquivos. Se preferir, use uma ferramenta como badblocks
para verificar problemas. Por exemplo:
Similarly,howdothesamequestionsapplytoanSSD?
ComumSSD,todooarmazenamentoflashémapeadodoespaçofísicoparaovirtual.Issopermiteque