Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
25/12/1995

< EIDE e Fast >
< ATA VII: Gravando em Zonas >


Semana passada talvez vocês tenham estranhado a forma um tanto abrupta pela qual esta coluna foi encerrada. Coisas da vida. Mais especificamente coisas do jornalismo: a última frase, o fecho do comentário sobre a feira de informática de Ubá, não foi publicada. Para que tudo faça sentido, lá vai de novo o final da coluna: "Fica o registro não só para dar os parabéns a Ubá e ao Pedro Raimundo pelo evento, mas sobretudo como tema para reflexão: como fez bem a esse país libertar-se dos grilhões da reserva de mercado..."

Agora, ao trabalho. Nestes dias de discos a laser, procure por aí em seus guardados um daqueles antigos discos de vinil dos tempos dos Beatles em que Santos e Botafogo decidiam campeonatos. Olhe para ele: parece uma grande bolacha preta com um buraco no meio (original isso, não?). Em torno do buraco há uma área lisa onde nada foi gravado e por isso mesmo a gravadora inteligentemente aproveitou para colar o selo. Depois, um sulco, que começa em uma circunferência situada junto à borda externa cujo centro coincide com o do disco, e se estende em espiral desde aí até outra circunferência junto á área central ocupada pelo selo.

Pois bem: se você desmontar um disco rígido para ver como ele é por dentro (sugiro que não o faça, já que depois de aberto ele não servirá para mais nada além de mostrar como um disco rígido é por dentro) encontrará pelo menos um e provavelmente alguns discos metálicos bastante semelhantes ao velho disco de vinil. Cada um com um buraco no meio através do qual passa um eixo único que faz com que girem todos ao mesmo tempo. A diferença básica entre eles e o velho disco de vinil é que seus dados não são gravados em um sulco único, mas em circunferências concêntricas chamadas trilhas. Como em cada face o diâmetro da primeira trilha é o mesmo e a distância entre trilhas é rigorosamente igual, todas as trilhas correspondentes (por exemplo: a centésima trilha a contar da periferia de cada face) se situarão na superfície de um cilindro imaginário cujo eixo coincide com o eixo dos discos. O que justifica o fato de se usar o termo "cilindro" quando se pretende referir ao conjunto das trilhas correspondentes de um disco rígido. Outra diferença em relação ao velho disco de vinil é que não é possível virá-lo quando se quer acessar os dados que estão "do outro lado do disco". Por isso sobre cada face desliza uma cabeça eletromagnética de leitura/gravação. O que também justifica usar indiferentemente os termos "faces" e "cabeças" quando nos referimos a discos rígidos.

Tudo isso nada tem a ver com o padrão ATA: a disposição em uma pilha de discos que gira em torno de um eixo comum, a subdivisão em trilhas concêntricas e o uso de uma cabeça para cada face não mudaram desde os tempos dos velhos MFM, RLL e ESDI. Já a subdivisão das trilhas em setores...

Antes do padrão ATA, quando o sistema operacional pedia à interface para ler um setor de uma dada trilha de uma certa face, tanto o sistema quanto a interface tinham que falar a mesma linguagem. Ou seja: quando o sistema pedia, por exemplo, para ler o trigésimo setor da centésima trilha da quarta face, o mecanismo do disco movia todo o conjunto de cabeças magnéticas exatamente para o centésimo cilindro e acionava a quarta cabeça para localizar o trigésimo setor e ler os dados solicitados.

Tudo bem, a coisa funcionava. Mas um esquema assim, dependente tanto do hardware (disco e placa controladora) quanto do software (sistema operacional e BIOS), só pode dar certo se todas as trilhas tiverem o mesmo número de setores. Quer dizer: se a trilha zero (a mais externa de todas) tivesse, digamos, trinta setores, a trilha mais central teria que ter também os mesmos trinta setores. Não é preciso ser um gênio da geometria para descobrir que isso representa um imenso desperdício de espaço. Veja lá: se a tecnologia permite comprimir os dados de tal forma que os trinta setores caibam na trilha central, cuja circunferência é a menor de todas, o "comprimento" de cada um desses setores é igual a um trigésimo do comprimento da circunferência correspondente. Evidentemente, do ponto de vista da tecnologia de gravação magnética de dados, nada impede que um setor que esteja gravado na trilha mais externa tenha o mesmo comprimento. A questão é que como a trilha externa tem um diâmetro muito maior, nela cabem um número muito maior que trinta setores daquele mesmo comprimento. Quer dizer: mantendo-se os mesmos trinta setores na trilha externa desperdiça-se um bocado de espaço em disco.

Pois bem: como vimos semana passada, nos drives que usam o padrão ATA toda a eletrônica de controle está integrada ao próprio drive, o que permite que a interface receba do sistema operacional o comando para acessar um dado setor de uma certa trilha de uma determinada face e o "traduza" de forma a acessar um setor, trilha e face diferentes. Portanto, se o drive usa uma geometria interna na qual grava-se maior número de setores nas trilhas de maior diâmetro, o aproveitamento do espaço em disco é integral e o sistema operacional não se "atrapalha", já que na geometria "traduzida", ou seja, na que o drive "mostra" ao sistema operacional, todas as trilhas têm igual número de setores. Nos discos ATA modernos o número real de setores varia de 60 nas trilhas internas a 120 nas externas, enquanto tudo o que o sistema operacional "enxerga" é um disco no qual o número de setores é sempre igual em todas as trilhas. Um negócio muito bem bolado e que permitiu aumentar em cerca de 25% a capacidade dos discos rígidos.

Essa técnica chama-se "Multiple Zone Recording" (gravação em múltiplas zonas), ou MBR, pois subdivide o disco em diversas zonas concêntricas no interior das quais as trilhas têm o mesmo número de setores. Porém nas zonas mais externas, cujas trilhas são mais longas, o número de setores é maior que nas internas. Como uma face de um disco ATA moderno de 3,5" pode conter cerca de três mil trilhas, o sistema de tradução pode ficar diabolicamente complicado. Mas ninguém precisa se preocupar com isso. Na verdade, ninguém tem sequer que tomar conhecimento disso, já que todo o trabalho de tradução é feito pela própria interface embutida no drive. Para o BIOS, para o sistema operacional, para os programas e, sobretudo, para nós usuários, o disco é simples e singelo como sempre foi: um certo número de cilindros, um dado número de cabeças e um determinado número (constante) de setores. Mesmo que nada disso seja verdade.

PS: Hoje é Natal. Que seu dia seja cheio de paz, amor, tranqüilidade e saúde.

B. Piropo