Organização Física do HDD – CHS

Vamos ver agora como é que os bits são organizados no HDD, por forma a que a eles possamos ter acesso a qualquer momento. Embora com muitas diferenças, a filosofia que preside ao HDD, enquanto memória, é a mesma:

“Guardar informação  em endereços que lhes fiquem associados para que os possamos encontrar e utilizar”.

Comecemos por analisar como se constrói um endereço num HDD.

Figura 11-13 e 11-5 Representação de um prato de um disco dividido em pistas(à esquerda) e depois em setores(ao centro) e com setores criados por Bit Zoning(à direita).
Figura 1

CHS (Cilinder, Head, Sector)

Como já vimos, o HDD é constituído por pratos onde são guardados os campos magnéticos que representam os bits memorizados. Os pratos são divididos em pistas concêntricas. No caso do nosso exemplo em 12 pistas, como na figura 1 a) . Agora imaginemos que o prato é um bolo de aniversário e vamos cortá-lo em fatias. No caso do nosso exemplo, em 8 fatias iguais e radiais, como na figura 1 b). Ao pedaço de cada pista que fica em cada fatia dá-se o nome de

Setor

No nosso exemplo temos 8 setores por pista e 96 numa face do prato.

Se bem nos lembrarmos de como são constituídas as cabeças, compreendemos que quando se movimentam, fazem-no em conjunto através do atuador a que estão ligadas solidariamente. E fazem-no de tal forma que estão sempre todas alinhadas com a mesma pista em cada face dos pratos, como se pode ver na figura 2. Quando por exemplo a cabeça 1 está sobre a pista 4 da face superior do prato 1, as cabeças 2, 3, 4, 5, 6, 7 e 8 estão sobre as pistas 4 dos pratos 1 verso,  2, 2 verso, 3, 3 verso, 4 e 4 verso, respetivamente. E assim se deslocam entre todas as pistas.

Tendo isto por base, podemos desde já dizer que cada

Figura-11-14
Figura 2

Cabeça

define uma face de um prato. E, se imaginarmos o conjunto de pistas que estão em simultâneo a ser acedidas pelo conjunto de cabeças, reparamos que elas resultam da intersecção de um cilindro imaginário com todos os pratos do HDD. Surge assim o

Cilindro

como outro elemento identificador de um local num HDD.

Tendo em conta que os bits  a serem lidos de um HDD são sempre, no mínimo, no valor de um Setor, que tem normalmente 512 Bytes e sempre num valor múltiplo deste, temos já possibilidade de definir uma forma de endereçamento no HDD, que se denomina CHS (Cylinder, Head and Sector – Cilindro, Cabeça e Setor).  Através do CHS qualquer Setor do HDD é identificável.

É através do CHS que se definem as características de um HDD, mas neste caso o S não define o Setor mas sim o número de Setores por pista. Basta multiplicar o número de Cilindros, pelo número de Cabeças, pelo número de Setores por pista e por 512 Bytes, para termos a capacidade do disco.

Assim sendo o nosso HDD de brincar teria 12 Cilindros, 8 Cabeças e 8 Setores por pista, tendo a brilhante capacidade de 12 x 8 x 8 x 512 = 393.216 Bytes.

Que tal? Isto no tempo do Spectrum seria uma simples maravilha.

Vamos olhar com atenção para os setores do prato do gráfico da figura 1 b). Verificamos que a dimensão do setor aumenta do centro para a periferia. Isto significa que os nossos bits estão mais bem instalados nos setores exteriores. Os de dentro vivem num T1 e os de fora vivem num T4.

Pois é. Mas o nosso objetivo não é acomodar confortavelmente os bits, mas sim colocar no prato o maior número possível, respeitando os padrões de densidade que são possíveis.

Então vamos dividir o prato em zonas, e em cada uma das zonas vamos dividir o bolo em mais fatias por forma a que a dimensão dos setores seja mais idêntica. Chama-se a este prato um prato Bit Zoned, como se pode ver na figura 1 c) e este método é utilizado em todos os discos atuais.

Claro que o esquema do gráfico é um simples exemplo que pretende ser claro e legível. Na realidade o número de zonas é muito maior e o equilíbrio entre os setores também, por forma a que a densidade em todo o prato seja mais ou menos constante.

No nosso caso temos um prato com 3 zonas, em que:

  • a 1ª zona tem 4 pistas e 8 setores por pista,
  • a 2ª zona 4 pistas e 16 setores por pista e
  • a 3ª zona 4 pistas e 24 setores por pista.

Temos portanto uma densidade média de 16 setores por pista. Como veem duplicámos a capacidade do HDD, limitando-nos a aproveitar melhor o seu espaço. Agora temos um HDD com 786.432 Bytes. Xiii!

Mas a realidade da evolução das densidades de bits por polegada quadrada é diferente e a cada vez mais elaborada codificação, conduziu-nos no presente à vulgarização de discos de 1 ou 2 TB.

O CHS foi e é a forma de endereçamento de um HDD, mas agora só pela sua Placa Controladora, que conhece a sua Geometria.

Para falar com a Placa Controladora usa-se atualmente uma forma lógica de endereçamento, o LBA (Logical Block Addressing).

LBA no HDD

Pelo que foi afirmado atrás sobre LBA, já se percebeu que a relação atual com o HDD é estabelecida de uma forma lógica e só a Placa Controladora sabe traduzir esses locais na geometria CHS do HDD.

Ora aqui está algo que já não se consegue resolver só por hardware.

A comunicação entre a CPU e o Disco Rígido é suficientemente complicada para ter que ser gerida por software, concretamente pelo Sistema Operativo (SO). Para resolver o entendimento entre os humanos e o HDD, o SO criou uma abstração a que chamou Ficheiro.

Para nós, tudo o que está no HDD está sob a forma de ficheiros. Para o HDD, tudo o que lá está são campos magnéticos com Inversões e Não Inversões, guardados em Setores que contêm 512 bytes ou antes, 4.096 bits digitais.

O SO está no meio, informando o endereço dos dados em LBA. A Placa Controladora do HDD traduz esse endereço em CHS e procura pelo dado solicitado.

Para gerir os ficheiros, os SO têm os Sistemas de Ficheiros, de que vamos falar já de seguida e onde começaremos por mostrar a organização lógica dos dados no HDD.

Neste Capítulo vimos como é que o HDD arruma os dados nos seus pratos, como é que o SO lhe fornece um endereço LBA para os ir buscar e como é que o HDD os traduz na sua geometria CHS.

No Capítulo seguinte veremos como é que o SO arruma os 2 TB de informação por forma a conseguir rapidamente saber o endereço LBA de cada porção de dados que identifica como Ficheiro.