top of page

Hardware - HDDs (PARTE 2)

  • Foto do escritor: Drano Rauteon
    Drano Rauteon
  • 1 de abr.
  • 21 min de leitura

Atualizado: 10 de abr.

Este artigo foi escrito a partir de trechos do livro "Hardware - O Guia Definitivo" publicado no antigo site hardware.com, do Carlos E. Morimoto, cujas páginas que o compunham foram alegremente recuperadas através do Waybach Machine. A intenção é utilizar estes antigos textos para criar algo atualizado, mas com uma certa nostalgia, e baseando-se numa fonte muito respeitada na primeira década deste século.


Caso queira ler ou reler o primeiro capítulo, CLIQUE AQUI!

Neste segundo capítulo, vamos desbravar a parte lógica dos HDDs, compreendendo o funcionamento desse sistema robotizado em sua totalidade.


"Dentro de um HDD há um computador"


Sim. Podemos até generalizar e dizer que o disco rígido é um robô, assim como o motor de combustão interna do seu automóvel. Essa afirmação é correta, pois não há um motor de combustão interna moderno e funcional sem um computador acoplado, da mesma forma que não há um sistema mecânico que grave dados em discos magnéticos sem um computador pilotando tudo.


Mas antes de prosseguir, precisamos conhecer um bocado da história...


Até meados da década de 1980, o controle do HDD era feito através de uma placa de expansão conectada em um slot ISA.

Imagem 1 - Um controlador de disco rígido MFM com interface ISA de 16 bits


CURIOSIDADE: Para saber mais sobre a interface ISA, CLIQUE AQUI! 


A ligação entre a placa controladora e o sistema mecânico do drive era feito por uma interface ST-506 (5 MB de capacidade) ou ST-412 (10 MB de capacidade), portando sempre dois cabos.

Imagem 2 - Uma unidade ST-506 aberta. Apresentada em 1980, foi a primeira unidade de armazenamento de 5 polegadas. Após formatação, tinha incríveis 5 MB de capacidade


Neste momento, a influência dos disquetes era grande, como podemos ver na tabela de pinos dos dois conectores:

Tabela 1 - A pinagem dos velhos drives ST-506


Esta interface traz, assim como no disquete, a possibilidade de conexão de dois drives no mesmo cabo (/DRV Select 0, /DRV Select 1 e /DRV SELECTED). Além do mais, os pinos RDATA (leitura), WGATE (escrita), /STEP (Passo do cabeçote), /DIRECTION IN (Direção do cabeçote), /TRACK0 (trilha zero) também remetem ao disquete.

A grande direrença está no segundo cabo, onde se encontram os pares diferenciais de leitura (MFM READ) e de escrita (MFM WRITE), já que no disquete há um pequeno circuito digital dentro do drive que faz a interface entre a placa-mãe e os cabeçotes. Ainda assim, um drive de disquete sozinho não serve pra nada, pois seu controlador está embutido no Super I/O da placa-mãe.


CURIOSIDADE: Para saber mais sobre o Supe I/O, CLIQUE AQUI!


Esse arranjo era muito ineficiente, pois a distância tornava a comunicação muito suscetível a interferências e corrupção de dados. Esses HDs possuíam várias peculiaridades com relação aos atuais, como a possibilidade de fazer uma "formatação física", onde as trilhas de dados eram realmente regravadas, o que permitia recuperar HDs com problemas de alinhamento - algo bastante comum nesta concepção.

Esses HDs jurássicos foram usados nos micros XT e 286 e sobreviveram até os primeiros micros 386, quando foram finalmente substituídos pelos HDs IDE. Tanto os ST-506 quanto os ST-412 usavam métodos de codificação MFM (Modified Frequency Modulation) e RLL (Run Length Limited). Havia também o agora há muito tempo esquecido concorrente de ponta do SCSI, o ESDI (Enhanced Small Disk Interface).

Em 1985 a Quantum lançou um produto bastante peculiar, o “Plus HardCard”, que era um HD RLL de 20 MB onde tanto o drive quanto a controladora eram integrados a uma única placa ISA, e o “HD” era instalado diretamente no slot, sem ocupar uma das baias do gabinete. Como você pode imaginar, estes HDs eram um tanto quanto problemáticos, pois a placa era presa por um único parafuso, o que causava problemas de vibração excessiva e barulho. Mesmo assim, o Plus HardCard foi um produto relativamente popular na época:

Imagem 3 - O Quantum Plus HardCard foi apenas um dos vários modelos disponíveis na época


