Ir ao conteúdo
  • Cadastre-se

Limites de Capacidade dos Discos Rígidos


     220.909 visualizações    Armazenamento    6 comentários
Limites de Capacidade dos Discos Rígidos

Limites de Hardware

Antigamente o PC endereçava cada setor no disco rígido através da sua localização física, isto é, para carregar (ou armazenar) um determinado setor o PC precisava informar à controladora do disco rígido qual lado, qual trilha e qual setor dentro desta trilha o programa queria carregar ou armazenar (algo como “controladora, por favor, manda para mim os 512 bytes de informação que estão armazenados no setor 5 da trilha 10 no lado 1, por favor?”. Este sistema é também conhecido como CHS (Cilindro, Cabeça e Setor, ou do inglês Cylinder, Head and Sector).

O problema é que os PCs tinham um limite máximo na quantidade de trilhas, cabeças e setores que eles poderiam acessar. Na verdade haviam dois limites. Um no BIOS do micro – que é um programa que está armazenado na memória ROM do micro e é responsável por ensinar ao processador como operar com periféricos básicos tais como unidade de disquete e disco rígido – e um outro limite na interface ATA, que é a interface usada para conectar o disco rígido ao micro (esta interface é também conhecida por outros nomes, como PATA, ATA paralela ou IDE).

Esses limites são mostrados na tabela abaixo.

  Cilindros Cabeças Setores Capacidade Máxima
BIOS 1.024 255 63 7,84 GB
ATA 65.536 16 255 127,5 GB
Disco Rígido 1.024 16 63 504 MB

Como você pode ver, o BIOS original usado no PC poderia acessar apenas 1.024 trilhas, 255 lados e 64 setores. Como explicamos anteriormente, se multiplicarmos esses três números obteremos o número total de setores no disco rígido, e multiplicando esse número por 512 teremos a capacidade máxima do disco rígido, em bytes. Desta forma, o BIOS original usado no PC poderia acessar discos rígidos com até 7,84 GB de capacidade. Lembre-se que quando o padrão IDE/ATA foi criado lá em 1986 as pessoas achavam que este limite era praticamente impossível de ser atingido, já que na época o disco rígido de maior capacidade tinha 40 MB. Este limite, também conhecido como limite dos 8 GB (por causa da definição errônea de gigabyte explicada anteriormente), pode ser resolvido com um upgrade de BIOS (clique aqui para aprender como fazer isto) e afeta os computadores fabricados até mais ou menos 1999. É importante saber que até mesmo com um upgrade de BIOS o MS-DOS até a versão 6.22 não reconhecia discos acima deste limite.

O Windows NT tem um limite onde ele não pode dar boot a partir da primeira partição se ela for maior do que 7,84 GB, mas esta é uma limitação do sistema operacional e não a limitação de hardware explicada acima. Nós explicaremos sobre este problema mais tarde.

Nós também temos os limites da interface ATA, mostrados na tabela acima, que é de 127,5 GB (ou 136 GB se você usar a definição equivocada de gigabyte). Este limite merece mais atenção e explicaremos mais sobre ele adiante.

Existe ainda outro limite que afeta os computadores fabricados por volta de 1995, que é o limite de 504 MB (ou 528 MB, se você usar a definição equivocada de megabyte). Este limite existiu porque o computador precisava respeitar ao mesmo tempo tanto os limites do BIOS quanto os limites da interface ATA. Por exemplo, apesar de o padrão ATA permitir endereçar até 65.536 trilhas, o BIOS não permitia, e portanto a capacidade de endereçamento do computador era limitada a 1.024 trilhas. A mesma coisa é válida para as cabeças e setores, como você pode ver na tabela. Mais uma vez a solução foi um upgrade de BIOS para permitir um novo modo introduzido na mesma época (e que é o padrão até hoje para os discos rígidos) chamado LBA (Endereçamento Lógico de Setores, ou em inglês Logic Block Addressing), que fez com que o computador endereçasse cada setor do disco sequencialmente em vez de usar sua localização física (isto é, CHS). Portanto atualmente em vez de ter que pedir pelo setor 5 da trilha 16 do lado 1, o micro precisa apenas pedir “oi, manda para mim o setor 1.186.612 por favor?”.

Como atualmente o modo LBA é usado, você poderia imaginar que não existe mais limite de hardware para a capacidade máxima dos discos rígidos. No entanto, a interface ATA usa uma variável de 28 bits para endereçar setores no modo LBA, criando um limite de 128 GB (2^28 x 512 bytes) – ou 137 GB caso você use a definição equivocada de gigabyte.

O padrão ATA-6 (também conhecido como ATA/100) aumentou o tamanho da variável de endereçamento do LBA para 48 bits, colocando o limite de capacidade para 128 PB (petabytes, um petabyte é 2^50, ou seja, 128 PB é igual a 131.072 TB) um limite que parece ser impossível de ser atingido (vamos ver daqui a 10 anos se esta afirmação ainda vai ser verdade). A propósito, este limite é também conhecido como limite dos 144 PB, se você usar a definição equivocada do petabyte.

Para resolver esta limitação de 128 GB, duas coisas são necessárias. Primeira, fazer um upgrade do BIOS da sua placa-mãe para a versão mais nova disponível (leia nosso tutorial sobre o assunto). Segundo, instalar a última versão do "service pack" disponível para o Windows NT, 2000 e XP para habilitar o suporte ao endereçamento LBA de 48 bits. O Windows 95 não suporta discos rígidos acima de 32 GB devido a uma limitação do sistema do próprio sistema e não tem nada a ver com o que estamos falando, e o Windows 98 não suporta discos rígidos com capacidade acima de 128 GB também devido a um problema do próprio sistema e dessa forma não existe uma solução para o limite de 128 GB nest caso específico.

  • Curtir 1

Artigos similares


Comentários de usuários

Respostas recomendadas

Algumas pessoas inclusive assumem erroneamente que o sistema operacional é o grande vilão deste problema, mas a verdade é que os fabricantes dos discos rígidos são os verdadeiros culpados, já que eles anunciam seus produtos com uma capacidade maior do que a sua capacidade real.

Li a explicação que coloca "a culpa" no sistema e, pesquisando, descobri que essa explicação parece ter bastante sentido.

De acordo com o sistema internacional de medidas, 1 GB (gigabyte) = 1 000 000 000 Bytes, ou seja, 10^9 e 1 GiB (gibibyte) = 1 073 741 824 Bytes, ou seja, 2^30.

Quem passou a usar o GB na base 2 foi o sistema, a indústria de hardware manteve-se coerente e continua usando a nomenclatura original.

Bom, resta saber qual das 2 explicações é a correta, alguém sabe?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Memórias são vendidas na "base 2", assim como os disquetes menores que 1MiB, e tem uma boa razão para isso, módulos de memória e clusters precisam ter o tamanho sendo uma potência de 2, usar a base 2 quando se fala em bytes acaba sendo mais prático, sempre da número redondo... Depois que resolveram misturar tudo e nasceu o infame disquete de 1.44MB e o SO comedor de bytes.

Link para o comentário
Compartilhar em outros sites

Li a explicação que coloca "a culpa" no sistema e, pesquisando, descobri que essa explicação parece ter bastante sentido.

De acordo com o sistema internacional de medidas, 1 GB (gigabyte) = 1 000 000 000 Bytes, ou seja, 10^9 e 1 GiB (gibibyte) = 1 073 741 824 Bytes, ou seja, 2^30.

Quem passou a usar o GB na base 2 foi o sistema, a indústria de hardware manteve-se coerente e continua usando a nomenclatura original.

Bom, resta saber qual das 2 explicações é a correta, alguém sabe?

O uso de prefixos K (que não é um prefixo SI, aliás, o prefixo SI é k), M e assemelhados é tão antigo que, no tempo em que começou, se falava K Words, não kiloBytes... e não tem muito a ver com o padrão SI, que nem existia naquela época. É apenas uma convenção.

A razão do uso desses métodos é óbvia: memórias principais, em máquinas de endereçamento binário (praticamente qualquer coisa que não seja um mainframe super-mega-arcaico da "Era UNIVAC") são mais eficientes quando vêm em potências de dois. No início, era costume escrever a capacidade inteira, mas parece (eu não vivi essa época, mas leia alguns PDFs antigos e você vai ver que estou certo) que, quando as capacidades ficaram maiores, o pessoal começou a abreviar... informalmente ou em propagandas, já que as especificações e programas não usavam isso. E abreviaram usando a convenção de que K, depois do número, queria dizer 1024 e, mais tarde, que M nas mesmas condições quer dizer 1048576.

Quando os prefixos SI se tornaram realmente oficiais, os valores de k, M e etc foram fixados em potências de dez. Na época, criou-se uma convenção especial dentro dos sistemas de medida e principalmente da mente dos engenheiros, programadores e usuários: "k quer dizer 1000, mas K com memórias quer dizer 1024." E por aí vai. Isso era normal, e não dava problema, mesmo porque os "usuários" eram programadores experientes, e essas convenções de qualquer modo eram apenas abreviações não-oficiais, que raras vezes saíam da sala de P&D e das revistas técnicas:)...

