Limites de capacidade para os HDs

Ao longo da evolução dos micros PCs, existiram vários limites de capacidade dos HDs, causados por limitações nos endereços usados pelos BIOS e limitações por parte dos drivers e sistemas operacionais. Instalar um HD IDE de grande capacidade em um micro antigo pode ser bastante frustrante, com o BIOS da placa reconhecendo apenas os primeiros 504 MB ou os primeiros 7.88 GB do HD, e o sistema operacional se recusando a carregar depois de instalado.

Estas limitações surgiram devido à falta de visão por parte dos projetistas que desenvolveram o padrão IDE e as instruções INT 13h do BIOS, as responsáveis pelo acesso ao HD. Elas foram originalmente desenvolvidas para serem usadas pelo PC AT (baseado no 286), mas acabaram sendo perpetuadas até os dias de hoje. Naquela época, HDs com mais de 504 MB pareciam uma realidade muito distante.

No padrão IDE, são reservados 16 bits para o endereçamento dos cilindros, porém o BIOS só utiliza 10. O BIOS por sua vez reserva 8 bits para o endereçamento das cabeças de leitura, porém só pode utilizar 4 por limitações da interface. A capacidade de endereçamento então acaba sendo nivelada por baixo, combinando as limitações de ambos os padrões, permitindo endereçar discos de no máximo 504 MB, limite para a maioria dos micros 486 ou inferiores. Este método de endereçamento é chamado de Normal ou CHS (cilindro, cabeça de leitura e setor).

Na época do 286, onde eram usados HDs de no máximo 20 ou 40 MB, este limite não incomodava ninguém; mas a partir do momento em que passamos a ter HDs de 800 MB ou mais, alguma coisa precisava ser feita.

A primeira solução foi o Extended CHS ou modo Large. Este padrão continua com as mesmas limitações da interface IDE e do INT 13, mas usa um pequeno truque para burlar suas limitações.

O BIOS possui mais endereços para as cabeças de leitura (256 contra 16), porém a interface IDE possui mais endereços para os cilindros (65.536 contra 1024). Usando o modo Large passamos a utilizar um tradutor, um pequeno software integrado ao BIOS, que se encarrega de converter os endereços.

O modo Large nunca foi muito utilizado, pois logo depois surgiu uma solução bem melhor para o problema, conhecida como modo LBA, contração de “Logical Block Addressing” ou endereçamento lógico de blocos.

A idéia é a seguinte: o padrão IDE reserva 16 bits para o endereçamento do cilindro, 4 bits para o endereçamento da cabeça de leitura e mais 8 bits para o setor, totalizando 28 bits de endereçamento. O modo LBA abandona o endereçamento CHS, com endereços independentes para cilindros, cabeças e setores, passando a adotar um endereço único. Os setores passam então a receber endereços seqüenciais, 0, 1, 2, 3, 4 etc. assim como os clusters no sistema FAT. Os 28 bits de endereçamento permitem então 228 milhões de endereços, o que corresponde a HDs de até 128 GB (137 GB na notação decimal).

Claro que para usar o LBA é preciso que o disco rígido suporte este modo de endereçamento. Felizmente, praticamente todos os HDs acima de 504 MB e todos os HDs atuais suportam o LBA. Na verdade, o modo Large só deve ser usado nos raríssimos casos de HDs com mais de 504 MB, que por ventura não suportem o LBA.

Veja que para endereçar os 128 GB permitidos pelo LBA, é preciso abandonar o uso das instruções INT 13h, o que significa desenvolver novas instruções de acesso a disco para o BIOS. A primeira geração de placas-mãe a utilizar o modo LBA (fabricadas até 1999) ainda estavam presas às instruções INT 13h e por isso continuavam limitadas a HDs de 7.88 GB (8.4 GB decimais). Em muitas das placas fabricadas entre 1998 e 1999 é possível solucionar o problema através de um upgrade de BIOS. O maior problema no caso é encontrar os arquivos de atualização, já que os fabricantes não costumam dar suporte a placas tão antigas.

As placas fabricadas a partir daí incluem as “INT 13h Extensions”, ou seja, extensões para o conjunto original, que permitem bipassar as limitações e acessar HDs de até 128 GB, como previsto pelo padrão IDE.

Naturalmente, não demorou para que este limite também se tornasse um problema. A solução definitiva veio em 2001, juntamente com a introdução das interfaces ATA/100 (ATA-6), onde foi incluída uma extensão para os endereços disponíveis. Passaram a ser usados 48 bits para o endereçamento, no lugar dos 28 anteriores, resultando em uma capacidade de endereçamento 1.048.576 vezes maior. A extensão foi rapidamente adotada pelos fabricantes, de forma que praticamente todas as placas fabricadas a partir do final de 2001 já são capazes de endereçar HDs IDE de grande capacidade normalmente.

Mais uma limitação de capacidade, essa um pouco mais rara, é a limitação de 32 GB que atinge algumas placas-mãe com BIOS da Award, fabricadas entre 1998 e 1999. Essas placas possuem um bug na implementação do LBA, que limita os endereços a 65.535 cilindros, 16 cabeças e 63 setores, o que equivale a 31.5 GB (33.8 GB decimais).

Como essas placas bugadas representaram um volume considerável das placas vendidas durante este período, muitos HDs IDE suportam a opção “Cap Limit”, que é acionada ao colocar o jumper traseiro em uma posição especificada:

Ao ativar a opção, a placa lógica reporta ao BIOS que o HD tem apenas 31.5 GB. Você perde o acesso ao restante da capacidade do disco, mas pelo menos ele passa a ser acessado.

» Leia mais: As barreiras de 8GB e 128GB

Ver Mais

Esta postagem foi modificada pela última vez em 14/12/2008 09:54

Postagem relacionada