De 1986 pra diante, vários concorrentes passaram a produzir equipamentos deste mesmo tipo e "HardCard" virou um designação genérica para esta modalidade de HDDs.


Ao contrário do que se pensa, HDDs ou disquetes não armazenam exatamente bits, mais sim transições de sinal que, quando recuperados, formam as sequências de bits de um arquivo.

O MFM, aplicado durante quase toda a existência dos drives de disquete, era relativamente simples de implementar e bastante robusto. A codificação RLL usava a mesma interface elétrica e cabos, mas um formato de dados diferente.


Tudo começou com a Frequência Modulada. O nome FM, vem do fato dos 1s terem o dobro da frequência (2 reversões), quando comparados com os 0s. Esta era a codificação utilizada nos antigos disquetes flexíveis (lá no princípio), bem como nos primeiros discos rígidos, sendo posteriormente substituída pela MFM (“Modified Frequency Modulation”) com a chega dos ST-406 e ST-412. A grande diferença da MFM é que nela não se usa mais a inserção da reversão de fluxo de clock no início de cada bit, mas somente entre 0s consecutivos (no caso de bits “1”, já havia a reversão do próprio bit):

Gráfico 1 - Como funcioan o MFM


Entretanto, um formato RLL comprime as informações mais firmemente no disco e aumenta a densidade de área efetiva em 50%.

Gráfico 2 - Note como o RLL 2,7 é mais eficiente


O desenvolvimento de cabeças de leitura e gravação mais eficientes possibilitou também o surgimento de esquemas de gravação mais sofisticados, como o RLL. Nele, os bits são considerados em grupos, e a especificação vem na forma de valores RLL (X,Y), no qual X é o comprimento da corrida (“run length”), também identificado como o menor valor entre 2 reversões, e Y é o limite de corrida (“run limit”), ou maior valor entre reversões.

Então, uma unidade MFM de 10 MB, se formatada com um controlador RLL, agora poderia armazenar 15 MB e pode ser até 50% mais rápida também. Quase todas as unidades MFM tinham 17 setores por trilha, mas as unidades RLL espremiam 26 ou até 32 setores em cada trilha. No entanto, o RLL exigia um mecanismo muito preciso.

Sempre há reversões de fluxo para dígitos 1, portanto, na codificação acima (2,7), há uma reversão para indicar o primeiro “1”, que se mantem igual (run limit = 7), até o próximo “1”. Depois disso se mantem igual por 2 dígitos 1 e reverte para o terceiro consecutivo (run length = 2). Além deste, o RLL 1,7 também foi comum no mercado.


As primeiras tentativas de aumentar a velocidade e a capacidade de armazenamento adicionando um controlador RLL de reposição a um sistema de acionamento MFM frequentemente resultavam em baixa confiabilidade. Isso deu ao RLL uma má reputação imerecida. Mais tarde, muitos fabricantes de acionamentos introduziram modelos certificados RLL, e estes eram tão confiáveis ​​quanto seus acionamentos MFM menores e mais baratos (O Miniscribe 8438 é um exemplo).

Tecnicamente, no entanto, não havia algo como uma 'unidade RLL'. O tipo de unidade (MFM ou RLL) era determinado unicamente pelo formato de baixo nível, e isso, por sua vez, dependia da placa controladora da unidade. Em teoria, qualquer unidade ST-506 (dois cabos) poderia ser formatada com um controlador MFM ou RLL. No entanto, poucas unidades antigas eram capazes de assumir um formato RLL de forma confiável.


No princípio dos HDDs, as cabeças de leitura varriam a superfície do disco detectando as mudanças de fluxo que, ao atingirem um determinado valor limite (“threshold”), disparavam a indicação de presença da reversão. Era exatamente como nos drives de disquete:

Gráfico 3 - Sim, o processo de leitura é analógico


Para permitir o aumento da densidade, uma nova técnica chamada de PRML foi desenvolvida, na qual algoritmos são usados para varrer os sinais de entrada conforme recebidos (“partial response”), e indicar a maior possibilidade vislumbrada (“maximum likelihood”):

Gráfico 4 - A leitura continua sendo analógica


Note que o PRML recupera os dados gravados através de uma onda analógica com uma taxa de amostragem que vai além da detecção de picos, e isso permite melhor detectar as mudanças de fluxo magnético.

