Este blog ajuda a entender por que a transição aconteceu de disco de setor de 512 bytes para disco de setor de 4096 bytes. O blog também dá respostas sobre por que o disco de setor de 4096 bytes (4K) deve ser optado pela instalação do sistema operacional. Primeiro, o blog explica o layout do setor para entender a necessidade da migração, depois explica o motivo da migração e, por fim, aborda os benefícios da unidade de setor 4K com mais de 512 bytes de unidade.
Um setor é a unidade de armazenamento mínima de uma unidade de disco rígido. É uma subdivisão de uma faixa em uma unidade de disco rígido. O tamanho do setor é um fator importante no projeto do sistema operacional, pois representa a unidade atômica das operações de E/S em uma unidade de disco rígido. No Linux, você pode verificar o tamanho do setor de disco usando o comando "fdisk -l".
Figura 1: O tamanho do setor de disco no Linux
Conforme mostrado na Figura 1, os setores lógico e físico têm 512 bytes de comprimento para este sistema Linux.
O layout do setor está estruturado da seguinte forma:
Cada setor armazena um volume fixo de dados do usuário, tradicionalmente 512 bytes para unidades de disco rígido. Mas, devido à melhor integridade dos dados em densidades mais altas e aos recursos robustos de correção de erros, os HDDs mais recentes agora armazenam 4.096 bytes (4K) em cada setor.
O número de bits armazenados em um determinado comprimento de trilha é denominado densidade de areal. O aumento da densidade de área é uma tendência no setor de unidades de disco não apenas porque permite que maiores volumes de dados sejam armazenados no mesmo espaço físico, mas também melhora a velocidade de transferência na qual esse meio pode operar. Com o aumento da densidade da área, o setor passou a consumir uma quantidade cada vez menor de espaço na superfície do disco rígido. Isso cria um problema porque o tamanho físico dos setores nos discos rígidos diminuiu, mas os defeitos de mídia não. Se os dados em um setor de disco rígido consomem áreas menores, a correção de erros se torna um desafio. Isso ocorre porque defeitos de mídia do mesmo tamanho podem danificar uma porcentagem maior dos dados no disco que tem uma área pequena para um setor do que o disco que tem uma grande área para um setor.
Existem duas abordagens para resolver esse problema. A primeira abordagem é investir mais espaço em disco em bytes ECC para garantir a confiabilidade contínua dos dados. Mas se investirmos mais espaço em disco em bytes ECC, isso levará a menos eficiência de formato de disco. A eficiência do formato de disco é definida como (número de bytes de dados do usuário X 100)/número total de bytes no disco. Outra desvantagem é que quanto mais bits ECC incluídos, o controlador de disco requer mais capacidade de processamento para processar o algoritmo ECC.
A segunda abordagem é aumentar o tamanho do bloco de dados e aumentar ligeiramente os bytes ECC para cada bloco de dados. Com o aumento do tamanho do bloco de dados, a sobrecarga necessária para cada setor armazenar informações de controle, como lacuna, sincronização, seção de marca de endereço etc., diminuiria. Para cada setor, os bytes ECC aumentarão, mas os bytes ECC gerais necessários para um disco serão reduzidos devido a um setor maior. A redução da quantidade geral de espaço usado para o código de correção de erros melhora a eficiência do formato, e o aumento de bytes ECC para cada setor permite usar algoritmos de correção de erros mais eficientes e avançados. Portanto, a transição para um tamanho de setor maior tem dois benefícios: maior confiabilidade e maior capacidade de disco.
Do ponto de vista de throughput, o tamanho ideal de bloco deve ser aproximadamente igual ao tamanho característico de uma transação de dados típica. Temos que reconhecer que o tamanho médio do arquivo hoje é de mais de 512 bytes. Hoje em dia, os aplicativos em sistemas modernos usam dados em grandes blocos, muito maiores do que o tamanho tradicional do setor de 512 bytes. Tamanhos de bloco muito pequenos causam muita sobrecarga de transação. Já no caso de blocos grandes, cada transação transfere uma grande quantidade de dados desnecessários.
O tamanho de uma transação padrão em sistemas de base de dados relacionais é 4K. O consenso de opinião na indústria de unidades de disco rígido tem sido que os tamanhos de blocos físicos de blocos 4K forneceriam um bom compromisso. Ele também corresponde ao tamanho de paginação usado por sistemas operacionais e processadores.
Figura 3: Aprimoramento da eficiência de formatação em discos 4K
Formato de setor de 512 bytes | Formato t do setor de 4.096 bytes | |
Lacuna, sincronização & marca de endereço | 15 bytes | 15 bytes |
Dados do usuário | 512 bytes | 4096 bytes |
Código de correção de erros | 50 bytes | 100 bytes |
Total | 577 bytes | 4211 bytes |
Eficiência de formatação | 88,7% | 97.3% |
Tabela 1: Aprimoramento da eficiência de formatação em discos 4K
Como vemos na Figura 2, os setores 4K são 8 vezes maiores do que os setores tradicionais de 512 bytes. Portanto, para a mesma carga útil de dados, é necessário 8 vezes menos gap, sincronização e seções de marca de endereço e 4 vezes menos seção de código de correção de erro. Reduzir a quantidade de espaço usado para o código de correção de erros e outras seções que não são de dados melhora a eficiência do formato para o formato 4K. A melhoria na eficiência de formatação é mostrada na Figura 3 e na Tabela 1. Há um ganho de 8,6% na eficiência de formato para discos de setor 4K em relação ao disco de setor de 512 bytes.
Figura 4: Efeito do defeito da mídia na densidade do disco
Conforme mostrado na Figura 4, o efeito do defeito de mídia no disco com densidade de área mais alta é maior do que no disco com densidade de área inferior. À medida que a densidade de área aumenta, precisamos de mais bytes ECC para manter o mesmo nível de recurso de correção de erros. O formato 4K fornece espaço suficiente para expandir o campo ECC de 50 para 100 bytes para acomodar novos algoritmos ECC. A cobertura ECC aprimorada melhora a capacidade de detectar e corrigir erros de dados processados além do comprimento de defeito de 50 bytes associado ao formato de setor de 512 bytes.
Discos de dados 4K são suportados no Windows Server 2012, mas como disco de inicialização suportado apenas no modo UEFI. Para Linux, discos rígidos 4K exigem um mínimo de RHEL 6.1 e SLES 11 SP2. As unidades de inicialização 4K só são compatíveis no modo UEFI no Linux. O suporte de kernel para unidades 4K está disponível nas versões do kernel 2.6.31 e posteriores. As placas PERC H330, H730, H730P, H830, FD33xS e FD33xD são compatíveis com unidades de disco de bloco de 4K, o que permite usar o espaço de armazenamento com eficiência. Discos 4K podem ser usados nos servidores Dell PowerEdge que oferecem suporte a placas acima da PERC.
O tamanho físico de cada setor no disco tornou-se menor como resultado do aumento nas densidades de área nas unidades de disco. Se o número de defeitos do disco não for dimensionado na mesma taxa, esperamos que mais setores sejam corrompidos e que seja necessário um forte recurso de correção de erros para cada setor. As unidades de disco com setores físicos maiores e mais bytes ECC para cada setor oferecem algoritmos aprimorados de proteção e correção de dados. O formato 4K ajuda a obter melhor eficiência de formato, além de melhorar a confiabilidade e a capacidade de correção de erros. Essa transição resultará em melhores experiências do usuário, portanto, a unidade 4K deve ser escolhida para a instalação do sistema operacional.