KR900005226B1 - 디스크 드라이브 형태 판단 방법 - Google Patents

디스크 드라이브 형태 판단 방법 Download PDF

Info

Publication number
KR900005226B1
KR900005226B1 KR1019850002921A KR850002921A KR900005226B1 KR 900005226 B1 KR900005226 B1 KR 900005226B1 KR 1019850002921 A KR1019850002921 A KR 1019850002921A KR 850002921 A KR850002921 A KR 850002921A KR 900005226 B1 KR900005226 B1 KR 900005226B1
Authority
KR
South Korea
Prior art keywords
disk
drive
head
port
state
Prior art date
Application number
KR1019850002921A
Other languages
English (en)
Other versions
KR860001381A (ko
Inventor
죤 아고그리아 로버트
앨런 다이얀 리챠드
앨런 스미스 브루스
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
제이. 에이취. 그래디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 제이. 에이취. 그래디 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR860001381A publication Critical patent/KR860001381A/ko
Application granted granted Critical
Publication of KR900005226B1 publication Critical patent/KR900005226B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Moving Of Head For Track Selection And Changing (AREA)

Abstract

내용 없음.

Description

디스크 드라이브 형태 판단 방법
제1도는 플로피 디스크를 도시하는 도면.
제2도는 본 발명에 의해 판단될 수 있는 디스크 드라이브와 디스크 매체와의 여러 가지 조합에 대한 표.
제3도는 디스크를 사용하는 컴퓨터 시스템의 프로그램 및 하드웨어 계층도.
제4도는 제안된 컴퓨터 시스템의 개략도.
제5도는 본 발명과 함께 이용 가능한 디스크 제어기의 개략도.
제6도는 본 발명에 의해 사용되는 상태 머신의 포맷을 도시하는 도면.
제7도는 디스크 드라이브 및 디스크 매체의 두형을 판단하기 위한 제1방법을 도시하는 흐름도.
제8도는 디스크 드라이브의 형을 판단하기 위한 제2방법을 도시하는 흐름도.
제9도는 디스크 드라이브 및 디스크 매체를 판단하기 위한 제3방법을 도시하는 흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 플로피 디스크 12 : 외주 원주
14 : 사슬구멍 16 : 활성 영역
18 : 최외곽 트랙 20 : 최내곽 트랙
30 : 80286 마이크로 프로세서 32 : 수리유니트
34 : 국부 버스 36 : 16MHz 클럭
38 : I/O 채널 40 : 어드레스 라인
42 : 데이터 라인 44 : 각종 상태 라인
46 : 버스 디멀티플렉서 및 명령 디코더 48 : 랜덤 억세스 메모리
50 : 리후레쉬 제어기 52 : 구동기/수신기
54 : 판독 전용 기억 장치 58 : 인터럽트 제어기
68 : I/O 슬롯
본 발명은 일반적으로 컴퓨터 디스크 시스템에 관한 것으로, 특히 디스크 드라이브 구별하기에 적합한 디스크 제어기에 관한 것이다.
컴퓨터 시스템은 종종 매우 많은 양의 기억용량을 필요로 한다. 자기 디스크는 종종 컴퓨터 시스템에 대기억용량을 공급한다. 때로 플로피 디스크라고 불리는 디스켓이 보편적으로 낮은 가격형의 자기 디스크이다.
컴퓨터 기술의 대부분의 영역에서와 같이, 컴퓨터의 세대를 잇기 위한 플로피 디스크의 성능에서의 지속적인 증대가 이루어져 왔다. 플로피 디스크에서, 증대된 성능은 대부분 증대된 기억용량, 즉 한 디스크에 대한 기억용량의 보다 큰 비트수에 의해 측정된다. 디스크 용량의 증대는 일반적으로 원주 밀도를 증가시키거나 또는 반경 밀도를 증가시킴으로써 달성될 수 있다. 원주 밀도 즉 트랙의 1인치당 비트의 수는 통상 디스크 매체에 의해 제한된다. 향상된 디스크 구성은 동일한 길이의 트랙에서 더 많은 수의 자기 영역을 허용한다. 물론, 디스크 드라이브가 향상된 디스크 매체의 더 높은 비트 속도로 판독할 수 있어야 된다. 반경밀도, 즉 디스크 상에서 인접한 트랙간의 분리도는 디스크 드라이브 및 그 관련 판독 헤드의 설계에 의하여 크게 좌우된다. 종래에는, 디스크 시스템에 대한 개선이, 디스크 드라이브와 디스크 매체 및, 이 디스크 드라이브 및 디스크 매체의 조합에 대해 최적화된 회전 속도와 같은 동작 파라미터를 가진 디스크 제어기의 종합적인 향상에 연류되어 왔다. 비록 이들 설계가 과거에 이용할 수 있었던 것보다 우수한 디스크 시스템을 산출한다고 하더라도, 호환성 문제가 개선할 점으로 남아 있다. 종래 세대의 디스크 시스템에 의해 만들어진 디스크는 일반적으로 새로운 세대의 디스크 시스템에 의해 판독될 수 없다. 이것은 컴퓨터 시스템의 서로 다른 세대간의 호환성의 결핍 때문이다. 호환성의 결핍은 사용자가 오래된 컴퓨터 시스템에 많은 양의 소프트웨어를 컴파일하였거나, 사용자의 컴퓨터가 가능한한 사용자의 디스크 시스템을 향상시키려고 할 때 격심해진다. 사용자는 그러므로 오래된 포맷으로부터 고가의 소프트웨어 및 데이터를 새로운 포맷 디스크로 변환시키는 문제점에 직면하게 된다. 디스크 포맷을 서로 다르게 하는 문제점은 세대간의 향상으로부터 뿐만 아니라, 단순히 상이한 제조자에 의한 디스크 드라이브의 상이한 특성으로부터도 야기될 수 있다. 본 발명의 목적을 위해, 포맷은 디스크 상의 데이터의 배열뿐 아니라 디스크를 성공적으로 억세스하도록 선택될 필요가 있는 드라이브의 동작 파라미터도 의미하게 된다. 디스크 매체와 디스크 드라이브 모두 호환성에 영향을 미친다.
물론, 가능한 해결책은 사용자가 구형 디스크와 신형 디스크를 사용자의 컴퓨터에 연결하는 것이다. 구형 디스크는 기존에 만들어진 디스크를 판독하는데 사용될 수 있으며, 또한 가능하면, 아직도 구형 디스크 시스템에 국한되어 있는 다른 사용자에게 이동시켜 주기 위해 디스크상에 수록하는데에도 사용될 수 있다. 신형 디스크는 더 높은 성능의 응용물에 사용될 수 있다. 호환성에 대한 복제식 해결 방법은 적어도 두개의 디스크 드라이브를 필요로 한다는 명백한 결점을 갖고 있다. 더욱이, 개인용 컴퓨터 분야에서 시판되어지고 있는 것과 같은 직접 컴퓨터 시스템에서, 복제식 해결 방법은 융통성(flexibility)이 부족하다. 몇몇 고객은 구형 디스크의 대형 라이브러리를 개발했을 수도 있으며, 그러므로 두 세대 모두의 디스크 드라이브를 필요로 할 것이다. 그러나, 다른 고객들은 신형 디스크에 의해 제공되는 추가적인 역량을 선호할 수도 있다. 더욱이, 특정한 고객의 요구는 단기간 또는 장기간의 시간에 걸쳐 변화할 수도 있다. 어떤 시기에는 고객이 구형과 신형 디스크의 조합을 원할 수도 있지만 다른 시기에는 두개의 신형 디스크로 운영하길 더 선호할 수도 있다.
호환성 문제에 대한 다른 가능한 해결책은 상이한 형태의 디스크 매체를 판독하도록 재구성할 수 있는 디스크 드라이브를 설계하는 것이다. 일반적으로, 이러한 것은 신형 디스크 드라이브가 구형 디스크를 지원하기 위한 부가적인 모드로 동작할 수 있다는 것을 의미한다.
특정 디스크 드라이브가 서로 다른 포맷으로 판독 및 수록할 수 있다면, 디스크 드라이브를 달리하거나 디스크 포맷을 달리하는 것을 수용하는 재구성 가능한 디스크 시스템은 시스템의 어떠한 입력을 필요로 한다. 외부 스위치가 디스크 드라이브의 형이나 디스크 매체 포맷의 형을 표시하기 위해서 사용자에 의해 수동적으로 셋트될 수 있다는 것을 생각할 수 있다. 비록 비슷한 연구 방법이지만 좀 더 정교한 것은 이들 제어 장치가 소프트웨어에 의해 셋트되어지도록 하게 하는 것이다. 그러나, 이 두 경우에서도, 디스크 사용자는 디스크 드라이브의 트랙 및 현재 사용되고 있는 특정 디스크의 포맷을 유지해야만 한다. 즉, 디스크 시스템의 적응 특성이 사용자에게 투명(transparent)하지가 않다.
본 발명의 목적은 시스템의 장치 부착 포트에 실제로 부착된 디스크 드라이브의 형태를 판단 또는 인식하도록 컴퓨터 시스템을 적응시키기 위한 방법을 제공하는 것이다.
상기 방법에 따라, 포트에 부착된 디스크 드라이브상의 헤드는 소정의 트랙 어드레스로 이동되도록 제어된다. 한 형태의 디스크 드라이브상의 헤드가 실제로 이동되는 트랙 어드레스는 다른 형태의 디스크 드라이브상의 헤드가 실제로 이동되는 트랙 어드레스와는 다르다. 그러므로, 포트에 실제로 부착된 디스크 드라이브의 형태를 헤드가 이동된 트랙 어드레스를 결정함으로써 결정된다.
본 발명의 한 양호한 실시예가 제8도를 참조하여 제2방법으로서 후술되게 되는데, 이 실시예에서는, 헤드가 이동된 트랙 어드레스의 결정이, 기준 트랙 위치에 대한 반대 방향으로 일정한 증분을 갖고 헤드를 이동시키고 그 증분의 수를 계수함으로써 이루어진다.
제1도는 플로피 디스크(10)의 일반적인 포맷을 도시한다. 외부 원주(12)의 직경은 디스크(10)에 대한 통상의 지정에 따른다. 통상 크기의 두가지 디스크는 8인치 디스크 및
Figure kpo00001
인치 디스크이다. 사슬구멍(14)(sprocket hole)은 디스크 드라이브의 스핀들에 적합하게 되어 있다. 기록은 디스크(10)의 활성 영역(16)에 위치된 원주형 트랙상에서 수행된다. 최외곽 트랙(18)은 홈 트랙으로 명명되며 디스크 드라이브는 통상적으로 판독용 헤드가 홈트랙(18)과 최내곽 트랙(20) 사이에서만 이동할 수 있도록 구성되어 있다.
이제 양측 디스크(DSD: Double Sided Disk)에 대한 특정 포맷이 기술되게 된다. DSD는 비일반적인 용어이며 DSD 포맷에 적합하지 않은 양측 디스크도 있다. DSD 디스크는 디스크의 양측면상에 360K 바이트의 포맷된 데이터를 수용할 수 있다. 여기에는 40개의 트랙이 있으며, 1인치당 48개 트랙의 비율로 이격되어 있다. 디스크는 300rpm으로 회전하며 데이터는 1초당 250k 비트로 기록된다. 이들 파라미터와 전제 디스크 용량간의 차이는 디스크 포맷팅 정보용으로 디스크의 일부를 이용하는 필연성에 의해 설명된다. DSD에 대한 포맷은 5¼인치 디스크에 적용되는 MFM(Modified Frequency Modulation)포맷이다. MFM 포맷은 매사츄세츠, 나틱에 소재하는 회사로부터 이용할 수 있는 NEC 일렉트로닉스 미합중국 인코포레이티드의 1982년 카타로그에서 상세히 설명되어 있다. 설명은 470-472 페이지에 나타나 있다. DSD 포맷은 IBM 컴퓨터의 퍼스널 컴퓨터 XT내에 내장된 디스켓 드라이브 어댑터에서 사용되었고 이것의 이용은 플로리다, 보카 레이턴에 소재하는 IBM 코포레이션에서 만들어진 1983년 4월판 "퍼스널 컴퓨터 XT 하드웨어 레퍼런스 라이브러리 : 테크니컬 레퍼런스"에 기술되어 있다.
다른 디스크 포맷은 HC(High Capacity)포맷이며, 이것 또한 비일반적인 용어이다. HC 포맷은 8인치 디스크에 적용된 MFM 포맷인데, 이것은 5¼인치로 축소되었다. HC 디스크는 디스크의 양측상에 1.2M 바이트의 포맷된 데이터를 수용할 수 있다. 여기에는 80개의 트랙이 있으며, 1인치당 96개 트랙의 비율로 이격되어 있다. 따라서, HC 디스크의 활성 영역(16)은 DSD 디스크의 것과 동일하지만 HC 디스크는 2배의 반경 트랙 밀도를 갖고 있다. HC 디스크는 360rpm으로 회전하고 데이터는 1초당 500K 비트로 기록된다. 또한, 이들 파라미터와 전체 디스크 용량간의 차이는 요구되는 디스크 포맷팅 정보에 의해 설명된다.
두 디스켓 드라이브를 수용할 수 있는 디스켓 시스템이 제안되어져 왔다. 두 드라이브는 사용자의 요구에 따라, DSD 드라이브와 HC 드라이브와의 어떠한 조합이 될 수도 있다. 제2도에서는 디스크 드라이브와 이들 드라이브가 수용할 수 있는 매체의 특성을 도시한다. DSD 드라이브는 단지 DSD 포맷된 디스크만을 수용하게 되며, 퍼스널 컴퓨터 XT의 디스켓 드라이브로 대표된다. HC 디스크 드라이브는 HC 포맷된 디스켓을 수용하도록 특별히 설계된 새로운 드라이브이다. 그러나, HC 드라이브는 최소한 HC 및 DSD 디스크를 모두 판독할 수 있도록 설계 되어졌다. 그러므로 HC 드라이브는 DSD 디스크 드라이브의 이전 세대에 만들어진 디스크를 수용하기 때문에 향상된 호환성을 제공한다. 이러한 향상된 호환성은 사용자가 DSD 디스크 드라이브를 구입하지는 않지만 경우에 따라서 DSD 디스크를 사용하고자 할 때 제안된 시스템에서 특히 중요하다.
DSD 포맷과 HC 포맷에는 회전 속도를 달리하기 때문에, HC 드라이브는 1초당 300K 비트로 DSD 디스크로부터 데이터를 판독한다. 전술된 바와 같이, DSD 디스크상의 트랙 밀도는 HC 디스크의 트랙 밀도의 절반이다. 디스크 드라이브상의 판독/수록 헤드는 인접한 트랙 사이의 스텝(step)을 전진 또는 후퇴시키는 스테핑 모터에 의해 위치된다. 즉, 스테핑 모터는 그것이 유사 포맷된 디스크를 판독하고 있을 때에는, 인접한 트랙 사이에서 단일 스텝 방식을 취한다. 그러나, HC 드라이브가 DSD 디스크를 억세스할 때 HC 드라이브는 인접한 DSD 트랙 사이에서 더블 스텝 방식을 취해야 한다.
컴퓨터에 제안된 디스켓 시스템을 인터페이스 하는 것은 여러 가지 문제점을 나타낸다. 우선 무엇보다도 먼저, DSD 및 HC 디스크 드라이브에 대한 사용자 선택이 작동 시스템 또는 디스크 제어기에 미리 알려지지 않는다는 것이다. 물론 디스크의 형태를 표시하기 위해 디스크 제어기에 추가 토글(toggle)이 제공되거나, 또는 이와 달리, 사용자가 작동 시스템을 초기화시켜 실제로 사용되고 있는 디스크 드라이브의 특정 조합용으로 구성하도록 하는 것도 가능하다. 그러나, 만일 디스크 제어기가 어떻게 해서든지 부착된 디스크 드라이브를 질의(interrogate)하여, 그 형태를 판단할 수 있다면 훨씬 더 바람직하다. 이러한 판단이 추가 하드웨어의 이용없이 이루어질 수 있다면 더더욱 바람직하다.
제2의 문제점은 HC 디스크 드라이브가 사용되어질 때 발생한다. 비록 드라이브 형태가 판단되어진 후더라도, 사용자는 교대로 DSD 디스크나 또는 HC 디스크를 HC 드라이브내로 삽입시킬 수도 있다. 또한, 사용자는 토글이나 또는 소프트웨어 입력의 사용으로 매체 식별을 제공할 수도 있다. 그러나, 디스크 드라이브에서 디스크 매체의 빈번한 교환으로 인해, 디스크 매체의 사용자 판단은 드라이브 판단을 행하는 것보다 사용자에게는 훨씬 더 큰 혼란을 준다. 또한, 매체 판단은 추가 하드웨어의 이용없이 자동적으로 수행되는 것이 더욱 바람직하다.
제3도에서는 디스크의 컴퓨터 이용에 연관된 서로 다른 동작 레벨을 도시한다. 응용 프로그램을 사용자에 의해 종종 수록되는, 원하는 작업을 수행하기 위한 작동 프로그램이다. 디스크 작동 시스템(DOS)은 디스크의 이용을 지원하도록 특별히 설계된 일반적인 작동 시스템이다. DOS의 한 형태는 마이크로 소프트 코포레이션에 의해 개발된 MS/DOS이다. I/O 감시 프로그램을 지원할 수 있다면 다른 형태의 작동 시스템도 사용될 수 있다. 기본 입/출력 시스템(BIOS)은 특정 컴퓨터에 대한 I/O 감시 프로그램이며 I/O 장치의 일반적인 등급을 지원하기 위해 사용된다. 디스크 제어기는 하나 이상의 디스크 드라이브(22-26)를 지원하는데 필요한 하드웨어를 구성한다. 제안된 시스템에서, 디스크(22-26)중 두개는 DSD 디스크 드라이브와 HC 디스크 드라이브의 어떠한 조합에서도 플로피 디스크가 될 수 있다. 본 발명은 디스크 드라이브(22-26)의 특성이나 또는 그 드라이브에 사용되는 디스크 매체의 특성을 판단하기 위해 디스크 제어기에서 이미 이용가능한 하드웨어와 BIOS에서의 추가적인 소프트웨어를 이용한다.
제4도에서는 본 발명과 함께 작동하도록 의도된 제안된 컴퓨터 시스템의 일반적인 구조에 대해서 도시한다. 처리는 80286 마이크로 프로세서(30) 및 국부 버스(34)에 의해서 마이크로 프로세서(30)에 부착된 80287 수리 유니트(32)에 의해서 수행된다. 80286 및 80287은 모두 인텔 코포레이션에서 시판된다. 마이크로 프로세서는 비록 80286이 8MHz로 작동하더라도 16MHz의 클럭(36)에 의해서 구동된다. 컴퓨터 시스템의 잔여부에 대한 통신은 어드레스 라인(40), 데이터 라인(42) 및 인터럽트 요구 라인과 같은 각종 상태 라인(44)을 운반하는 I/O 채널(38)에 의해 수행된다. 버스 디멀티플렉서 및 명령 디코더(46)는 I/O 채널(38)과 마이크로 프로세서(30) 사이의 인터페이스를 제어한다. 랜덤 억세스 메모리(48)의 256K 바이트의 두 뱅크(bank)는 리후레쉬 제어기(50)를 통해 80286 마이크로 프로세서(30)에 연결된다. 또한, 구동기/수신기(52)를 통해 I/O 채널에는, 64K 바이트의 판독 전용 기억 장치(54), 7 채널 직접 메모리 억세스 유니트(56), 15 레벨 인터럽트 제어기(58), 키보드 부속 장치(60), 스피커 부속 장치(62) 및 타이머(64)가 부착된다. 전술한 DOS 작동 시스템은 RAM(48)에 기억되고 BIOS 감시 프로그램은 판독 전용 기억 장치(54)에 기억된다. 14.318MHz 클럭(66)은 구동기/수신기(52)와 I/O 채널에 부착된 다른 카드에 대한 클럭킹 기능을 제공한다. 이들 콤포넌트는 사용자에 의해 추가 컴퓨터 역량을 위해 선택되는 어떠한 카드에 대해서도 8개 I/O 슬롯(8)을 더 포함하는 큰 베이스 보드에 모두 포함된다. 8개 I/O 슬롯(68)은 각각 클럭(66)에서 나온 클럭킹 신호뿐만 아니라 I/O 채널(38)의 각 라인에 대한 단자를 갖고 있다.
I/O 슬롯(68)중 한 슬롯내에 꼭맞게 조립될 수 있는 한 카드가 소위 이중 카드이다. 이중 카드는 디스크 제어기이며, 4개 까지의 디스크를 제어한다. 디스크중 두개는 고정 또는 하드 디스크 드라이브이고, 디스크 중 두개까지는 DSD 드라이브 또는 HC 드라이브인 플로피 디스크 드라이브일 수 있다. 드라이브의 특정 조합은 사용자에 의해서 결정되며, 본 발명의 목적은 사용자에게 가능한한 투명한(transparent) 어떠한 선택된 조합도 이용하도록 하는 것이다.
이중 카드의 플로피 디스켓 기능은 대부분 상기 퍼스널 컴퓨터 테크니컬 레퍼런스 매뉴얼에 상세히 설명된 바와 같이 현존하는 IBM 퍼스널 컴퓨터 디스켓 부속 장치와 호환성이 있다. 예외는 다음과 같다. 디스켓 제어기는 최대로 두개의 플로피 디스크 드라이브 만을 제어한다. 디지탈 출력 레지스터는 표 1에 따라 한정된다.
[표 1]
Figure kpo00002
플로피 디스크 기능은 4개의 데이터 속도, 즉 1초당 125,250,300 및 500K의 데이터 속도를 지원하게 된다. 1초당 125K 비트의 속도는 본 발명에 상관되지 않으므로 더 이상 기술되지 않는다. 나머지 모든 데이터 속도는 MFM 포맷에 적합하다. 플로피 제어 레지스터는 I/O 어드레스 3F7H에서 부가되거나, 또는 만일 2차 스페이스가 이용되면, 377H에서 부가된다. 플로피 제어 레지스터는 4비트 수록-전용 레지스터이며 표 2에 따라 한정된다.
[표 2]
Figure kpo00003
플로피 디스크 인터페이스 신호인 감소된 수록 전류(REDUCED WRITE CURRENT)는 비트 0의 논리 반전된 것이며, 즉 1초당 300K 비트가 선택되면, REDUCED WRITE CURRENT 신호가 활성이 된다. 또한, 진단 목적으로는 8비트 판독 전용 디지탈 입력 레지스터가 있다. 디지탈 입력 레지스터 비트 0-6은 드라이브/헤드 레지스터가 수록된 후 50 마이크로초간 유효하다. 비트 7은 항상 유효하다. 상기 디지탈 입력 레지스터는 표 3에 따라 한정된다.
[표 3]
Figure kpo00004
고정 디스크 드라이브는 I/O 어드레스 3F6H에서 부가되거나, 만일 2차 스페이스가 사용되면 376H에서 부가된다. 고정 디스크 레지스터는 4비트 수록-전용 레지스터이며 표 4에 의해 한정된다.
[표 4]
Figure kpo00005
부속 장치는 80개 트랙까지 지원하며, 512 바이트로 각각 구성된, 1트랙당 15개 섹터까지 지지한다. 플로피 디스크 기능은 모든 데이터 속도에 대해 125ns의 수록 사전-보상(pre-compensation)를 제공한다.
플로피 디스크 기능은 NEC로부터 이용할 수 있는 765A 또는 인텔 코포레이션으로부터 이용할 수 있는 8272A와 같은 디스켓 제어기에 근거를 두고 있다. 765A는 전술한 NEC 카타로그에 상세히 기술되어 있다.
제5도에는 플로피 디스크 제어기의 주변의 회로 구성을 도시하며, 여기서는, 플로피 디스크 드라이브(70)가 DSD 드라이브이거나 HC 드라이브던간에 플로피 디스크 드라이브(70)중 하나와 I/O 채널(38)과의 사이의 인터페이스(장치 부착 포트로도 불림)를 도시한다. 동일한 인터페이스가 두개의 드라이브를 지원한다. 이러한 구성은 전술한 1BM 퍼스널 컴퓨터 데그니컬 레피런스 매뉴얼에 기술된 바와 동일하지만 몇가지 중요한 사실은 지적되어야 한다. 765A와 같은 플로피 디스크 제어기(72)는 인터페이스에 지능을 제공한다. 디스크 드라이브(70)로부터의 데이터는 판독 데이터를 동기시키는 데이터 분리(74)를 통하여 제어기(72)로 판독된다. 이러한 동기 기능은 본 발명에서는 특히 중요한데 이러한 이유는 데이터가 1초당 서로 다른 3가지 데이터 속도 250,300 또는 500K 비트로 판독될 수 있기 때문이다. 디스크 드라이브(70)로의 스텝(STEP) 입력(76)은 디스켓에 교차하여 판독/수록 헤드를 스텝한다. 그러나, 디스크 드라이브(70)의 판독/수록 헤드는 디스켓의 활성 영역(16)의 경계를 벗어날 수는 없다. 만일 STEP 입력(76)상의 신호의 활성 영역(16)을 벗어나 헤드를 구동시키는 디스크 드라이브(70)에 의해 수신되면, 이들 신호는 무시되고 판독/수록 헤드는 극단의 트랙에서 남아있다. 판독/수록 헤드가 홈트랙(18)에 위치되어 있는 것을 나타내는 디스크 드라이브(70)로부터의 출력 트랙(78)이 있다.
디스크 드라이브(70)가 DSD 드라이브가 아닌 HC 드라이브일때에는 디스크 드라이브(70)로부터의 추가출력 라인이 있다. HC 디스크 드라이브(70)에서 나온 디스크 교환(DISK CHANGE) 출력(80)은 전력이 턴온될 때 및 디스크 매체가 드라이브(70)에서 제거될 때 마다, HC 드라이브(70)로부터의 출력에서 참, 즉 로우로 진행한다. 디스크 교환 신호는 다음의 두 조건에 부합될때까지는, 즉 디스켓이 디스크 드라이브(70)내에 존재하고 STEP 라인(76)상의 펄스가 드라이브(70) 가 선택될 때 드라이브(70)에 의해서 수신되어질때까지는 참을 유지한다. 디스켓의 존재는 디스크 드라이브(70)내의 매체 감지기에 의해 판단된다. 랫치는 디스크 매체의 제거로 셋트되고 매체 존재와 STEP 라인(76)상의 펄스와의 AND 조건에 의해서만 리셋트되게 된다. DISK CHANGE 라인(80)은 디지탈 입력 레지스터(82)의 입력에 접속되는데, 이것은 시스템 소프트웨어에 의해 질의(interrogated)될 수도 있다. 본 발명에는 직접 관여되지 않는 다른 데이터도 또한 디지탈 입력 레지스터(82)에 기억된다.
REDUCED WRITE CURRENT 라인(84)은 또한 HC 디스크 드라이브(70)의 입력에도 연결되지만 DSD 디스크 드라이브에는 연결되지 않는다. DSD 디스크에 대한 수록 전류는 HC 디스크에 대한 것보다 낮다. 따라서, 트랙 사이의 누설 통과(bleed through)를 방지하기 위해 HC 드라이브(70)가 DSD 디스크에 수록하고 있을 때 HC 디스크 드라이브의 수록 전류는 감소된다.
REDUCED WRITE CURRENT 라인(84)으로 들어가는 신호는 플로피 제어 레지스터(86)로부터 출력되며, 이것은 디스크 동작을 위한 데이터 속도를 선택하기 위해 I/O 채널(38)에 수록될 수 있다.
디스켓 제어기는 서로 다른 3가지 데이터 속도 250,300 및 500Kbps로 판독 및 수록해야 하기 때문에, 플로피 제어 레지스터(86)로부터 클럭 선택(CLOCK SELECTION) 라인(90)상의 이용가능한 플로피 디스크 데이터 속도 신호에 근거하여 이들 데이터 속도 사이에서 선택가능한 클럭 및 타이밍 회로(88)가 제공된다.
선택가능 클럭 속도는 플로피 디스크 제어기(72), 데이터 분리기(74) 및 제5도의 디스크 제어기의 잔여부를 구동시킨다. 그러므로, I/O 채널(38)은 HC 드라이브(70)가 DSD와 HC 디스크 매체 사이에서 교환되거나 DSD 드라이브가 선택될 때 플로피 제어 레지스터(86)를 재로드해야 한다.
BIOS는 컴퓨터 시스템에 대한 I/O 감시프로그램이다. 본 발명의 한 실시예를 실행하는데 필요한 소프트 웨어는 BIOS에 포함된다. BIOS는 플로피 디스크 드라이브와 상호 작용하는 한에 있어서는 디스크 제어기에 대한 16바이트 상태 정보를 RAM(48)에서 보유한다. 이들 바이트중 두 바이트는 상태 머신으로 불리며, 한 상태 머신는 두 개의 가능한 플로피 디스크 드라이브 각각에 관련이 있다.
제6도에는 머신 상태의 각 바이트의 포맷이 도시되어 있다. 제1세 비트 0-2는 매체 상태를 나타낸다.
이들 상태중 6개만이 한정된다. 상태 0은 DSD 디스크 드라이브에서 DSD 디스크 매체에 대한 미설정 상태이다. 미설정은 상태가 시험적이서 아직 확실하게 판단되지 않았다는 것을 의미한다. 이러한 판단은 이후에 설명될 것이다. 상태 1은 HC디스크 드라이브에서의 DSD 디스크 매체의 미설정 상태를 나타낸다. 상태 2는 HC디스크 드라이브에서 HC 디스크 매체의 미설정 상태를 나타낸다. 상태 3-5는 설정 성태를 나타내고, 3이 더 낮은 값을 갖는 미설정 상태와 대응한다. 상태 머신의 비트 4는 하위 3 비트의 매체 상태가 이미 설정되었는지를 나타낸다.
비트 5는 더블 스테핑이 필요한지를 나타낸다.
더블 스테핑은 DSD디스크가 HC 디스크 드라이브에 사용될 때 매체 상태 1 및 4에 필요로 된다. 마지막으로 비트 6 및 7은 이 드라이브에 대해 결정된 데이터 전송 속도를 나타낸다. 예를들어, 00 값은 500Kbps의 데이터 전송 속도를 나타내고, 01 값은 300Kbps의 데이터 전송 속도를 나타내고, 10값은 250Kbps의 데이터 전송 속도를 나타내며, 11값은 125Kbps의 데이터 전송 속도를 나타낸다.
디스크 드라이브 형태를 판단하거나 또는 디스크 드라이브 매체를 판단하기 위해 전술된 장치를 사용하는 데는 적어도 세가지 방법이 있다. 이들 방법들은 개별적으로 설명되게 된다. 제1방법에서는, 디스크 드라이브 형태 및 디스크 매체를 판단하기 위해 스텝의 단일 스퀀스가 이용된다. 제1방법은 본 발명의 기본적인 부분은 아니다. 제7도에는 이러한 방법의 흐름도가 도시되어 있다. 머신 파워-업에 따르는 초기화에서 또는 소프트 리셋트의 발생시에, 각 디스크 드라이브에 대한 상태 머신이 초기화된다. 디폴트(default)매체상태 0이 되고, 비트 4는 매체 상태가 미설정인 것을 표시하도록 셋트된다. 이후, BIOS의 디스켓부가 특정한 디스크 드라이브에서 호출될 때 마다, 그 드라이브에 대한 상태 머신의 비트 4는 매체 상태가 설정되었는지, 즉 매체 상태가 3,4 또는 5인지를 알기 위해 테스트될 수 있다. 만일 매체 상태가 설정되면, 디스켓 억세스는 현재 셋트된 매체 상태에 따라 실행된다. 만일 매체 상태가 상태 3이면, 시스켓 동작은 완료로 이어지며, 이후에 BIOS는 응용 프로그램에 대한 제어를 포기한다. 그러나, 만일 매체 상태가 4 또는 5이면, DISK CHANGE상태는 그것이 활성인지를 판단하도록 질의를 받는다. 상태 4 및 5가 적절한 HC드라이브만이 DISK CHANGE 상태를 제공한다. 만일 디스크 매체가 비활성 DISK CHANGE로 표시된 바와 같이 교환되지 않았으며, 디스크 동작이 수행되고, 제어는 응용 프로그램으로 복귀한다. 반면에, HC 드라이브내의 디스크가 교환되었으면, BIOS는 트랙 1 및 트랙 0으로 순차적인 탐색(Seek)명령어를 발생함으로써 DISK CHANGE신호의 리셋트를 시도한다. 만일 디스크 매체가 현재 삽입되면, 이들 탐색중 한 탐색이 DISK CHANGE신호를 비활성으로 리셋트시키게 된다. 매체상태는 디폴트 상태 0로 리셋트되고 가능하게 리셋트된 새로운 DISK CHANGE상태는 시스템으로 복귀된다. 다음에, 응용 프로그램을 실행의 양호한 코스를 결정하기 위해 제어를 다시 시작한다.
그러나, 만일 비트 4에서 초기 테스트가 미설정 상태, 즉 상태 0,1 또는 2를 표시한다면, 상태 0의 디폴트 매체 상태가 셋트된다. 이때, BIOS는 디스크 제어기에게 현재의 매체 상태로 판독을 시도하도록 명령하게 된다. 상태 0는 DSD드라이브에서 DSD디스크를 시험적으로 식별한다. 어떤 트랙 및 섹터가 판독되는 가는 그 트랙 및 섹터가 디스크의 둘중 어느 한 형태로 되어 있는 한은 중요하지 않다. 판독 테스트는 또한 비록 통상의 디스크가 데이터로 채워지는 것이 필요치 않더라도 적당하게 초기화되어지는 디스크에 의해서 좌우된다. 디스크의 초기화는 통상적으로, 아주 새로운 디스크도 본 방법과 함께 사용될 수 있도록 제조자에 의해 행해진다. 디스크의 초기화 공정의 일부는 디스크상의 각 섹터에 대한 섹터 아이덴티피케이션(identification)을 제공하는 것이다. 플로피 디스크 제어기(72)는 성공적인 억세스 동작을 위해 유효 섹터 아이덴티피케이션을 판독하는 것을 필요로 한다. 만일 플로피 디스크 제어기가 유효 아이덴티피케이션을 인식하지 않으면, 동작은 실패로 간주된다. RIOS는 동작에 따르는 디스크 제어기로부터의 상태 정보의 수개 바이트를 검색하여 이것을 RAM(48)에 기억시킨다. 이 상태 정보에서의 에러 코드는 실패동작에 대한 한 비트를 포함한다. 이때 BIOS는 동작이 성공적이었는지에 대해서 RAM(48)에 질의한다. 만일 판독이 실패신호없음으로 표시된 바와 같이, 성공적이면, BIOS는 매체 상태를 설정 상태인 상태 3으로 변화시키고, 이러한 설정을 반영하도록 머신 상태의 비트 4를 셋트시킨다. 이하에서 기술되어질 이유로 인하여, DSD 디스크가 DSD드라이브에서 판독된 경우에만 상태 0에서 성공적인 판독이 이루어지게 된다. 이후, 디스크 드라이브에 대한 상태가 설정되고, 이러한 드라이브 억세스 및 이러한 드라이브로 후속 억세스를 위해 동작이 진행된다. 원하는 동작이 수행되어진 후에, 제어는 응용 프로그램으로 복귀한다. 그러나, 만일 억세스되고 있는 디스크 드라이브가 HC드라이브라면, 시도된 판독은 필연적으로 실패하게 된다. 만일 HC드라이브가 DSD디스크 매체를 포함한다면, 판독 속도는 상태 0의 250Kbps가 아닌 300Kbps가 될 필요가 있다. 유사하게, HC디스크 드라이브에서의 HC디스크 매체의 성공정인 판독을 위해서는 500Kbps의 데이터 속도가 필요로 된다. 이들 두 상황에서는 시도된 판독이 실패될 것이다.
상태 0판독이 실패인 것이 BIOS에 의해 검출되면, 매체 상태는 상태 1, 즉 HC드라이브내의 DSD디스크 매체로서 시험적으로 식별된다. 만일 판독시도가 성공적이면, 그 상태는 상태 4로서 설정되고, 머신 상태의 비트 4는 설정된 상태를 표시하도록 셋트된다. 이후, 디스크 억세스는 설정 상태에서 종료되고, 제어는 응용 프로그램으로 북귀한다. 이 드라이브로의 후속 억세스는 상태 4를 이용하여 진행된다.
그러나, 만일 디스크 매체가 제거되면, 제5도의 DISK CHANGE신호가 디지탈 입력 레지스터(82)내로 판독 된다. BIOS는 그 다음 플로피 동작에 앞서 디지탈 입력 레지스터(82)를 판독하게 되고, DISK CHANGE신호가 활성이라는 것을 검출하게 된다. 활성 DISK CHANGE 신호의 존재시에 그 다음 플로피 동작에 관한 활성 시퀀스는 전술된 시퀀스에 따른다.
만일 상태 1에서 도시된 판독이 HC디스크 드라이브에서 HC디스크 매체에 관한 것이면, 판독 시도는 서로 다르게 요구되는 데이터 속도로 인해 실패하게 된다. 그러므로 BIOS는 HC 디스크 드라이브에서의 HC디스크 매체를 나타내는, 상태 2로 셋트된 매체상태로 한 번 이상 시도된 판독을 한다. 만일 이러한 판독이 성공적이면, 매체 상태는 상태 5에서 설정되고, 머신상태의 미트 4는 그 설정된 상태로 셋트된다. 이후, 억세싱은 디스크 매체가 제거되지 않은 한은 그 억세스 및 후속 억세스 모두에 대해 계속된다. 제어는 제1억세스 이후에 응용 프로그램으로 복귀한다.
만일 제3시도 판독 즉 상태 2에서의 판독이 실패이면, 허용된 모든 가능성이 없어졌기 때문에 에러가 표시된다. 이러한 경우에, 매체 상태는 상태 0으로 디폴트한다. 이 에러는 랜덤 판독 에러에 의해 야기되었을수도 있으므로, 응용 프로그램이 제7도에 도시된 드라이브 및 매체에 대한 판단을 다시 시도할 가치가 있을 수도 있다. 그러나, 또한 디스크 매체가 잘못되었거나, 또는 디스크 매체가 삽입되어지는 디스크 드라이브에 의해 인식될 수 없는 포맷으로 되어 있을 가능성도 있다. 예를 들어, HC 디스크는 DSD 디스크 드라이브에 의해 판독될 수 없다. 그러므로, 만일 제7도의 시퀀스를 통한 제2통과가 허용되면, 디스크 제어기가 무한 루프로 들어가는 것을 방지하기 위해 적당한 횟수의 시도후에 루프를 빠져나오도록 하기 위한 몇몇 수단이 제공되어야 한다.
디스크 매체에 대한 판독 동작을 시도하는 대신에, 특히 BIOS의 호출이 수록 요청에 의해 야기된 경우에, 수록 동작을 시도하는 것도 또한 가능하다. 그러나, 이것은 수록 요청이 HC 드라이브내의 HC 디스크로 이루어진 것이라면 문제점을 나타낸다. 이러한 경우에, HC드라이브내의 DSD 매체를 표시하는 상태 1에서 시도된 수록은 요청된 트랙으로의 더블 스테핑을 야기하게 된다.
수록 헤드는 정확한 포맷으로 요청된 트랙에서 보다 홈트랙으로부터 거리 2배인 트랙에서 정지되게 된다. 결과적으로, 성공적이지 못한 수록 시도록 잘못된 트랙으로 중복 기록되도록 시도되게 된다. 만일 이 수록이 포맷 명령의 일부였다면, 이 중복 수록이 이루어지게 된다.
이제, 제2방법이 기술되게 된다. 제2방법은 시스템에 의해 사용되고 있는 디스크 드라이브의 형태를 판단할 수 있도록 한다. 제안된 컴퓨터 시스템은 디스크 드라이브의 두가지 형인 DSD 드라이브 및 HC 드라이브중 하나를 지원할 수 있다는 것을 상기하자, 디스크 드라이브의 선택은 사용자에게 위임되며, 두 형태중 어느 것이라도 디스크 드라이브에 제공된 두 개 슬롯중 어느 것에도 삽입될 수 있다. 더욱이, 슬롯중 하나나 또는 두개 모두 비어있을 수도 있다. 본 발명의 여러 가지 실시예를 이용하여, 디스크 드라이브 형태의 판단은 하드웨어의 변형이나 사용자 상호 작용없이 시스템 소프트웨어에 의해 결정될 수 있다.
시스템 파워-업 또는 소프트 리셋트시, 제8도의 흐름도에 도시된 바와 같이, 제2방법이 시작되는데, BIOS 소프트웨어는 드라이브중 어느 하나를 선택하고, 드라이브 모터를 턴온시킨다. 다음에, 판독/수록 헤드는 헤드 위치 설정 명령어 또는 신호에 의해, 고 트랙 즉 고 트랙 위에 위치로의 제1방향으로 이동하도록 명령을 받는다. 고 트랙은 소정의 트랙 어드레스, 즉 DSD 디스크 매체상의 트랙의 최대수 보다는 높지만 HC디스크 매체에 대한 최대수 보다는 작은 트랙 번호를 의미한다. 예를 들어, 고 트랙은 트랙 45가 될 수 있다. 이러한 탐색 동작시에는 오직 디스크 드라이브만이 테스트되기 때문에, 디스크 매체가 디스크 드라이브내로 삽입될 필요는 없다. HC 드라이브에서의 고 트랙의 탐색은 판독/수록 헤드를 활성 영역(16)에 정확하게 위치시키고 정확한 고 트랙위에 있도록 한다. 그러나, DSD 드라이브에서는, 판독/수록 헤드가 최내곽 트랙(20)을 탐색하여, 그 점에서 기계적으로 정지되게 된다. 동일 방향의 다른 스테핑 펄스는 더 이상 이동을 발생하지 않게 된다. 그러나, 그럼에도 불구하고 플로피 디스크 제어기는 DSD드라이브의 판독/수록 헤드가 비존재 고 트랙에 위치되는 것을 기록하게 된다.
이후, 판독/수록 헤드는 트랙 10을 찾도록 한 명령에 의해서 반대 방향으로 이동된다. HC드라이브에 있어서, 헤드는 결과적으로, 트랙 10위에 위치되게 된다. 그러나, DSD 드라이브에 있어서는, 플로피 디스크 제어기는 정확한 위치의 트랙을 잃어버린다.
만일 고 트랙이 트랙 45로서 선택되었다면, 트랙(10)으로 돌아가는 후속 탐색은 실제로 판독/수록 헤드를 트랙 5상에 위치시키게 된다.
다음에, 판독/수록 헤드는 단일 스템에 의해 기준 트랙 위치, 즉 홈 트랙(18)을 향해 되돌려진다. 각각의 단일 스템 이후에, BIDS의 명령하에서 플로피 디스크 제어기는 디스크 드라이브이 디스크 상태를 감지하기 위한 명령을 발생하고, 이 상태 조회(inquity)의 결과를 플로피 디스크 제어기(72)로부터 판독한다. 이렇게 전송된 상태 정보의 일부는 판독/수록 헤드가 홈 트랙(18)에 위치되었는지를 나타내는 트랙 신호 상태 정보이다. 상태의 판독 다음에, 판독/수록 헤드가 트랙 10에 있기 때문에 10개 이상의 단일 스텝이 수행되었는지에 관한 테스트가 이루어진다. 만일 응답이 공정이면, 이러한 드라이브는 존재하지 않는데, 이것은 그 조건에 도달될 수 있는 상황은 오직 물리적인 드라이브가 없기 때문에 트랙 0이 검출되지 않았다는 것이기 때문이다. 드라이브 없음의 판단은 이러한 특정 슬롯에 대한 판단 공정을 종료 시키고, 시퀀스는 다른 슬롯에서 남아 있을 수 있는 드라이브에 대해 계속된다.
그러나, 마일 10 또는 그 보다 적은 단일 스텝 탐색이 이루어졌었다면, BIOS는 활성 트랙 O신호가 있는 지를 테스트 한다. 만일 트랙 O 신호가 활성이 아니면, 트랙 0으로의 다른 스템 탐색이 실행되며, 루프가 반복된다. 만일 트랙 O 신호가 활성이면, BIOS는 판독/수록 헤드가 트랙 10에 있기 때문에 정확하게 10번의 단일 스텝 탐색이 있었는지 판단한다. 만일 정확하게 10번의 단일 스텝이 있었다면, 트랙 0신호가 활성이므로, 헤드가 정확하게 홈 트랙(18)상위 위치되었고, 디스크 드라이브가 필수적으로 HC 드라이브라는 것이 결정된다. 이러한 경우에, 상태 머신의 매체 상태는 미설정 상태인 상태 1로 셋트되고, 상태 머신의 비트 4는 설정없음을 표시하도록 클리어된다. 반면에, 만일 정확하게 10번의 단일 스텝이 이루어지지 않고 트랙 O 신호가 활성이라면, 플로피 디스크 제어기(72)는 현재 판독/수록 헤드에 대해 잘못된 위치를 기록하고 있을 것이다. 이것은 전술된 바와 같이 DSD드라이브의 헤드가 최내곽 트랙 20을 지나 과구동되어지도록 시도되었기 때문에 생기게 된 것이다. 따라서, DSD 드라이브가 존재하는 것으로 판단된다. 상태 머신 매체 상태는 상태 3으로 셋트되고 상태 머신의 비트 4는 설정을 표시하도록 셋트된다. 매체 상태는 이러한 경우에 설정되는데 이것은 DSD드라이브가 단지 DSD디스크 매체만을 수용할 수 있고 DSD 드라이브의 설정 상태간의 선택성은 없기 때문이다.
BIOS는 그 다음에 모든 드라이브가 그들의 드라이브 형태를 판단하였는지를 테스트한다. 만일 더 이상의 드라이브가 없다면, 이 방법은 종료된다. 그러나 만일 드라이브가 더 존재한다면, 시퀀스는 각각의 포트에 있는 다른 드라이브 형태의 판단을 위한 개시점으로 복귀한다.
전술된 두가지 방법에는 서로 다른 개념을 포함하고 있는데, 제1경우에서는 디스크 드라이브 및 디스크 매체의 결합 판단이고, 제2경우에서는 디스크 드라이브 만을 판단한다는 것이다. 그러나, DSD드라이브의 판단은 필연적으로 디스크 매체도 또한 DSD형태로 되어 있다는 것을 결정한다. 파워-업했을때, 디스크 드라이브를 판단하고, 가능하면 DSD 드라이브에 대한 디스크 매체를 설정하기 위한 상기 제2방법이 사용된다면 시스템 성능이 개선 된다고 확신한다. 이후, 디스켓이 억세스될때 마다, 매체 판단은 파워업할때의 이전의 드라이브 판단에 의존할 수 있는 것이외에는 제1방법과 비슷하게 이루어진다.
이 제3방법은 제10도 및 제11도를 참조하여 기술되게 된다.
제9도의 흐름도에 도시된 제3방법은 디스켓 억세스 대한 I/O 요청이 있을때마다 필요로 된다. 제2방법은 시스템 파워업에 의해 이미 발동되었다고 가정하자. 먼저, 디스크 드라이브에 디스크가 없다는 것을, 또한 최종 디스크 억세스 이후에 교환되었다는 것을 나타내는 DISK CHANGE신호가 활성인지에 관한 테스트가 이루어진다.
만일 DISK CHANGE신호가 활성이면, 판독/수록 헤드에 먼저 트랙 1을 탐색하고 다음에 트랙 O을 탐색하도록 명령함으로써 디스크 교환 상태를 리셋트시키기 위한 시도가 이루어진다.
이와 같은 탐색 명령중 적어도 하나는 STEP 신호의 발생을 야기하게 된다. 이것은 디스크 매체가 존재한다면 디스크 교환 신호가 비활성이 되도록 한다. 다음에, 추가적인 탐색으로부터 생겨난 새로운 디스크 교환 상태는 디스크 교환이 이루어졌다는 것이 표시로 응용 프로그램으로 복귀된다. 응용 프로그램은 이 조건에 응답할 책임을 가지며, BIOS에 의해 제어가 포기된다.
만일 그러나 DISK CHANGE신호가 비활성이면, 매체 상태가 설정된 매체 상태, 즉 상태 3, 상태 4 또는 상태 5인지에 관한 테스트가 행해진다. 이러한 매체 상태는 파워업시에 제2방법이나 또는 이 방법의 조정 이용에 의해서 결정되었졌을 수 있다. 만일 매체 상태가 설정된 상태이면, 이용된 마지막 데이터 속도가 현재 설정된 매체 상태에 대해 지정된 것과 동일한지에 관한 테스트가 행해진다. 만일 그렇지 않다면, 매체 상태에 의해 지정된 데이터 속도가 선택된다.
동일한 클럭 회로(88)가 모든 디스크 드라이브에 대해 사용되고 서로 다른 형태의 드라이브 또는 매체로의 억세스가 교대로 이루어짐에 따라 변경될 필요가 있기 때문에, 이러한 테스트 및 선택이 필요로 된다.
전술된 바와 같이, BIOS는 RAM 내의 14바이트의 상태 정보를 유지시킨다. 이들 바이트중 한 바이트는 주파수 선택을 포함하는 마지막 디스크 동작의 상태를 포함한다. 이것은 상태 머신에 의해 특정 드라이브에 대한 매체 상태로 표시된 주파수에 필적하는 값이다. 적당한 데이터 속도의 선택에 의해서, 디스크로의 억세스가 주행되고 디스크 드라이브의 상태가 응용 프로그램으로 복귀된다.
이때, BIOS는 응용 프로그램의 제어를 포기한다.
설정 매체 상태에 대한 테스트가 부정 결과를 초래하면, 매체 상태가 비설정 상태 즉 상태 0, 상태 1 또는 상태 2인지에 관한 다른 테스트가 행해진다. 이러한 테스트는 어떠한 이유로, 예를들어 불완전하게 기록된 어셈블리 프로그램에 의해 상태 머신이 우연히 파괴되어 현재 한정된 매체 상태가 없게 되는 만일의 경우에 대비하여 수행된다. 이러한 경우에, 매체 상태는 디폴트값으로서 상태 0으로 셋트된다.
그리고, 미설정 매체 상태중 한 상태에 근거하여, 매체 상태에 의해 표시된 데이터 속도가 클럭회로(88)에서 선택된다. 이 선택된 데이터 속도로, 디스크로의 억세스가 수행된다. 그 다음에, 동작이 성공적인지, 즉 섹터 아이텐티피케이션이 판독되었는지에 관한 테스트가 행해진다. 만일 동작이 성공적이라면, 매체 상태를 3만큼 증가시킴으로써 매체 상태가 설정된다. 그 다음, 디스크 드라이브의 동작 상태 및, 형편에 따라서는, 억세스에서 얻어진 데이터는 응용 프로그램으로 북귀된다. 이후, BIOS는 응용 프로그램에 대한 제어를 철회한다.
만일 그러나, 동작이 성공적인 아니하면, 아마도 잘못된 데이터 속도가 선택되어졌기 때문에, 그 다음 미설정 매체 상태는 매체 상태를 1만큼 증가시킴으로써 선택되고 새로운 매체 상태와 관련된 디스크 억세스 파라미터가 설정된다. 그 다음, 모든 미설정 상태가 시도되었는지를 판단하기 위한 테스트가 행해진다. 이러한 테스트는 증가된 매체 상태가 2보다 큰지를 판단함으로서 수행될 수 있다. 만일 설정 상태가 시도되기 위해 남아 있는 상태이면, 시퀀스는 데이터 속도의 선택 및 억세스에서의 다른 시도로 복귀되고 루프가 반복된다. 만일 그러나, 모든 미설정 상태가 시도되었고 어떠한 억세스도 성공적이 아니라면, BIOS는 응용프로그램으로 최종 에러 코드를 복귀시키고 응용 프로그램에 대한 제어를 철회하며, 그렇게함으로써 제3방법이 완료된다.
전술된 본 발명을 이용하여, BIOS는 포트에 현재 부착된 디스크 드라이브의 형태 및 가능하면 매체 형태까지도 판단할 수 있다. 판단은 사용자 또는 응용 프로그램의 간섭없이도 수행되고 사용자의 요구대로 시스템이 구성될 수 있도록 한다.

Claims (4)

  1. 각각의 드라이브가 헤드를 갖고 있는 다수의 상이한 형태의 디스크 드라이브(22,24,26,70)중 어느것이라고 상이한 시기에 부착될 수 있는 장치 부착 포트를 가진 컴퓨터 시스템에서, 상기 포트에 실제로 부착된 디스크 드라이브의 형태를 자동적으로 판단하도록 상기 컴퓨터 시스템을 적응시키기 위한 방법에 있어서, 상기 포트에 부착된 디스크 드라이브(70)상의 헤드를 적어도 한 형태의 디스크 드라이브의 범위내에 있지 않은 소정의 트랙 어드레스로 제1방향으로 이동시켜, 그 헤드가 상이한 형태의 디스크 드라이브에서 상이한 트랙에 위치되도록 하기 위해 상기 포트에 헤드 위치 설정 명령을 발생하는 단계와, 결정된 트랙 어드레스가 상기 포트에 부착된 상기 디스크 드라이브의 형태와 관련지워지도록 상기 제1방향으로의 이동에 의해 상기 헤드가 이동된 트랙 어드레스를 결정하는 단계를 포함해서 이루어짐 디스크 드라이브의 형태를 자동적으로 판단하도록 컴퓨터 시스템을 적용시키기 위한 방법.
  2. 제1항에 있어서, 상기 결정 단계가, 상기 헤드를 기준 트랙 위치(18)로 상기 제1방향의 반대 방향으로 일정한 증분을 갖고 이동시키기 위해 상기 포트에 다른 일련의 헤드 위치 설정 명령을 발생하는 단계와, 상기 헤드가 상기 증분에 의해 상기 기준 트랙 위치로 이동되었을 때 상기 시스템에 디스크 드라이브로부터 상태 표시를 제공하는 단계와, 상기 상태 료시의 제공에 앞서 상기 다른 일련의 헤드 위치 설정 명령에 의해 야기된 증분의 수를 계수하는 단계와, 상기 증분의 계수에 근거하여 상기 포트에 부착된 디스크 드라이브의 형태를 판단하는 단계를 포함해서 이루어진 방법.
  3. 제2항에 있어서, 상기 계수 단계는 임의 형태의 디스크 드라이브에서 상기 기준 트랙 위치로 상기 헤드를 이동시키는데 필요한 증분의 수에 대응하는 소정의 수 이상으로 까지 계수할 수도 있고, 상기 판단 단계는 상기 소정의 수를 초과하는 계수 따라 상기 포트에 부착된 디스크 드라이브가 없는 것으로 추정하는 방법.
  4. 각각의 드라이브가 헤드를 갖고 있는 다수의 상이한 형태의 디스크 드라이브(22,24,26,27)중 어느것이라도 부착될 수 있는 장치 부착 포트를 가진 컴퓨터 시스템에서, 상기 포트에 실제로 부착된 디스크 드라이브의 형태를 인식하기 위한 방법에 있어서, 상기 포트에 부착된 디스크 드라이브(70)상의 헤드를 소정의 트랙 어드레스로 이동시키도록 지시하는 신호를 상기 포트에 인가하는 단계와, 상기 헤드가 상기 소정의 트랙 어드레스로 이동되었는지를 판단하는 단계와, 상기 판단 단계의 결과에 따라 상기 포트에 부착된 디스크 드라이브의 형태를 판단하는 단계를 포함해서 이루어진 디스크 드라이브 형태 인식 방법.
KR1019850002921A 1984-07-13 1985-04-30 디스크 드라이브 형태 판단 방법 KR900005226B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63061084A 1984-07-13 1984-07-13
US630,610 1984-07-13

Publications (2)

Publication Number Publication Date
KR860001381A KR860001381A (ko) 1986-02-26
KR900005226B1 true KR900005226B1 (ko) 1990-07-21

Family

ID=24527866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850002921A KR900005226B1 (ko) 1984-07-13 1985-04-30 디스크 드라이브 형태 판단 방법

Country Status (8)

Country Link
EP (1) EP0167879B1 (ko)
JP (1) JPS6126971A (ko)
KR (1) KR900005226B1 (ko)
CA (1) CA1285065C (ko)
DE (1) DE3582196D1 (ko)
ES (1) ES8609756A1 (ko)
HK (1) HK136193A (ko)
MX (1) MX159255A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6425348A (en) * 1987-07-20 1989-01-27 Alps Electric Co Ltd Method for discriminating magnetic disk drive
US4928192A (en) * 1987-12-23 1990-05-22 Konica Corporation Process for identifying disks and automatically configuring a disk drive system
US5247654A (en) * 1989-05-19 1993-09-21 Compaq Computer Corporation Minimum reset time hold circuit for delaying the completion of a second and complementary operation
JPH03144720A (ja) * 1989-10-31 1991-06-20 Toshiba Corp Fddの識別方法ならびにfddの認識回路
ATE159108T1 (de) * 1990-07-19 1997-10-15 Ibm Personalcomputer mit laufwerk-identifizierung
EP0484905A3 (en) * 1990-11-09 1994-12-14 Brier Technology Interface for disk drives

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2708760C3 (de) * 1977-03-01 1980-08-14 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Schaltungsanordnung mit mehreren unterschiedlichen Daten-Umlauf speichern und einem Zugriffssteuerwerk
JPS5969856A (ja) * 1982-10-15 1984-04-20 Usac Electronics Ind Co Ltd 内蔵磁気デイスク制御方式

Also Published As

Publication number Publication date
CA1285065C (en) 1991-06-18
MX159255A (es) 1989-05-09
ES8609756A1 (es) 1986-07-16
EP0167879B1 (en) 1991-03-20
HK136193A (en) 1993-12-17
JPS6126971A (ja) 1986-02-06
ES545127A0 (es) 1986-07-16
DE3582196D1 (de) 1991-04-25
EP0167879A3 (en) 1987-10-14
KR860001381A (ko) 1986-02-26
EP0167879A2 (en) 1986-01-15
JPS647422B2 (ko) 1989-02-08

Similar Documents

Publication Publication Date Title
KR910010040B1 (ko) 디스크 드라이브와 매체 형태 판단 장치
US5018095A (en) Universal disk drive type emulation for IBM PC-AT computers
KR880000793B1 (ko) 디스크 기억장치에 있어서의 제어장치
JPH0620393A (ja) ディスク駆動システム
JP3404419B2 (ja) ディスクドライブサーボシステム
US4928193A (en) Diskette drive type determination
US5422763A (en) Split field zone data recording
JP2710717B2 (ja) テープ上の論理ブロック番号により識別される所望の論理データブロックに迅速にアクセスする方法
KR900005226B1 (ko) 디스크 드라이브 형태 판단 방법
JP2759920B2 (ja) Dasd周辺データ記憶サブシステムの作動方法及び装置
US4651238A (en) Recording medium read/write control system
US7260676B2 (en) Optical disc recording/reproducing method and recording/reproducing apparatus
US5293625A (en) Signal selecting circuit which selectively outputs predetermined signal to host computer compatible with plurality of computer hardware types and disk drive having such signal selecting circuit
US5577234A (en) System for controlling storage device for storing data at second density that is not integral multiple of first density by varying the device motor speed
US6693753B2 (en) Disc sequencer supporting pipelined and non-pipelined read
JP2885013B2 (ja) 情報処理装置
JP2817608B2 (ja) 情報処理装置
JPS5840271B2 (ja) メモリ装置
JPS6095762A (ja) 磁気デイスク制御装置
KR100189927B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
JP3013355U (ja) フロッピ−ディスク装置
KR100218903B1 (ko) 기억장치의 강제 에러 발생장치
JPH09114674A (ja) ハードディスク装置
JPS60150270A (ja) デ−タフオ−マツト自動変更方式
JPH0516099B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040510

Year of fee payment: 15

EXPY Expiration of term