Mesmo que a principio um software soe como algo bastante sujeito a erros, o PRML mostrou-se bastante confiável, tornando-se o padrão para a industria por muito tempo, sendo posteriormente substituído por uma evolução do mesmo, chamado de EPRML (“Extended Partial Response, Maximum Likelihood”). A ideia é melhorar a taxa de amostragem e aperfeiçoar a programação que monitora essa recuperação dos dados.


É o chip presente no braço de leitura / gravação que contém os filtros / amplificadores e o codificador / decodificador do sinal recuperado do disco:

Imagem 4 - Braço de leitura / gravação com um CoF. Se trata de um Western Digital Caviar WD800


Até o advento do método de codificação PRML em meados da década de 1990, todos os drives IDE e SCSI realmente usavam codificação RLL internamente (entre o braço de leitura e o chip controlador).


A placa que costumávamos chamar de "placa controladora", fazendo uma interface entre o sistema eletromecânico de armazenamento e o barramento do PC se tornou um computador 'autônomo' o suficiente e integrado para tornar o disco rígido um equipamento modular compatível com uma pluralidade de máquinas. Existindo uma interface IDE ou SATA, SCSI ou SAS, plugar um drive de armazenamento na placa-mãe é ainda mais simples que plugar um equipamento qualquer numa porta USB.


CURIOSIDADE: Recentemente, a Seagate demonstrou o funcionamento de um HDD que utiliza a interface PCIe com protocolo NVMe, tal como nos SSDs.

Complemento 1 - O NVMe pode fornecer uma taxa de transferência superior ao que o HDD precisa, eliminando os gargalos do SATA e SAS


Mas não é apenas a velocidade bruta o foco desta solução. A Seagate demonstrou em sua máquina para testes que o acesso direto entre GPU e drive (GPUDirect), possibilitado pelo NVMe, minimizou a latência em trabalhos com IA. Além disso, o NVMe-over-Fabric (NVMe-oF) possibilita integração contínua de diversos clusters para IA, facilitando imensamente o escalonamento da capacidade dos servidores.

Sendo uma alternativa mais barata que os SSDs, a possibilidade da Seagate fornecer no futuro HDDs NVMe para sistemas de IA com preços competititvos pode ser uma boa para empresas menores que necessitam da tecnologia, e sem sacrificar tanto o desempenho.

 

A placa controladora


A placa lógica, ou placa controladora, é a parte "pensante" do HD. É ela que faz a interface com a placa-mãe, controla a rotação do motor e o movimento das cabeças de leitura / gravação de forma que elas leiam os setores corretos, identifique erros (e se possível corrigi-los, usando os bits de ECC disponíveis em cada setor), atualiza e usa sempre que possível os dados armazenados no cache de disco (já que acessá-lo é muito mais rápido do que fazer uma leitura nas mídias magnéticas) e assim por diante.

Aqui temos a placa lógica do Toshiba MK5059GSX:

Imagem 5 - Apesar das diferenças entre marcas, a arquitetura é a mesma. A folha preta é um isolante elétrico / dissipador colocado entre a PCB e a carcaça de liga de Alumínio


Veja que a placa possui apenas três chips. O maior, no canto superior, é um:

Imagem 6 - Um processador Marvell 88i9017-TLA2, um SoC (System on Chip) com núcleos ARM


Para termos uma noção do interior do processador, observe este diagrama:

Diagrama 1 - Diagrama de blocos do chip Marvell 88i9422 Soleil. Veja que é um Dual Core ARM


Na sequência vem um Sunkyong Hynix. Você pode notar que ele é muito semelhante a um chip de memória, e na verdade é.

Imagem 7 - Um SK Hynix H5DU6462CTR-E3C, uma SDRAM com 64 MB


CURIOSIDADE: Caso queira saber mais sobre o funcionamento das memórias RAM, CLIQUE AQUI! e CLIQUE AQUI!


CURIOSIDADE: Caso queira saber detalhes sobre o H5DU6462CTR-E3C, abra o PDF abaixo:


Ele armazena o cache de disco, ou seja, é um buffer de memória. Até o início deste século, os HDs utilizavam chips de memória SRAM, mas os fabricantes passaram a aplicar, cada vez mais, chips de memória SDRAM convencional para reduzir o custo de produção. Na prática não muda muita coisa, pois apesar de mais lenta, a memória SDRAM oferece desempenho suficiente para a tarefa.


