Como as cabeças encontram os dados armazenados em uma unidade de disco rígido?

4

Ouvi dizer que, para ler ou gravar dados em uma unidade de disco rígido, precisamos do ID do cilindro e do ID do setor. Primeiro, mova as cabeças r / w do hdd para o cilindro especificado pelo ID do cilindro e, em seguida, para o setor especificado pelo ID do setor. Está correto?

Precisamos do id do prato e de qual das duas superfícies do prato? Ou equivalentemente, o id da trilha (já que temos o id do cilindro)?

Obrigado.

    
por Tim 05.10.2014 / 00:31

1 resposta

6

How do heads find the data stored on a hard disk drive?

Lendo (e comparando) as informações de endereço de cada setor conforme ele gira sob a cabeça.

Os detalhes (conforme executados pelo controlador de disco):

  1. O controlador de disco posiciona o conjunto da cabeça de R / W de sua posição atual para o cilindro solicitado.
    (O tempo para executar esta operação é chamado de tempo de busca .)

  2. O controlador de disco seleciona o cabeçote de leitura / gravação solicitado.
    (O tempo para executar esta operação é chamado de head settle e seleção de tempo .)

  3. O controlador de disco espera que o setor solicitado seja rotacionado para a posição.
    3a. Como cada setor é encontrado (por uma interrupção desencadeada por encontrar uma Address Mark na faixa), o Registro de identificação do setor é lido.
    3b. Se o registro de ID não corresponder ao cilindro ou à cabeça solicitados, ocorrerá um erro de busca ou controlador e será necessário executar um procedimento de erro. 3c. Se o registro de ID não corresponder ao setor solicitado, continue aguardando o próximo setor (ou seja, repita 3a).
    3d. Caso contrário, o setor solicitado foi encontrado, pois o registro de ID corresponde ao cilindro, à cabeça e ao setor solicitados (ou ao número do setor lógico ou ao LBA). (O tempo para executar esta operação é chamado de latência rotacional .)

Nota: Se a marca Índice for encontrada duas vezes (ou seja, mais de uma rotação completa), a faixa inteira será verificada e o setor solicitado não foi encontrado. Um procedimento de erro precisa ser executado.

I heard that to read or write data on a hard disk drive, we need the cylinder id and the sector id.

Você omitiu o número da cabeça (de leitura / gravação).

First move the hdd's r/w heads to the cylinder specified by the cylinder id, and then to the sector specified by the sector id. Is it correct?

Não é bem assim. A primeira parte é precisa, mas não a última.

Do we need the platter id, ...

Não realmente.

... and which of the two surfaces of the platter?

Há uma cabeça de leitura / gravação por superfície.
Então, especificar o número da cabeça seleciona uma superfície de um prato.

Or equivalently, the track id (since we have the cylinder id)?

No nível do controlador de disco, um "ID da faixa" geralmente não é usado. O número do cilindro e o número da cabeça são mais úteis.

Como o IBM PC BIOS original tinha interface direta com o controlador de disco (baseado em um chip Western Digital), o BIOS tinha que usar esse endereçamento de cilindro, cabeça, setor (também conhecido como CHS). Mas como o controlador de disco foi realocado do barramento ISA para o compartimento da unidade (estilo IDE), o conjunto de comandos ATAPI tornou o endereçamento CHS essencialmente obsoleto em favor do endereçamento do setor lógico.

Veja também Quando ocorre uma leitura de disco ou uma gravação em disco aonde vão os dados?

    
por 30.12.2014 / 09:24

Tags