Modified Frequency Modulation, comumente citada como MFM, é um esquema de codificação de linha usado para codificar informação na maioria dos formatos de disquete, os quais incluem aqueles usados em grande parte das máquinas CP/M bem como nos PC compatíveis executando o DOS.
O MFM é uma modificação do esquema de codificação FM (Frequency Modulation) original para codificar dados em disquetes de densidade simples. Visto que o espaçamento mínimo entre as transições de fluxo é uma propriedade do projeto do disco e das cabeças de leitura, o MFM, o qual garante ao menos um fluxo de transição por bit de dados, pode ser escrito numa densidade maior do que a do FM, o qual exige duas transições por bit de dados. É usado com uma faixa de dados de 250-500 kbit/s (500-1000 kbit/s codificados) no padrão industrial dos disquetes de 5¼" e 3½", comuns e de alta densidade. O MFM também foi usado nos primeiros projetos de HDs, antes do advento de tipo mais eficiente de codificação Run Length Limited (RLL). Exceto pelos drives de disquete de 1.44 MB, cujo uso vem sendo gradualmente abandonado, a codificação MFM pode ser considerada obsoleta.
Codificação
A codificação MFM pode ser pensada como tendo bits de dados separados por bits de clock. A regra de codificação básica é que (x, y) é codificado como (x, x NOR y, y). Na média, isso significa que cada bit de dados é codificado como dois bits no disco, mas alguns delimitadores são exigidos no início e fim da seqüência, de forma que este limite nunca é realmente atingido na prática.
Dados | Codificação MFM |
---|---|
...00... | ...?010?... |
...01... | ...?0010... |
...10... | ...0100?... |
...11... | ...01010... |
Note que os bits de clock circundantes são por vezes conhecidos, mas algumas vezes exigem conhecimento dos bits de dados adjacentes. Por exemplo:
Dados: 0 0 0 1 1 0 1 1
Codificação: ?0101001010001010
(Os bits em negrito são bits de dados, os outros são bits de clock.)
Deve ser observado que há um mínimo de 1 bit zero entre 1s adjacentes (nunca existem dois bits 1 adjacentes), e que o número máximo de zeros numa linha é de 3. Assim, o MFM é um código (1,3) do RLL.
Esta cadeia de bits é então codificada pelo método NRZI para ser escrita no disco; um bit 1 é representando uma reversão magnética, e um bit 0 como uma não-reversão.
Uma "marca de sincronia" especial é usada para permitir que o controlador de disco deduza onde os dados começam. Esta marca de sincronia possui duas propriedade importantes: não tem séries de zeros menores do que 1 ou maiores do que 3 (isto é, segue a regra RLL de (1,3)) e nunca ocorrerá em qualquer posição de bit em qualquer fluxo de dados codificados. A marca de sincronia é denominada sincronia A1 visto que é similar a codificação do valor hexadecimal A1 (10100001).
Dados: 1 0 1 0 0 0 0 1
Codificação: 100010010101001
Marca de sincronia: 100010010001001 ^ Bit de clock ausente
MMFM
MMFM, M²FM ou M2FM (Modified Modified Frequency Modulation) é semelhante ao MFM, mas possui um comprimento de corrida (run length) mais longo.
Ver também
Ligações externas
- DA-RIN, B. Piropo. Tipos de Discos Rígidos em bpiropo.com. Acessado em 30 de maio de 2008.
- DA-RIN, B. Piropo. Sopa de letras I: MFM e RLL em bpiropo.com. Visitado em 22 de dezembro de 2007.
- SASAKI, Paulo. Subsistemas de Armazenamento Modernos em Paulo Sasaki & Consultores Associados. Acessado em 30 de maio de 2008.