A formatação de disco é o processo de preparação de um dispositivo de armazenamento de dados, como um disco rígido (HD), unidade de estado sólido (SSD), disquete, cartão de memória ou unidade flash USB (pen drive), para o uso inicial. Em alguns casos, a operação de formatação também pode criar um ou mais novos sistemas de arquivos. A primeira parte do processo de formatação que realiza a preparação básica da mídia é frequentemente chamada de "formatação de baixo nível". Particionamento é o termo comum para a segunda parte do processo, que divide o dispositivo em vários subdispositivos e, em alguns casos, grava informações no dispositivo permitindo que um sistema operacional seja inicializado a partir dele. A terceira parte do processo, geralmente chamada de "formatação de alto nível", refere-se na maioria das vezes ao processo de geração de um novo sistema de arquivos. Em alguns sistemas operacionais, todas ou partes dessas três etapas podem ser combinadas ou repetidas em diferentes níveis e o termo "formatar" é entendido como uma operação na qual uma nova mídia de disco é totalmente preparada para armazenar arquivos. Alguns utilitários de formatação permitem distinguir entre uma formatação rápida, que não apaga todos os dados existentes, e uma opção longa (completa), que apaga todos os dados existentes.

Como regra geral, a formatação de um disco por padrão deixa a maior parte, se não a totalidade, dos dados existentes na mídia do disco; alguns ou a maioria deles podem ser recuperáveis com ferramentas privilegiadasEx.: AMASPZAP no MVS ou ferramentas especiais. Ferramentas especiais podem remover os dados do usuário por meio de uma única sobrescrita de todos os arquivos e do espaço livre.

História

Um bloco, que consiste em um número contíguo de bytes, é a unidade mínima de armazenamento lida e gravada em um disco por um driver de disco. Os primeiros discos rígidos tinham tamanhos de bloco fixos (por exemplo, o tamanho do bloco da unidade de armazenamento em disco do IBM 350 (do final dos anos 1950) era de 100 caracteres de seis bits), mas começando com o 1301, a IBM comercializou subsistemas que apresentavam tamanhos de bloco variáveis: uma trilha específica poderia ter blocos de tamanhos diferentes. Os subsistemas de disco e outros dispositivos de armazenamento de acesso direto no IBM System/360 expandiram esse conceito na forma de Count Key Data (CKD) e, mais tarde, Extended Count Key Data (ECKD); no entanto, o uso de blocos de tamanho variável em HDDs caiu em desuso na década de 1990; um dos últimos HDDs a suportar tamanho de bloco variável foi o IBM 3390 Modelo 9, anunciado em maio de 1993.

Os discos rígidos modernos, como as unidades Serial Attached SCSI (SAS)"Os LBAs em uma unidade lógica devem começar com zero e ser contíguos até o último bloco lógico na unidade lógica.", Tecnologia da informação — Serial Attached SCSI - 2 (SAS-2), INCITS 457 Draft 2, 8 de maio de 2009, capítulo 4.1 Visão geral do modelo de tipo de dispositivo de bloco de acesso direto. e Serial ATA (SATA),ISO/IEC 791D:1994, AT Attachment Interface for Disk Drives (ATA-1), seção 7.1.2 apresentam-se em suas interfaces como um conjunto contíguo de blocos de tamanho fixo. Por muitos anos eles tiveram 512 bytes de comprimento, mas começando em 2009 e acelerando ao longo de 2011, todos os principais fabricantes de discos rígidos começaram a lançar plataformas de HDs usando o Advanced Format de blocos lógicos de 4096 bytes (4 KB).

Os disquetes geralmente usavam apenas tamanhos de bloco fixos, mas esses tamanhos variavam em função do sistema operacional do hospedeiro e de sua interação com o controlador de disquete, de modo que um tipo específico de mídia (por exemplo, DSDD de 5¼ polegadas) teria tamanhos de bloco diferentes dependendo do sistema operacional e do controlador do hospedeiro.