Assim como no caso dos processadores, o cache é um componente importante para o desempenho do drive, mas até certo ponto. Ele armazena os dados acessados, diminuindo bastante o número de leituras. Dados armazenados no cache podem ser transferidos quase que instantaneamente, usando toda a velocidade permitida pela interface SATA ou IDE, enquanto um acesso a dados gravados nos discos magnéticos demoraria muito mais tempo.

Embora não seja tão importante para o desempenho quanto geralmente se pensa, o buffer permite à controladora executar um conjunto de operações úteis para melhorar o desempenho.

Comumente, ao ler um arquivo, serão lidos vários setores sequênciais. A forma mais rápida de fazer isso é, naturalmente, permitir que a cabeça de leitura leia de uma vez todos os setores da trilha, passe para a trilha seguinte, passe para a terceira e assim por diante. Isso permite obter o melhor desempenho possível.

O problema é que na prática não é assim que funciona. O sistema pede o primeiro setor do arquivo e só solicita o próximo depois de recebê-lo e certificar-se de que não existem erros.

Se não houvesse nenhum tipo de buffer, a cabeça de leitura do HD acabaria tendo que passar várias vezes sobre a mesma trilha, lendo um setor a cada passagem, já que não daria tempo de ler os setores sequêncialmente depois de todo tempo perdido antes de cada novo pedido.

Graças ao cache, este problema é resolvido, pois a cada passagem a cabeça de leitura lê todos os setores próximos, independentemente de terem sido solicitados ou não. Após fazer sua verificação de rotina, o sistema solicitará o próximo setor, que por já estar carregado no cache será fornecido em tempo recorde.

Nos HDs atuais, o cache pode ser usado também nas operações de escrita. Imagine, por exemplo, que a controladora está ocupada lendo um arquivo longo e o sistema solicita que ela atualize um pequeno arquivo de log. Em vez de precisar parar o que está fazendo, a controladora pode armazenar a operação no cache e executá-la mais adiante, em um momento de ociosidade.

Nos HDs SATA com NCQ, a controladora possui liberdade para reorganizar as operações, realizando-as de forma que sejam concluídas mais rápido, passando então a armazenar os dados no cache, de forma que, depois de concluídas as operações, possa organizar os dados e entregá-los na ordem correta para o sistema.

O espaço excedente é usado para armazenar os últimos arquivos acessados, de forma que eles possam ser fornecidos rapidamente caso sejam requisitados novamente. A principal vantagem de usar um cache maior seria justamente ter mais espaço para arquivos. A questão é que o sistema operacional também mantém um cache de leitura e gravação utilizando a memória RAM que, por ser maior que o cache do HD, acaba sendo mais eficiente e também mais rápido, já que o cache do HD tem sua velocidade de transferência limitada à velocidade da interface IDE ou SATA, enquanto o cache feito pelo sistema operacional está limitado apenas à velocidade de acesso da própria memória RAM.

Esse é o principal motivo de um HD com mais cache não ser tão mais rápido quanto se pensa. Enquanto dobrar o tamanho do cache L2 de um processador aumenta seu desempenho em até 10%, aumentar o cache de um HD de 16 para 32 MB, por exemplo, acaba aumentando seu desempenho real em menos de 1% na maioria das aplicações. Uma pequena quantidade de cache é importante por causa de todos os recursos que vimos, mas a partir de um certo ponto, o tamanho acaba fazendo pouca diferença.


CURIOSIDADE: Atualmente existem HDs híbridos (HHDs), onde é utilizado um cache maior, feito de memória Flash. A principal vantagem neste caso é que os dados armazenados no cache são preservados mesmo ao desligar o micro, permitindo que sejam usados no boot seguinte. Muitos arquivos carregados durante o boot (sobretudo arquivos pequenos) podem então ficar permanentemente armazenados no cache, tornando mais rápido o boot e o carregamento dos programas mais usados.


Este Toshiba mostrado anteriormente é um modelo SATA. A controladora SATA da placa-mãe se comunica com ele utilizando comandos padronizados, que são comuns a qualquer HD SATA. É por isso que você não precisa instalar um driver especial para cada modelo de HD, precisa apenas de um driver padrão, que sabe se comunicar com qualquer disco rígido. Internamente, os comandos SATA são processados e convertidos nos comandos que irão mover a cabeça de leitura, fazer girar os discos até o ponto correto e assim por diante. O sistema operacional não gerencia diretamente a memória RAM do HDD, quem faz isso é a própria controladora, que se esforça para usá-lo da forma mais eficiente possível.


CURIOSIDADE: Caso queira saber muito mais sobre o funcionamento detalhado da interface SATA, recomendo que CLIQUE AQUI!

