
Ao trabalhar com pen drives USB, cartões SD, cartões microSD, SSDs e outros dispositivos de armazenamento em blocos, dois números são particularmente úteis: o tamanho do setor e a contagem de LBA. Juntos, esses valores descrevem a capacidade endereçável de um dispositivo de armazenamento no nível de blocos.
LBA significa Logical Block Addressing, ou endereçamento lógico de blocos. Em vez de descrever um dispositivo de armazenamento usando conceitos físicos mais antigos, como cilindros, cabeças e setores, os dispositivos de armazenamento modernos são endereçados como uma coleção sequencial de blocos lógicos. Cada bloco recebe um número, começando com LBA 0 e continuando até o último bloco lógico disponível no dispositivo.
Em termos simples, a contagem de LBA informa quantos setores endereçáveis estão disponíveis, enquanto o tamanho do setor informa quantos bytes estão contidos em cada um desses setores.
Por que a contagem exata de LBA é importante
Para o armazenamento normal de arquivos, uma pequena diferença na capacidade bruta do dispositivo geralmente passa despercebida. Um usuário que copia documentos ou fotografias para um pen drive normalmente não se importa se duas unidades nominalmente idênticas possuem números de setores ligeiramente diferentes.
Com disk imaging e duplicação, a situação é diferente.
Um dispositivo de origem pode conter uma partição ou estrutura de disco que se estende muito perto de seu último LBA disponível. Se o dispositivo de destino tiver menos LBAs do que a origem, mesmo que a diferença seja relativamente pequena, uma imagem setor por setor pode não caber.
Isso pode acontecer mesmo quando os dois dispositivos são comercializados exatamente com a mesma capacidade. Dois dispositivos identificados como 32GB, 64GB ou 128GB não têm necessariamente a garantia de possuir exatamente o mesmo número de setores lógicos endereçáveis.
O problema se torna especialmente importante com estruturas localizadas perto do final de um disco. Uma mídia formatada em GPT, por exemplo, mantém um cabeçalho GPT de backup próximo ao final do dispositivo. Alterar o intervalo de LBA disponível pode, portanto, afetar muito mais do que simplesmente a quantidade de espaço não utilizado no final de um disco.
LBA é mais preciso do que a capacidade impressa no dispositivo
Rótulos comerciais de capacidade, como 32GB, 64GB e 128GB, são úteis para os consumidores, mas não são descrições precisas da geometria de armazenamento.
Quando a compatibilidade exata é importante, três valores fornecem uma visão muito mais clara:
1. Tamanho do dispositivo em bytes
2. Tamanho do setor lógico
3. Contagem total de LBA
Conhecer esses valores permite determinar exatamente quanto armazenamento endereçável existe e se um dispositivo de armazenamento é realmente grande o suficiente para conter toda a estrutura de blocos de outro dispositivo.
A relação entre LBA e tamanho do setor
O cálculo básico da capacidade é:
Para um dispositivo que utiliza setores lógicos de 512 bytes:
O cálculo também pode ser feito ao contrário. Se a capacidade total do dispositivo em bytes e o tamanho do setor lógico forem conhecidos, a contagem de LBA pode ser calculada da seguinte forma:
Por exemplo, considere um dispositivo com uma contagem de LBA de 60,125,184 e um tamanho de setor lógico de 512 bytes:
Contagem de LBA: 60,125,184
Tamanho do Setor: 512 bytes
60,125,184 × 512
= 30,784,094,208 bytes
Essa relação se torna especialmente importante ao comparar dispositivos de armazenamento para disk imaging, duplicação, clonagem, trabalho forense ou outras aplicações nas quais o número exato de setores disponíveis é importante.
Por que os setores de 512 bytes são tão comuns
Um tamanho de setor lógico de 512 bytes tem sido o padrão tradicional para dispositivos de armazenamento há décadas. Ele continua extremamente comum em pen drives USB, cartões de memória e muitos outros dispositivos de armazenamento devido à compatibilidade com sistemas operacionais, sistemas de arquivos, estruturas de boot, controladores e softwares existentes.
Por esse motivo, ao examinar um pen drive USB típico, um tamanho de setor lógico de 512 bytes geralmente é uma expectativa razoável. No entanto, esse valor não deve simplesmente ser presumido quando a capacidade exata é importante. O Windows pode informar diretamente o tamanho do setor lógico, e verificar o valor real elimina qualquer incerteza.
Alguns dispositivos de armazenamento modernos utilizam setores físicos de 4.096 bytes enquanto continuam apresentando setores lógicos de 512 bytes ao sistema operacional. Essa configuração é normalmente chamada de 512e, ou emulação de 512 bytes. Outros dispositivos podem expor diretamente setores lógicos de 4.096 bytes, normalmente chamados de 4Kn.
Por que um dispositivo usaria um tamanho de setor diferente?
Setores maiores podem melhorar a eficiência do armazenamento porque são necessários menos setores para descrever a mesma quantidade de capacidade. Um setor de 4.096 bytes contém oito vezes mais dados do que um setor de 512 bytes. Setores maiores também podem reduzir parte da sobrecarga de endereçamento e correção de erros e combinar melhor com a arquitetura interna dos dispositivos modernos de armazenamento de alta capacidade.
No entanto, alterar o tamanho do setor lógico tem implicações de compatibilidade. Sistemas operacionais, boot loaders, sistemas de arquivos, equipamentos de duplicação, sistemas embarcados e softwares especializados podem esperar setores lógicos de 512 bytes. Esse é um dos motivos pelos quais um dispositivo de armazenamento pode utilizar internamente setores físicos de 4K e ainda apresentar setores lógicos de 512 bytes ao host.
Como o tamanho do setor altera a contagem de LBA
A mesma capacidade em bytes pode ter contagens de LBA muito diferentes dependendo do tamanho do setor lógico.
Considere uma área de armazenamento hipotética contendo 4.096.000 bytes.
Setores lógicos de 512 bytes
4,096,000 ÷ 512
= 8,000 LBAs
Setores lógicos de 4.096 bytes
4,096,000 ÷ 4,096
= 1,000 LBAs
A quantidade de armazenamento não mudou. Apenas o tamanho de cada bloco lógico endereçável mudou. Portanto, o dispositivo com setores de 4K precisa de apenas um oitavo da quantidade de LBAs para descrever a mesma capacidade em bytes.
É por isso que uma contagem de LBA, por si só, não descreve completamente a capacidade de armazenamento. O tamanho do setor lógico também precisa ser conhecido.
Convertendo LBA para MB e MiB
Ao converter uma contagem de LBA em um valor de capacidade mais familiar, é importante distinguir entre megabytes decimais (MB) e mebibytes binários (MiB). Embora os termos sejam frequentemente usados de forma intercambiável em conversas informais, eles representam quantidades diferentes de bytes.
1 MB = 1,000,000 bytes
MB = (Contagem de LBA × Tamanho do Setor Lógico) ÷ 1,000,000
Mebibytes binários (MiB)
1 MiB = 1,048,576 bytes
MiB = (Contagem de LBA × Tamanho do Setor Lógico) ÷ 1,048,576
Essa distinção explica por que as capacidades de armazenamento podem parecer diferentes dependendo de como um utilitário ou sistema operacional informa o valor. Os fabricantes de unidades normalmente anunciam a capacidade usando unidades decimais, enquanto muitos sistemas operacionais e cálculos técnicos tradicionalmente utilizam unidades binárias.
Para um dispositivo que utiliza setores lógicos de 512 bytes, converter uma contagem de LBA para MiB é particularmente simples:
Como 1,048,576 ÷ 512 = 2,048:
Esse é um atalho útil ao trabalhar com pen drives USB que informam setores lógicos de 512 bytes.
O cálculo inverso é:
Por exemplo, adicionar 7 MiB de capacidade endereçável a um dispositivo com setores de 512 bytes exige:
7 × 2,048
= 14,336 LBAs adicionais
LBA atual: 60,110,848
LBA adicional: 14,336
LBA de destino: 60,125,184
Isso significa que um dispositivo com 60,110,848 LBAs precisaria de mais 14,336 setores lógicos para atingir 60,125,184 LBAs. Com setores lógicos de 512 bytes, essa diferença representa exatamente 7 MiB de capacidade endereçável.
Se forem necessários MB decimais, o cálculo utiliza 1,000,000 bytes por MB em vez de 1,048,576 bytes por MiB:
Como verificar o tamanho do setor no Windows PowerShell
O Windows PowerShell facilita a verificação dos tamanhos de setor lógico e físico informados pelos dispositivos de armazenamento conectados.
Abra o PowerShell e digite: (copie e cole)
Get-Disk | Select-Object Number, FriendlyName, BusType, LogicalSectorSize, PhysicalSectorSize
Esse comando lista os discos reconhecidos pelo Windows e exibe o número do disco, o nome do dispositivo, o tipo de barramento, o tamanho do setor lógico e o tamanho do setor físico. Para outras informações de identificação disponíveis no Windows, consulte também como encontrar VID, PID, fabricante SCSI e informações do produto de uma unidade USB no Windows.
A saída pode mostrar um dispositivo USB semelhante a este:
Number FriendlyName BusType LogicalSectorSize PhysicalSectorSize
2 USB Flash Drive USB 512 512
O valor importante para calcular a contagem de LBA é LogicalSectorSize. Neste exemplo, cada bloco lógico apresentado ao Windows contém 512 bytes.
É importante distinguir o tamanho do setor lógico do tamanho do setor físico. O LBA endereça os blocos lógicos apresentados ao sistema operacional. Portanto, ao calcular uma contagem de LBA, o valor LogicalSectorSize é o número relevante.
Por exemplo, uma unidade 512e pode informar um tamanho de setor lógico de 512 bytes e um tamanho de setor físico de 4.096 bytes. O Windows ainda endereça esse dispositivo usando seus blocos lógicos de 512 bytes, portanto o cálculo de LBA é baseado em 512 bytes, e não nos setores físicos subjacentes de 4.096 bytes.
Como obter a contagem de LBA com o PowerShell
Depois que o número correto do disco for identificado, o PowerShell pode calcular diretamente a contagem total de LBA.
Por exemplo, se o dispositivo USB for o Disco 2: (copie e cole)
Get-Disk -Number 2 | Select Number, FriendlyName, LogicalSectorSize, @{Name="LBA_Count";Expression={$_.Size / $_.LogicalSectorSize}}
O cálculo realizado pelo PowerShell é simplesmente:
O comando PowerShell não presume que todos os dispositivos de armazenamento utilizem setores lógicos de 512 bytes. Em vez disso, ele lê o LogicalSectorSize informado pelo dispositivo selecionado e utiliza esse valor no cálculo.
Isso significa que o mesmo comando funciona com dispositivos tradicionais de setores lógicos de 512 bytes, unidades 512e e unidades 4Kn nativas. Para um dispositivo de 512 bytes ou 512e que informa setores lógicos de 512 bytes, o tamanho do dispositivo é dividido por 512. Para um dispositivo 4Kn nativo que informa setores lógicos de 4.096 bytes, o tamanho do dispositivo é dividido por 4.096.
Essa distinção é importante porque uma unidade 512e pode armazenar fisicamente os dados em setores de 4.096 bytes enquanto ainda apresenta setores lógicos de 512 bytes ao Windows. A numeração LBA segue o tamanho do bloco lógico exposto ao sistema operacional, e não necessariamente o tamanho do setor físico utilizado internamente pelo dispositivo de armazenamento.
As fórmulas simples de LBA
Para referência rápida, estes são os principais cálculos usados ao trabalhar com valores de LBA:
CALCULAR A CONTAGEM DE LBA
Contagem de LBA = Capacidade em Bytes ÷ Tamanho do Setor Lógico
CALCULAR A CAPACIDADE EM BYTES
Capacidade em Bytes = Contagem de LBA × Tamanho do Setor Lógico
CONVERTER LBA PARA MB DECIMAL
MB = (Contagem de LBA × Tamanho do Setor Lógico) ÷ 1,000,000
CONVERTER LBA PARA MiB
MiB = (Contagem de LBA × Tamanho do Setor Lógico) ÷ 1,048,576
SETORES DE 512 BYTES: LBA PARA MiB
Capacidade em MiB = Contagem de LBA ÷ 2,048
SETORES DE 512 BYTES: MiB PARA LBA
Contagem de LBA = Capacidade em MiB × 2,048
COMPARAR DOIS DISPOSITIVOS COM SETORES DE 512 BYTES
Diferença de Capacidade em MiB = Diferença de LBA ÷ 2,048
Essa última equação é particularmente útil para determinar exatamente quanto um pen drive USB é menor do que outro. O detalhe importante é que dividir a diferença de LBA por 2,048 produz um resultado em MiB, e não em MB decimais, quando os dispositivos utilizam setores lógicos de 512 bytes.