Os discos ópticos geralmente usam apenas tamanhos de bloco fixos.

Processo de formatação de disco

A formatação de um disco para uso por um sistema operacional e seus aplicativos normalmente envolve três processos diferentes.Cada processo pode envolver várias etapas, e etapas de processos diferentes podem ser intercaladas.

A formatação de baixo nível (ou seja, a mais próxima do hardware) marca as superfícies dos discos com marcadores que indicam o início de um bloco de gravação (normalmente chamados hoje de marcadores de setor) e outras informações, como o CRC do bloco, a serem usadas posteriormente, em operações normais, pelo controlador de disco para ler ou gravar dados. Isso se destina a ser a fundação permanente do disco e, muitas vezes, é concluído na fábrica. O particionamento divide um disco em uma ou mais regiões, gravando estruturas de dados no disco para indicar o início e o fim das regiões. Esse nível de formatação geralmente inclui a verificação de trilhas ou setores defeituosos (bad sectors). A formatação de alto nível cria o formato do sistema de arquivos dentro de uma partição de disco ou de um volume lógico. Essa formatação inclui as estruturas de dados usadas pelo sistema operacional para identificar o conteúdo da partição ou da unidade lógica. Isso pode ocorrer durante a instalação do sistema operacional ou ao adicionar um novo disco. Os sistemas de arquivos em disco ou distribuídos podem especificar um bloco de inicialização (boot) opcional e/ou várias informações de volume e diretório para o sistema operacional.

Formatação de baixo nível de disquetes

A formatação de baixo nível de disquetes (e dos primeiros discos rígidos) é realizada pelo controlador da unidade de disco.

Para um disquete padrão de 1,44 MB, a formatação de baixo nível normalmente grava 18 setores de 512 bytes em cada uma das 160 trilhas (80 em cada lado) do disquete, fornecendo 1.474.560 bytes de armazenamento no disco.

Os setores físicos são, na verdade, maiores que 512 bytes, pois, além do campo de dados de 512 bytes, eles incluem um campo identificador de setor, bytes de CRC (em alguns casos, bytes de correção de erros) e lacunas (gaps) entre os campos. Esses bytes adicionais normalmente não são incluídos no valor citado para a capacidade total de armazenamento do disco.

Diferentes formatos de baixo nível podem ser usados na mesma mídia; por exemplo, registros grandes podem ser usados para reduzir o tamanho da lacuna entre os registros.

Vários programas freeware, shareware e de software livre (por exemplo, GParted, FDFORMAT, NFORMAT, VGA-Copy e 2M) permitiam um controle consideravelmente maior sobre a formatação, possibilitando a formatação de disquetes de 3,5" de alta densidade com capacidade de até 2 MB.

As técnicas utilizadas incluem:

inclinação de setor de trilha/cabeça (movendo a numeração do setor para frente na mudança de lado e no deslocamento entre trilhas para reduzir o atraso mecânico), intercalação de setores (para aumentar a taxa de transferência organizando os setores na trilha), aumento do número de setores por trilha (enquanto um formato normal de 1,44 MB usa 18 setores por trilha, é possível aumentar para um máximo de 21) e aumento do número de trilhas (a maioria das unidades tolerava a extensão para 82 trilhas: embora algumas pudessem lidar com mais, outras podiam travar).

O Linux suporta uma variedade de tamanhos de setor, e o DOS e o Microsoft Windows suportam um formato de disquete formatado em DMF com tamanho de registro grande.