Agora, se quiser saber sobre a interface PATA e todas as versões do IDE / ATAPI, recomendo que CLIQUE AQUI!


Naturalmente, tudo isso exige processamento, daí a complexidade interna do chip controlador. Apesar de pequena, a placa controladora de um disco atual é muito mais sofisticada do que um micro antigo inteiro (um 286 por exemplo). Elas possuem mais poder de processamento e até mesmo mais memória, na forma do cache.


CURIOSIDADE: Os HDs atuais usam mais de 64 MB de cache de disco, mais memória do que era usada em micros 386 e 486 e, ainda por cima, muito mais rápida!

Uma curiosidade é que muitos drives antigos utilizavam um processador Intel 186 como controlador. O 186 é, como você pode imaginar, o "elo perdido" entre o 8088 (usado no PC XT) e o 286. Ele é um chip que acabou não sendo usado nos micros, mas fez um grande sucesso como microcontrolador para funções diversas. O datasheet do 80186 / 80188 pode ser visto abaixo:

Após o Intel 80186 ser abolido, a indústria passou a usar como processador um DSP (Digital Signal Processor), tal como vemos neste Maxtor 541DX:

Imagem 8 - Um velho Maxtor 541DX portando um DSP Texas Instruments D741667BPGF


No início do século, aos poucos, a indústria foi migrando para um ASIC mais compacto, do tipo SoC (System on Chip) com base em em núcleos com arquitetura ARM Cortex, e que é aplicado até hoje por todos os fornecedores de chips controladores do setor.


Concluindo, temos um terceiro chip, escondido na parte inferior esquerda da foto:

Imagem 9 - Se trata de um Texas Instruments TLS2505


