주파수 변조 수정
Modified frequency modulationModified Frequency Modulation(MFM; 수정 주파수 변조)은 대부분의 플로피 디스크 및 일부 하드 디스크 드라이브의 데이터를 인코딩하기 위해 사용되는 RLL(Run-Length Limited) 라인[1] 코드입니다.1970년 IBM 3330과 함께 하드 디스크에 처음 소개되었고 1976년 IBM 53FD를 시작으로 플로피 디스크 드라이브에 도입되었습니다.
MFM은 Original Frequency Modulation Encoding(FM; 주파수 변조 부호화)의 수정입니다.FM 부호화는 클럭 신호와 데이터를 각각 따로 쓰고 데이터 비트당2개의 클럭 사이클을 필요로 하는 반면 MFM은 2개의 클럭사이클을 1개의 신호로 조합하여1개의 디스크에 2배의 데이터를 씁니다.이 때문에, MFM 디스크는 통상 「이중 밀도」라고 불리고 있습니다만, 이전의 FM은 「싱글 밀도」라고 불리고 있습니다.
MFM은 업계 표준으로 250~500kbit/s(500~1000kbit/s 부호화)의 데이터 레이트로 사용됩니다.5+1인치 4인치 및 3+1인치 2인치 보통 고밀도 플로피 디스켓.MFM은 보다 효율적인 유형의 RLL 코드가 등장하기 전에 초기 하드 디스크 설계에도 사용되었습니다.틈새 어플리케이션 이외에서는 MFM 인코딩은 자기 기록에서는 사용되지 않습니다.
자기 저장 장치
하드 드라이브나 자기 테이프와 같은 자기 저장 장치는 데이터를 절대값이 아닌 극성의 변화로 저장합니다.이는 변화하는 자기장이 근처의 와이어에 전류를 유도하고 그 반대도 마찬가지이기 때문입니다.미디어가 리드/라이트 헤드를 지나쳐 이동하는 동안 일련의 변화하는 전류를 리드/라이트 헤드로 전송하면 데이터가 "1"인 매체의 자기 극성 패턴이 바뀝니다.미디어의 정확한 성질에 따라 특정 표면 영역 내에서 이러한 변화 중 몇 개가 발생할 수 있는지 결정되며, 이를 공칭 이동 속도와 결합하면 해당 시스템의 최대 데이터 속도가 생성됩니다.
디스크 드라이브에는, 데이터의 원래의 패턴을 「지터」로 하는 다양한 기계적 및 재료적 영향이 있습니다.긴 문자열인 "0"이 디스크에 전송되면 다음 "1"이 어떤 비트에 속할 수 있는지 나타내는 것은 없습니다.지터의 영향으로 인해 시간이 지나면 위치가 잘못될 수 있습니다.디스크상의 신호를 메모리의 개별 비트로 정렬하려면 데이터와 함께 디스크에 인코딩된 타이밍 신호가 필요합니다.
이러한 목적을 위해 일반적으로 회선 코드라고 알려진 다양한 적합한 인코딩이 개발되었습니다.미디어 또는 전송 메커니즘의 특정 세부 사항에 따라 다릅니다.
주파수 변조
Frequency Modulation Encoding(FM; 주파수 변조 부호화)은 이 조작을 실행하는 첫 번째 시스템입니다.드라이브 컨트롤러에는 디스크 미디어의 선택된 데이터 속도의 절반으로 작동하는 정확한 클럭이 포함되어 있습니다.데이터가 디스크에 기록되면 클럭 신호가 데이터와 인터리빙됩니다.판독 시 클럭 신호는 데이터 [2]비트를 나타내는 다음 신호의 유무를 계시화하는 단기 트리거로 사용됩니다.
FM 접근법의 장점은 쓰기 회로를 구현하기가 매우 쉽고 읽기 시 클럭 복구도 비교적 간단하다는 것입니다.단점은 클럭 신호에 대해 디스크 표면의 절반을 사용하므로 디스크가 저장할 수 있는 총 데이터 양이 절반으로 줄어든다는 것입니다.이것에 의해, 보다 효율적인 새로운 형식의 부호화가 실현되었습니다.
MFM 부호화
수정된 주파수 변조는 클럭 신호와 데이터를 단일 "클럭 창"으로 인코딩합니다.FM과 마찬가지로 원본 데이터의 가능한 모든 비트에 대한 전환을 인코딩합니다.차이점은 데이터 자체가 개별적으로 기록되지 않는다는 것입니다.대신 "1" 또는 "0"은 창 내의 극성 변화 위치에 따라 인코딩됩니다.실제로는 의도적인 지터를 사용하여 데이터를 부호화합니다.
MFM의 기본 부호화 규칙은 (x, y, y, y, y, z, z, nOR...)로 부호화됩니다.제로는 다음과 같이 부호화됩니다.앞에 0이 있는 경우 10, 앞에 0이 있는 경우 00이 있습니다. 즉, 1은 항상 01로 인코딩됩니다(각각의 경우 25 %가 발생). 따라서 자기 전환 횟수는 평균 0.75(25% 10 = yes + 25% 00 = no + 50% 01 = yes).
데이터. | ... 0 0 ... | ... 0 1 ... | ... 10 ... | ...11... |
---|---|---|---|---|
MFM 클럭비트 | ...? 1 ?... | ...? 0 0... | ...0 0 ?... | ...0 0 0... |
MFM 부호화 | ...?010?... | ...?0010... | ...0100? | ...01010... |
주변 클럭비트가 알려져 있는 경우도 있지만 인접한 데이터 비트에 대한 지식이 필요할 수 있습니다.더 긴 예:
데이터: 0 0 0 1 1 0 1 ...FM 부호화: 1010101111111...MFM 클럭: ?1 1 0 0 0 0 0 ...MFM 부호화: ?01010010100010...
(굵은 글씨로 표시된 비트는 데이터 비트이며, 다른 비트는 클럭 비트입니다).
FM 부호화에서는 연속되는1 비트간에 표시되는0 비트수는 0 또는1 입니다.MFM 부호화에서는 인접 비트간에 최소1개의 제로 비트가 존재하며(인접하는1비트는 2개도 존재하지 않습니다), 행의 최대 제로 수는 3 입니다.따라서 FM은 (0,1) RLL 코드이며, MFM은 (1,3) 코드입니다.
data 구분자
MFM 시스템은 클럭 신호의 보다 정확한 타이밍을 필요로 하기 때문에 1970년대 후반 기술을 사용하여 하나의 집적회로 상에 필요한 아날로그 및 디지털 컴포넌트를 구축하는 것은 경제적으로 불가능했습니다.대신 MFM 드라이버는 드라이브 벤더가 데이터 분리기로 알려진 시스템인 자체 클럭 복구 회로를 설계해야 했습니다.데이터 분리기 디자인은 독자적인 [3]예술 형태였습니다.
이 시대에 가장 널리 사용된 컨트롤러는 Western Digital FD1771 시리즈입니다.원래 FD1771은 FM만 지원했지만 외부에서 제공된 클럭 신호를 기반으로 MFM을 실행하는 FD1781 및 FD1791과 빠르게 페어링되었습니다.이러한 드라이버를 사용해 MFM 서포트를 실장하려면 , 외부 데이터 분리기가 필요했습니다.1970년대 후반과 1980년대 초반 IC 제조의 급속한 발전으로 1980년대 초반 최초의 저가 올인원 MFM 드라이버가 탄생했다.WD2791은 내부 아날로그 위상 잠금 루프를 사용하여 MFM을 직접 지원하는 최초의 모델이지만 완전한 시스템을 구현하기 위해서는 다수의 단순한 외부 컴포넌트가 필요했습니다.WD1770은 완전한 MFM 솔루션을 단일 칩으로 구현한 최초의 제품입니다.
전체 형식
FM 및 MFM은 원본 데이터에서 개별 비트의 위치를 나타내기 위해 사용되지만 데이터 자체는 "파일"과 같은 더 높은 수준의 구성을 가지고 있지 않습니다.이것이 디스크 포맷의 목적입니다.디스크는 일반적으로 파일에 링크하기 위한 추가 헤더 정보가 포함된 고정 크기의 섹터로 포맷됩니다.
IBM 형식에서 섹터의 헤더 정보의 시작과 데이터 자체의 시작은 데이터 자체에 나타날 수 없는 0과 1의 패턴인 특별한 "동기 표시"로 표시됩니다.이것은, FM 또는 MFM 인코딩을 사용해 이 데이터를 부호화하지 않는 것에 의해서 실현되기 때문에, 드라이버는 데이터를 용이하게 검출할 수 있습니다.MFM 인코딩에서 일반적으로 사용되는 동기 마크는 데이터 비트가 16진수 값 A1(10100001)의 시작을 형성하기 때문에 "A1 동기"라고 불리지만 5번째 클럭비트는 A1 바이트의 일반 인코딩과 다릅니다.
데이터: 1 0 1 0 0 0 0 1 클럭: 0 0 0 1 1 0 부호화: 1000100101001 동기 클럭: 0 0 0 1 0 동기 마크: 10001001 ^ 클럭 비트 누락
MMFM
MMFM(Modified Modified Frequency Modulation)은 M²FM(M2FM)과 유사하지만 추가 클럭 비트를 억제하여 더 긴 최대 실행 길이(1,4) RLL 코드)를 생성합니다.특히 클럭 펄스는 쌍의 첫 번째 비트에 [4]클럭 펄스가 삽입되지 않은 경우에만 인접한0비트 쌍 사이에 삽입됩니다.다음 예에서는 MFM에 존재하는 클럭비트가 굵은 글씨로 표시되어 있습니다.
데이터: 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 클럭: 0 0 0 0 0 0 0 0 0 1 0 100 100 100 100 100 100 100 100 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 부호화: 0101000001
이 시스템에서 동기 마크는 인접한 제로 비트 사이에 추가 클럭 펄스를 삽입함으로써 생성됩니다(MFM 규칙에 따라).이 경우 일반적으로 이들 펄스는 생략됩니다.특히 데이터 비트 패턴 "100001"은 중간에 클럭 펄스가 삽입되어 있어 일반적으로 생략됩니다.
데이터: 1 0 0 0 0 1 정규: 0 1 0 1 0 동기: 0 1 1 1 0
「 」를 참조해 주세요.
- 그룹 코드 녹음(GCR)
레퍼런스
- ^ Kees Schouhamer Immink (December 1990). "Runlength-Limited Sequences". Proceedings of the IEEE. 78 (11): 1745–1759. doi:10.1109/5.63306.
A detailed description is furnished of the limiting properties of runlength limited sequences.
- ^ Hecht, M.; Guida, A. (July 1969). "Delay Modulation". Proceedings of the IEEE. IEEE. 57 (7): 1314–1316. doi:10.1109/PROC.1969.7249.
- ^ Lutz, Bob; Melloni, Paolo; Wakeman, Larry (1982). Floppy Disk Data Separator Design Guide for the DP8473 (Technical report). National Semiconductor.
- ^ Intel Corporation (1977). SBC 202 Double Density Diskette Controller Hardware Reference Manual (PDF). pp. 4–26. Archived (PDF) from the original on 2017-06-18.
이 문서에는 General Services Administration 문서의 퍼블릭도메인 자료가 포함되어 있습니다.
추가 정보
- Savard, John J. G. (2018) [2006]. "Digital Magnetic Tape Recording". quadibloc. Archived from the original on 2018-07-02. Retrieved 2018-07-16.
외부 링크
- Johnson, Herbert R. (2016-07-06). "M2FM or MMFM diskette format". Archived from the original on 2017-06-18. Retrieved 2017-06-19.
- PC 가이드 주파수 변조