Depois de estabelecer a estrutura das trilhas, um formatador também precisa preencher todo o disquete e procurar por setores defeituosos. Tradicionalmente, os setores físicos eram inicializados com um valor de preenchimento de 0xF6 de acordo com a Tabela de Parâmetros de Disco (DPT) da INT 1Eh durante a formatação em máquinas compatíveis com IBM PC. Esse valor também é usado no Atari Portfolio. Os disquetes de 8 polegadas do CP/M normalmente vinham pré-formatados com um valor de 0xE5, (xviii+856+vi páginas, disquete de 3.5") Errata: e por meio da Digital Research esse valor também foi usado no Atari ST e em alguns disquetes formatados pela Amstrad. Fora isso, a Amstrad usava 0xF4 como valor de preenchimento.

Formatação de baixo nível (LLF) de discos rígidos

Os discos rígidos anteriores à década de 1990 normalmente tinham um controlador de disco separado que definia como os dados eram codificados na mídia. Como a mídia, a unidade e/ou o controlador podiam ser adquiridos de fornecedores separados, os usuários frequentemente podiam realizar a formatação de baixo nível por conta própria. A aquisição separada também trazia o potencial de incompatibilidade entre os componentes, fazendo com que o subsistema não armazenasse dados de forma confiável.Esse problema tornou-se comum em PCs onde os usuários utilizavam controladores RLL com unidades MFM; "Unidades MFM não devem ser usadas em controladores RLL.".

A formatação de baixo nível (LLF, do inglês low-level formatting) instigada pelo usuário em discos rígidos era comum para sistemas de minicomputadores e computadores pessoais até a década de 1990. A IBM e outros fornecedores de sistemas de grande porte (mainframe) normalmente forneciam seus discos rígidos (ou mídias, no caso de HDDs de mídia removível) com uma formatação de baixo nível de fábrica. Normalmente, isso envolvia a subdivisão de cada trilha do disco em um ou mais blocos que conteriam os dados do usuário e as informações de controle associadas. Computadores diferentes usavam tamanhos de bloco diferentes e a IBM utilizava notavelmente tamanhos de bloco variáveis, mas a popularidade do IBM PC fez com que a indústria adotasse um padrão de 512 bytes de dados de usuário por bloco em meados da década de 1980.

Dependendo do sistema, a formatação de baixo nível geralmente era feita por um utilitário do sistema operacional. Os PCs compatíveis com IBM usavam o BIOS, que é invocado por meio do programa de depuração (DEBUG do MS-DOS), para transferir o controle para uma rotina oculta em endereços diferentes nos vários BIOS.Using DEBUG to Start a Low-Level Format, Microsoft

Transição para o fim da LLF de usuário

A partir do final da década de 1980, impulsionados pelo volume de PCs compatíveis com IBM, os HDDs passaram a ser comercializados rotineiramente pré-formatados com uma formatação de baixo nível compatível. Ao mesmo tempo, a indústria mudou das antigas interfaces seriais de bits (simples ou não inteligentes) para as modernas interfaces seriais por palavra ou inteligentes, nas quais a formatação de baixo nível era realizada estritamente na fábrica. Consequentemente, não é possível para um usuário final realizar a formatação de baixo nível em um disco rígido moderno.

Discos modernos: reinicialização Os discos rígidos modernos não podem mais realizar LLF pós-produção, ou seja, restabelecer o layout básico de "trilhas" e "blocos" na superfície de gravação. A reinicialização refere-se a processos que retornam um disco a uma configuração semelhante à de fábrica: sem dados, sem particionamento, com todos os blocos disponíveis para uso.

Suporte ao conjunto de comandos O SCSI fornece um comando . Esse comando executa a etapa de certificação necessária para eliminar os setores defeituosos e tem a capacidade de alterar o tamanho do setor. O programa de linha de comando sg_format pode ser usado para emitir o comando. Uma variedade de tamanhos de setor pode ser escolhida, mas não está disponível em todos os dispositivos: setores de 512, 520, 524, 528, 4096, 4112, 4160 e 4224 bytes.Seagate SAS drives Embora o comando SCSI forneça muitas opções, até mesmo o redimensionamento, ele não altera a camada de trilhas onde ocorre a formatação de baixo nível propriamente dita.