Assim como o TLS2205, ele é uma combinação de driver de Voice Coil (VCM) de ponte completa linear e motor Brushless trifásico com um monitor de tensão e corrente integrado. Este circuito é projetado para unidades de disco rígido de fator de forma pequeno (2,5"). O chip porta circuitos adicionais para sequenciamento de inicialização e desligamento dos amplificadores de driver usados ​​para controle de velocidade do motor. Uma função de freio pode ser invocada no motor de fuso após a cabeça estar em uma zona de pouso segura.

A retração automática do braço é fornecida para condições de falha térmica ou de tensão. O TLS2205 opera com apenas 5 V de tensão de alimentação e tem uma opção de modo de espera para aplicações de baixa potência. Todas as funções do dispositivo são controladas por uma porta serial de três fios. O pacote do dispositivo é um pacote DL de 56 terminais ou PM de 64 terminais. Os pinos centrais são amarrados à aba de montagem da matriz para melhor dissipação de calor em ambos os pacotes.

O datasheet do TLS 2205 pode ser acessado abaixo:


O chip principal envia comandos a ele, dizendo que quer acessar o setor X, ou que o motor deve entrar em modo de economia de energia, por exemplo, e ele faz o controle eletromecânico. Essas funções mudam de um modelo de HD para o outro, por isso os fabricantes preferem usar um chip da Marvell ou Agere como controlador principal, mudando apenas o controlador auxiliar, que é um chip menor e mais barato.


Antigamente, através do CI servo, implementava-se uma tecnologia chamada AAM (Automatic Acoustic Management, em português "Gerenciamento Acústico Automático") para a redução de ruídos causados pela movimentação do braço de leitura e gravação. O INCITS (antigo NCITS) padronizou pela primeira vez o AAM na especificação ATA/ATAPI-6.


CURIOSIDADE: O Comitê Internacional para Padrões de Tecnologia da Informação (INCITS), (pronuncia-se "insights"), é uma organização de desenvolvimento de padrões credenciada pelo ANSI , composta por desenvolvedores de tecnologia da informação. Era anteriormente conhecido como X3 e NCITS.


O subcomando ATA/ATAPI para definir o nível de operação AAM é um valor de 8 bits de 0 a 255. A maioria das unidades modernas é fornecida com o valor 0x00 na configuração de gerenciamento acústico. Isso geralmente se traduz no valor de desempenho máximo de 254 declarado no padrão. Valores entre 128 e 254 (0x80 ~ 0xFE) habilitam o recurso e selecionam as configurações de mais silencioso para mais desempenho ao longo dessa faixa. Embora os fabricantes de HDDs possam suportar toda a faixa de valores, as configurações podem ser agrupadas, então muitos valores podem fornecer o mesmo desempenho acústico.

Mesmo que não haja uma definição da função implementada para fornecer gerenciamento acústico no padrão ATA, a maioria dos drives usa o controle de potência do servo de posicionamento da cabeça para reduzir a vibração induzida pelo mecanismo. A Western Digital chama isso de IntelliSeek, que usa apenas aceleração de cabeça suficiente para a posicionar na trilha e setor de destino "just in time". Os mecanismos de busca anteriores usavam potência e aceleração máximas para posicionar a cabeça. Essa operação induziu um barulho de 'clique' caracterísitico de muitos discos rígidos mais antigos.


Para fornecer o melhor desempenho acústico, alguns fabricantes de unidades podem limitar a velocidade máxima de busca das cabeças para operação AAM. Isso degrada o desempenho aumentando o tempo médio de busca. Alguns movimentos da cabeça são forçados a esperar uma rotação adicional do disco antes de acessar os dados, pois a cabeça não conseguiu se mover para a posição de destino durante a primeira revolução devido aos limites de velocidade.

Por exemplo, testes de benchmark com o Sandra Lite em um HDD Samsung HD154UI (1,5 TB, SATA300, 3,5", 5400 RPM, cache de 32 MB) não mostraram impacto mensurável no desempenho para uma configuração AAM de 190, mas a unidade se tornou visivelmente mais silenciosa do que a configuração desabilitada (0). Selecionar a configuração mais silenciosa (128) fez com que o tempo médio de acesso aleatório aumentasse cerca de 10%, enquanto o silenciamento melhorou visivelmente em relação à configuração intermediária. Nesta unidade, algum silenciamento está disponível sem impacto no desempenho, e ainda mais silenciamento está disponível se alguma degradação do desempenho for aceitável.

Geralmente há também o modo intermediário de gerenciamento acústico totalmente automatizado (chamado de “balanceado” em algumas configurações). É exatamente como o nome sugere: um modo um pouco mais silencioso e um modo um pouco mais lento em comparação à configuração de desempenho.


O AAM opera independentemente de configurações avançadas de gerenciamento de energia, entretanto, selecionar o modo de operação mais silencioso usa menos energia, então usuários podem preferir tal configuração para fins de economia (mesmo que isso represente uma redução de consumo um tanto insignificante).

O AAM não está mais disponível para unidades Seagate e Western Digital. Em 2008, a Seagate removeu os recursos AAM de todas as suas unidades, isto pois a Convolve alegou que a Patente nº 6.314.473 cobre a tecnologia AAM. A Western Digital começou a fazer o mesmo em 2011, sem fazer nenhum alarde, nem atualizar a documentação do produto. As folhas de especificações de drives continuam a alegar (em março de 2012) que há diferentes modos de busca em suas unidades. No entanto, o hardware que agora é fabricado não permite controle sobre o AAM.


OBSERVAÇÃO: Perceba que não trouxemos o datasheet do chip Marvell 88i9017-TLA2. Tanto a Marvell quanto a Agere e a Infineon (antiga Siemens) não possuem a característica de disponibilizar informações técnicas muito específicas de seus produtos, logo, ficamos na mão quando é necessário fazer um trabalho mais minucioso de análise. Caso tenha datasheet das três marcas supramencionadas, nos envie pelo e-mail hardwarecentrallr@gmail.com.


A placa controladora é um componente acessível do HD, que pode ser rapidamente substituído caso necessário. Grande parte (talvez até a maioria) dos casos onde o HD "queima" devido a problemas na rede elétrica, ou defeitos diversos, podem ser solucionados através da troca da placa controladora, permitindo recuperar os dados sem ter que recorrer aos caros serviços de uma empresa especializada.

O grande problema é justamente onde encontrar outra placa. Os fabricantes vendem placas avulsas em pequenas quantidades para empresas de recuperação, mas o fornecimento é muito restrito. Para técnicos autônomos e pequenas empresas, a única solução é usar placas doadas por outros drives. Se o HD for um modelo recente, você pode simplesmente comprar outro, pegar a placa emprestada para fazer a recuperação dos dados e depois devolvê-la ao dono. Mas, no caso de HDs mais antigos, a única forma é procurar nos sites de leilão e fóruns em busca de uma placa usada. Há um verdadeiro mercado paralelo de venda de placas avulsas, já que existem muitos casos de HDs inutilizados por problemas na mídia magnética, onde a placa ainda é utilizável.

É comum que os fabricantes utilizem a mesma placa lógica e os mesmos discos magnéticos em vários HDs da mesma família, variando apenas o número de discos usados. Assim, o modelo de 500 GB pode ter 4 discos, enquanto o modelo de 250 GB possui apenas dois, por exemplo. Nesses casos, é normal que a placa controladora de um funcione no outro.

Remover a placa é simples, basta usar uma chave Torx ou Phillips para soltar os parafusos e desencaixar a placa com cuidado. Na maioria dos discos rígidos atuais, a placa é apenas encaixada sobre os contatos, mas em outros ela é ligada através de um cabo flat, que precisa ser desconectado com cuidado.

 

CHS e LBA


No passado, o PC endereçava cada setor no drive através da sua localização física, isto é, para ler ou gravar um determinado setor era necessário informar à controladora qual o lado, qual a trilha e qual o setor dentro desta trilha o programa queria. Era algo como “controladora, me mande 512 Bytes de dados que estão no setor 7 da trilha 22 no lado 1, por favor?”. Este sistema é também conhecido como CHS (Cylinder, Head and Sector, em português "Cilindro, Cabeça e Setor") e estreou em as unidades RLL e MFM. Tanto o CHS quanto o seu sucessor, o ECHS (Extended Cylinder-Head-Sector), foram usados ​​nas primeiras unidades ATA (padronizadas pelo ANSI em meados de 1994).


O problema é que tanto o BIOS da placa-mãe quanto a própria interface ATA tinham um limite na quantidade de trilhas, cabeças e setores possíveis de se acessar.

Tabela 2 - Enquanto o BIOS só enxergava 7,84 GB, o padrão ATA conseguia endereçar até 127,5 GB


O BIOS da placa-mãe poderia acessar apenas 1024 trilhas, 255 lados e 64 setores. Se multiplicarmos esses três números obteremos o número total de setores, e multiplicando esse número por 512 teremos a capacidade máxima do drive, em Bytes. Sendo assim, o PC poderia acessar unidades com até 7,84 GB de capacidade.


Lembre-se: Quando o padrão IDE foi criado lá em 1986, as pessoas achavam que este limite era impossível de se atingir, já que na época o HDD de maior capacidade tinha absurdos 40 MB.


Este limite, também conhecido como "limite dos 8 GB" (por causa da definição errônea de GigaByte), podia ser resolvido atualizando o BIOS dos computadores fabricados até meados de 1999, exceto para máquinas cujo sistema operacional (SO) era o MS-DOS até a versão 6.22, que não reconhecia discos com mais de 8 GB por causa de uma limitação do próprio software.


OBSERVAÇÃO: Graças a uma confusão envolvendo a definição da unidade de medida Byte, você compra um HDD de 1 TB e o Windows o identifica com apenas 931,5 GB, por exemplo. Este problema já acompanhava os consumidores desde o princípio e ainda pode confundir alguns usuários. Para entender os bits e os Bytes e os prefixos abreviados acompanhados da letra "i" minúscula, CLIQUE AQUI!


CURIOSIDADE: O Windows NT não pode dar boot a partir da primeira partição se ela exceder 7,84 GB, sendo também uma limitação do SO e não de hardware.


Para calcular o espaço em bytes de um disco rígido ou disquete usando CHS é:


Onde:

-> H é o número total de cabeças;

-> C o número total de cilindros por cabeça;

-> S o número total de setores por cilindro;

-> TS o tamanho do setor (geralmente de 512 bytes);

-> e E o espaço total em bytes do disco.


Assim, para calcular o tamanho total de um disquete de 1,44 MB, fica:


2 x 80 x 18 x 512 = 1,474.560 Bytes (cerca de 1,44 MB)


O limite de 504 MB afeta os computadores fabricados por volta de 1995. Isso existiu pois o micro precisava respeitar ao mesmo tempo tanto os limites do BIOS quanto os da interface ATA. Apesar de o padrão ATA permitir endereçar até 65.536 trilhas, o BIOS não permitia, tornando a capacidade de endereçamento do computador limitada em 1024 trilhas. A mesma coisa é válida para as cabeças e setores, como você pôde ver na tabela.

Mais uma vez, a solução foi atualizar o BIOS para permitir um novo modo introduzido na mesma época (e que é o padrão até hoje para os HDDs) chamado LBA (Logic Block Addressing, em português Endereçamento Lógico de Setores), que fez com que o computador aplique endereços a cada setor do disco sequencialmente ao invés de usar sua localização física. Isso significa que o micro apenas 'pede' “me manda o setor 1.156.933, please?”.

Imagem 10 - Perceba o "8455MB (CYL16383,H16,S63)" e "500GB(LBA 976,773,168Sectors)"


Você pode pensar que não existe mais limite de hardware para a capacidade máxima dos drives, entretanto, a interface ATA-2 implementa uma variável de 28 bits para endereçar setores no modo LBA, criando um limite de 127,5 GB (2^28 x 512 Bytes, basta ver a segunda linha da tabela).

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, valor que ainda está longe de ser atingido por computadores comuns.


CURIOSIDADE: Funciona tal como o endereçamento de memória RAM. Apesar dos sistemas operacionais e processadores de 64 bits, não foi necessário, de início, implementar todos os 64 bits de endereço, isto pois, não havia a necessidade de tanta memória RAM à curto prazo, fazendo com que, a Intel, por exemplo, lançasse seus chips para soquete LGA775 com apenas 36 bits (exceto Xeon), enquanto os AMD de soquete PGA754 e PGA939 usavam apenas 40 bits.


Para resolver esta limitação de 128 GB é necessário atualizar o BIOS para a versão mais atual e depois instalar a última versão do "service pack" disponível para o Windows NT, 2000 e XP, permitindo assim habilitar o suporte ao LBA de 48 bits.


CURIOSIDADE: O Windows 95 não suporta HDDs acima de 32 GB devido a uma limitação do próprio sistema, assim como o MS-DOS até a versão 6.22 não suportava discos com mais de 8 GB, da mesma forma que o Windows 98 não suporta unidades com capacidade acima de 128 GB, e nunca existiu solução pra isso.


O limite de 2 TB dos sistemas Windows atuais é ocasionado pelo MBR (Master Boot Record, em português "setor de boot mestre"). Para ultrapassar este limite, é necessário aplicar o formato de tabela de partição chamado GUID (Global Unique IDentifier, em português "identificador único global") ou GPT (GUID Partition Table, "tabela de partição GUID"), que usa LBA de 64 bits e, em teoria, suporta partições com até 8 ZiB (SOs da Microsoft suportam partições de até 18 EiB neste formato, embora o sistema de arquivos NTFS suporte apenas partições com até 256 TiB). Este formato é permitido no Windows XP e gerações posteriores e só está disponível nas versões de 64 bits dos SOs que sejam executados em placas-mãe com firmware do tipo UEFI. Se você estiver usando um computador com BIOS do tipo Legacy, terá dividir a unidade em partições de, no máximo, 2 TiB cada.

Este capítulo trata a lógica por trás dos HDDs e ganhará atualizações ao longo do tempo!

No próximo capítulo será apresentado mais algumas tecnologias - tais como a S.M.A.R.T) -, além de detalhes sobre a formatação dos HDDs! Aguarde!


Caso queira contribuir com mais informações ou correções, fique à vontade para entrar em contato com o HC pelo e-mail hardwarecentrallr@gmail.com.

 

FONTES e CRÉDITOS:


Texto: Leonardo Ritter; livro de hardware do Carlos E. Morimoto (recuperado através do Waybach Machine).

Imagens, diagramas e gráficos: Leonardo Ritter; Enciclopédia Magnética; Google Imagens; Wikipedia.

Fontes: Desmonte de HDDs; outros conteúdos do próprio HC; Patentes relacionadas à Western Digital recuperadas do Google Patents; Site da Seagate e Blog da Western Digital; Sasaki Informatica; Adrenaline; Enciclopédia Magnética; datasheets de chips utilizados em HDDs; Clube do Hardware; livro de hardware do Gabriel Torres (edição de 2022); Wikipedia (somente artigos com fontes verificadas!).

Comments


O Hardware Central abandonou de vez o Facebook. Não temos mais fanpage e a caixa de comentários que aqui habitava foi chutada pra longe! Não somos Mainstream! Redes socias não combinam com nós! Somos a galera dos livros!

Como também repassamos conteúdo de terceiros, não é justo restringir a cópia! O uso do conteúdo do HC e de toda a internet deve ser livre!

Para relatar erros, incongruências ou sugerir conteúdo, nos chame pelo hardwarecentrallr@gmail.com! Não somos perfeitos, mas sempre é possível melhorar!

© 2024 Hardware Central Tecnologia Entretenimento e Comunicação do Brasil Ltda. Todos os direitos reservados.

Wix Editor / Revisão da web page: 3.2/2022 (20/03/22)

bottom of page