O mesmo se aplicou ao M e outros, a medida que essas formas foram sendo consideradas verdadeiras normas SI (o que não são). Foi nessa época que se criou as abreviações: KBytes, Kbits e etc, que parecem muito com o padrão SI, e até foram consideradas pelo pessoal do IEEE.

A indústria aberta dos discos rígidos surgiu depois dessas convenções: os primeiros eram parte integrante de uma máquina e não eram considerados em separado, na verdade. Discos rígidos também armazenavam dados, mas no caso da construção deles não há vantagem em se usar potências de dois. No caso do modelo de endereçamento atual, há uma pequena vantagem (que fica menor com os discos rígidos gigantes da atualidade), mas endereçamento de disco rígido é coisa mais ligada ao software, e vê a capacidade real de forma bem abstrata. Quem realmente gosta de binários no caso dos discos rígidos é o pessoal de SOs.

Nesses casos, a maioria escrevia a capacidade por extenso mesmo, mesmo porque esta não era uma potência de nenhum inteiro pequeno, na maior parte dos casos. Só ainda mais tarde, quando as capacidades se tornaram realmente grandes, se começou a arredondar esses valores... em potências de dez. Por quê? Bom, simplesmente porque a capacidade parecia maior. Isso não causava problema, porque todo mundo que lia documentações e propaganda sabia dessa prática, e os SOs rotulavam tudo usando o valor por extenso. Quando (muito mais tarde) os SOs resolveram rotular a coisa usando KBytes, eles usaram a convenção binária da indústria, que era melhor para eles. Apareceram usuário finais, e isso se tornou um problema.

A solução: simples, usar os novos prefixos Kibi, Mibi e por aí vai, que sempre representam potências de dois, e foram inventados para eliminar confusões. E, enquanto se faz isso, bem que se poderia liquidar de vez essa história de "KByte decimal" para discos rígidos e usar apenas os prefixos binários (Kibi, Mibi e etc.) quando o caso se referir a Bytes, seja de memios magnéticos, ópticos ou eletrônicos.

Link para o comentário
Compartilhar em outros sites



Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...