KR100629035B1 - 가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가 - Google Patents

가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가 Download PDF

Info

Publication number
KR100629035B1
KR100629035B1 KR1020017013775A KR20017013775A KR100629035B1 KR 100629035 B1 KR100629035 B1 KR 100629035B1 KR 1020017013775 A KR1020017013775 A KR 1020017013775A KR 20017013775 A KR20017013775 A KR 20017013775A KR 100629035 B1 KR100629035 B1 KR 100629035B1
Authority
KR
South Korea
Prior art keywords
head
software
disk
plant simulation
processor
Prior art date
Application number
KR1020017013775A
Other languages
English (en)
Other versions
KR20010113902A (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 KR20010113902A publication Critical patent/KR20010113902A/ko
Application granted granted Critical
Publication of KR100629035B1 publication Critical patent/KR100629035B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • G11B19/2009Turntables, hubs and motors for disk drives; Mounting of motors in the drive
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/10Track finding or aligning by moving the head ; Provisions for maintaining alignment of the head relative to the track during transducing operation, i.e. track following
    • G11B21/106Track finding or aligning by moving the head ; Provisions for maintaining alignment of the head relative to the track during transducing operation, i.e. track following on disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5534Initialisation, calibration, e.g. cylinder "set-up"
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15085Windows NT
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Moving Of The Head To Find And Align With The Track (AREA)
  • Control Of Position Or Direction (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Moving Of Head For Track Selection And Changing (AREA)

Abstract

본 발명은 회전 가능한 디스크(108)에 대해 헤드(118)의 서보 제어를 수행하기 위해 디스크 드라이브(100)에서 프로그래밍가능한 프로세서 장치(142)에 의해 이용되는 프로그래밍을 평가하는 방법과 장치에 관한 것이다. 먼저, 프로그래밍이 프로그래밍가능한 프로세서 장치에 의해 실행 가능한 일련의 지시들로서 생성된다(302). 상기 일련의 지시들의 실행을 컴퓨터에서 시뮬레이팅하도록 프로세서 에뮬레이션 소프트웨어가 제공된다(304). 플랜트 시뮬레이션 소프트웨어를 이용하여 디스크 드라이브의 전기 및 기계부들의 다이내믹 모델이 생성된다(306). 상기 프로세서 에뮬레이션 소프트웨어로부터 상기 플랜트 시뮬레이션 소프트웨어 사이에 데이터를 전달하고 동기화하도록 다이내믹 링킹 프로그램이 구성된다(308). 그리고, 상기 모든 세 가지 프로그램들이 컴퓨터에서 동시에 실행되어(314) 상기 프로그래밍의 실시간 동작을 평가하게 된다(316).

Description

가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가{SERVO PROCESSOR CODE EVALUATION USING A VIRTUAL DISC DRIVE}
본 발명은 디스크 드라이브 저장 장치와 관련되고, 특히 디스크 드라이브 펌웨어 코드의 생성 및 평가를 개선하는 것과 관련되나, 이에 한정되지는 않는다.
하드디스크 드라이브는 일반적으로 현대 컴퓨터 시스템에서 주로 데이터 저장 및 검색 장치로 사용된다. 일반적인 디스크 드라이브는 일정한 고속도로 하나 또는 그 이상의 강성 자기 기록 디스크를 회전시키는 스핀들 모터로 구현된다. 사용자 데이터는 액추에이터 어셈블리에 의해 지지되는 기록/판독 헤드의 어레이에 의해 디스크 표면에 한정된 트랙에 자기적으로 저장된다. 음성 코일 모터(VCM)와 같은 액추에이터 모터는 액추에이터 어셈블리를 회전시키고, 이에 따라 디스크 표면을 가로질러 헤드들을 회전시킨다.
폐루프, 프로세서-기반 서보 시스템은 디스크 회전 및 디스크 표면에 대한 헤드의 움직임을 제어한다. 서보 프로세서(일반적으로 디지털 신호 프로세서, 또는 DSP)에는 스핀들 모터 및 액추에이터 모터에 인가된 전류를 조정하기 위하여 스핀들 및 액추에이터 드라이버에 전류 명령 신호들을 출력하는 관련 프로그래밍이 제공된다.
따라서 서보 프로세서는 3가지 주요한 동작을 수행한다: 스핀들 모터 속도 제어; 액추에이터 탐색; 및 액추에이터 트랙 추종. 스핀들 모터 제어는 모터 허브의 정지 위치(rest position)에서의 초기 감지, 스핀들 모터 속도 램핑 업(ramping up), 및 일정 허용 오차 내에서의 모터 속도 조정을 포함한다.
탐색은 상응하는 디스크 표면에서 최초 트랙에서 목적지 트랙으로 선택된 헤드를 움직이는 것을 포함한다. 탐색 초기에, 프로세서는 탐색 길이(즉, 최초 트랙에서 목적지 트랙으로의 트랙들의 수)에 따라 헤드에 대해 요구되는 궤도를 표시하는 적절한 속도 프로파일을 계산한다. 그리고 나서, 프로세서는 반복적으로 헤드의 요구되는 속도와 실제 속도 사이의 차이로서 속도 에러를 결정하고 전류 명령 신호들을 출력하여 헤드가 요구되는 속도 궤도를 따르고 목적지 트랙 상에서 머무를 수 있도록 하여 준다.
트랙 추종은 선택된 트랙 상에서 헤드의 연속된 포지셔닝을 포함한다. 트랙 추종 동안, 프로세서는 트랙으로부터 변환된 서보 데이터로부터 위치 입력들을 수신하고 선택된 트랙에 대한 바람직한 관계로(예를 들면, 트랙의 중앙 위에) 헤드를 유지할 수 있도록 적합한 전류 명령 신호들을 출력한다. 데이터는 트랙 추종 동안 트랙 위의 데이터 블록들(섹터들)에서 기록되고, 데이터 블록들로부터 판독됨을 주목하여야 한다. 프로세서 기반 서보 시스템은 미국 특허 번호 5,262,907에 제시되어 있고 이는 본 발명의 양수인에게 양도되었다.
필수 서보 제어 기능들을 수행하기 위해서, 서보 프로세서에 의해 사용되는 프로그래밍은 드라이브의 특정 전자기 응답 특성에 일반적으로 맞추어져야 한다. 서보 프로세서 프로그래밍("펌웨어" 및 "코드"로 언급됨)의 기본 레이아웃은 다른 디스크 드라이브 설계 기능들과 병존하여 개발될 수 있는 반면에, 프로그래밍은 적어도 엔지니어링 프로토타입 레벨에서 디스크 드라이브의 기계적인 구성(액추에이터, 디스크, 스핀들 모터) 및 디스크 드라이브의 관련된 전기적 구성(모터 드라이버, 서보 데이터 복조기)이 이용가능하게 될 때까지 완전히 기록 및 디버깅될 수 없다. 따라서, 서보 코드 개발 및 디버깅 동작들은 바람직스럽지 못하게 새로운 디스크 드라이브 제품들을 생산하기 위한 설계 주기에 상당한 시간을 부가하여 왔다.
데이터 저장 및 전달 성능의 수준을 증가시키는 디스크 드라이브에 대한 계속된 요구로, 각각의 새로운 디스크 드라이브의 생산 수명은 급속히 단축되고 있고 이제는 겨우 수 개월을 요구하고 있다. 따라서, 디스크 드라이브 제조업자들은 매우 짧은 시간에 시장에 새로운 디스크 드라이브 제품들을 제공하도록 요구받고 있다. 따라서, 새로운 디스크 드라이브가 설계 및 평가되는 방법에 대한 개선의 필요성이 증대되고, 이러한 개선이 바로 본 발명이 지향하는 바이다.
본 발명은 회전 디스크에 대한 헤드의 서보 제어를 수행하기 위해 디스크 드라이브의 프로그램 가능한 프로세서 장치에 의해 사용되는 프로그래밍을 평가하는 방법 및 장치에 관한 것이다.
바람직한 실시예에 따라, 상기 프로그래밍은 프로그램 가능한 프로세서 장치에 의해 실행되는 일련의 지시들로서 우선 생성된다. 상업적으로 이용가능한 "기성품(off-the-shelf)" 프로세서 에뮬레이션 소프트웨어가 컴퓨터에서의 지시들 실행을 시뮬레이팅하기 위해 사용된다. 디스크 드라이브의 전기 및 자기적 부분들의 동적 모델이 상업적으로 이용 가능한 기성품 플랜트 시뮬레이션 소프트웨어를 사용하여 생성된다. 다이내믹 링킹 프로그램이 동기화 및 프로세서 에뮬레이션 소프트웨어와 플랜트 시뮬레이션 소프트웨어 사이의 데이터 전달을 위해 구현된다. 그 후에 이러한 3가지 프로그램들은 컴퓨터에서 동시에 실행되어 상기 프로그래밍의 실시간 동작을 평가한다.
이러한 방식으로, 엔지니어링 프로토타입들이 물리적으로 제공되기 전에 서보 프로세서 프로그래밍이 기록 및 디버깅될 수 있게 된다. 게다가, 광범위한 허용 스택 평가가 수행되어, 복수의 물리적 드라이브를 형성하여 연장된 시간 주기동안 실험실 조건들 하에서 드라이브들을 테스트할 필요없이 디스크 드라이브 설계 구현을 개선시킬 수 있게 된다.
이하에서는 도면을 참조로 하여 본 발명을 상세히 설명할 것이다.
도 1은 본 발명의 바람직한 실시예에 따라 설계 및 구성된 디스크 드라이브의 평면도.
도 2는 서보 프로세서(디지털 신호 프로세서, DSP)를 포함하는 도 1의 디스크 드라이브에 대한 기능 블록도이며, 서보 프로세서의 프로그래밍은 본 발명의 바람직한 실시예에 따라 평가된다.
도 3은 바람직한 실시예에 따라 프로세서 에뮬레이션 소프트웨어, 플랜트 모델 시뮬레이션 소프트웨어 및 다이나믹 링크 프로그램을 저장 및 실행하는 컴퓨터의 기능도.
도 4는 탐색동안 속도를 제어하기 위하여 사용되는 서보 프로세서의 프로그래밍을 나타낸 제어 블록도.
도 5는 탐색동안 위치를 제어하기 위하여 사용되는 서보 프로세서의 프로그래밍을 나타내는 제어 블록도.
도 6은 플랜트 모델 시뮬레이션 소프트웨어에 의해 사용되는 디스크 드라이브의 다이나믹 플랜트 모델을 나타내는 제어 블록도.
도 7은 본 발명의 바람직한 실시예에 따라 수행되는 단계들을 기술하는 서보 DSP 코드 평가 루틴의 흐름도.
본 발명의 다양한 실시예를 상세히 설명하기 위하여, 제 1도에는 호스트 컴퓨터와 인터페이스로 접속되어 사용자 데이터를 자기적으로 저장 및 검색하는 디스크 드라이브(100)의 평면도가 도시되어 있다. 디스크 드라이브(100)는 디스크 드라이브(100)의 여러 부재가 장착되는 베이스 덱을 포함한다. 상부 커버(104)(부분적으로 절단된 형식으로 도시됨)는 디스크 드라이브에 대한 내부 밀봉된 환경을 형성하기 위하여 베이스 덱(102)과 상호작용한다.
스핀들 모터(일반적으로 도면부호 106으로 도시됨)는 벡터(109)로 표시된 바와 같이 일정 속도(분당 수천 회전)로 축으로 정렬된 복수 개의 강성 자기 기록디스크(108)를 회전시키기 위하여 제공된다. 사용자 데이터는 디스크(108)에 인접하여 배치된 베어링 축 어셈블리(112)를 중심으로 회전하는 액추에이터 어셈블리(110)의 사용을 통하여 디스크(108)상의 트랙(표시안됨)에 기록되고 그리고 디스크(108)상의 트랙으로부터 판독된다.
액추에이터 어셈블리(110)는 디스크(108)쪽으로 연장되는 다수의 강성 액추에이터 암(114)을 포함하며, 상기 엑추에이터 암(114)으로부터 플렉서블 서스펜션 어셈블리(플렉서)(116)가 연장된다. 각각의 플렉서(116)의 말단부에는 연관된 디스크(108)의 대응 표면에 매우 근접하여 비행하도록 설계된 슬라이더 어셈블리(개별적으로 표시안됨)를 포함하는 헤드(118)가 장착되어 있다. 헤드(118)는 각각 박막 유도성 기록 엘리먼트 및 MR 판독 엘리먼트를 가진 자기-저항(MR) 헤드로서 특징지워진다.
디스크 드라이브(100)가 사용되지 않을 때, 헤드(118)는 디스크(108)의 내부 직경 근처의 착륙영역(120)의 위로 이동하여 멈추게 되고, 액추에이터 어셈블리(110)는 자기 래치 어셈블리(122)를 사용하여 고정된다.
헤드(118)의 방사상 위치는 액추에이터 어셈블리(110)에 부착된 코일(126) 뿐만 아니라 코일이 영향을 받는 자기장을 설정하는 영구자석(128)을 포함하는 음성 코일 모터(VCM)(124)의 사용을 통해 제어된다. 제 2 자속경로는 영구자석(128) 위에 배치되나 명확화를 위하여 도시하지 않았다. 헤드(118)는 코일(126)에 전류를 가함으로써 디스크(108)의 표면을 가로질러 이동된다.
플렉스 어셈블리(130)는 동작 중에 액추에이터 어셈블리(110)의 피봇 이동을 허용하면서 액추에이터 어셈블리(110)에 대한 필수적인 전기 접속경로를 제공한다. 플렉스 어셈블리(130)는 기록동작동안 헤드(118)의 기록 엘리먼트에 기록전류를 공급하며 판독동안 헤드(118)의 MR 판독 엘리먼트에 판독 바이어스 전류를 공급하는 전치증폭기/드라이버 회로(132)(프리앰프)를 포함한다. 프리앰프(132)는 판독 동작 동안에 얻어진 재판독 신호를 더 증폭하고 동일한 신호를 베이스 덱(102)의 밑면에 부착된 디스크 드라이브 PCB 상에 배치된 디스크 드라이브 제어 전자 장치(도시안됨)에 제공한다.
도 2는 관련된 호스트 컴퓨터(140)와 함께, 도 1의 디스크 드라이브(100)에 대한 기능 블록도를 나타낸다. 디스크 드라이브(100)는 드라이브에 대한 탑 레벨 제어 기능을 수행하는 드라이브 프로세서(142)를 포함한다. 디스크(108)에 저장될 사용자 데이터는 호스트 컴퓨터(140)로부터 데이터를 버퍼링 및 시퀀싱하는 인터페이스 회로(144), 데이터를 인코딩 및 직렬화하는 판독/기록 채널(146) 및 디스크(108)를 선택적으로 자화시키기 위해 헤드(118)의 기록 엘리먼트에 일련의 교류 기록 전류를 인가하는 프리앰프(132)로 전달된다. 판독 동작 동안, 프리앰프(132)는 판독 바이어스 전류를 헤드(118)의 판독 엘리먼트에 인가하고 판독 엘리먼트 양단의 전압의 변화에 관련하여 디스크(108)의 선택적 자화를 변환한다. 이것은 원래 기록된 데이터와 상호관련된 재판독 신호가 된다. 재판독 신호는 R/W 채널(146)에 의해 디코딩되어 I/F 회로(144)를 통해 호스트 컴퓨터(140)로 전달된다.
도 2는 디스크(108)에 기록된 서보 데이터로부터 재판독 신호를 수신하고, 그에 대한 응답으로, 헤드(118)의 위치를 제어하기 위해 전류를 코일(126)에 인가하는 서보 회로(148)를 추가적으로 나타낸다. 서보 회로(148)는 회로가 메모리(151)에 저장된 관련 프로그램을 갖는 디지털 신호 프로세서(DSP)를 포함한다는 점에서, 프로세서-기반으로 나타나 있다. 결국, 도 2는 DSP(150)로부터의 명령에 응답하여 다중-위상 전류를 스핀들 모터(106)에 인가하여 디스크(108)를 회전 시키는 스핀들 모터 제어 회로(152)를 제공한다.
도 3은 DSP 프로그래밍의 개발 및 평가에 사용되는 다양한 소프트웨어 프로그램에 대한 블록도를 나타낸다. 우선 DSP 에뮬레이션 모듈(200)을 살펴보면, DSP 에뮬레이션 모듈(200)은 DSP(150)의 기능을 에뮬레이팅함으로써 개발 툴로서 동작하는 DSP(150)의 생산자로부터 사용가능한 기성품 PC 기반 소프트웨어 프로그램이다. 즉, 코드 개발자는 적절한 소스 코드 언어로 DSP 프로그래밍을 작성하고, 기계로 수행가능한 명령어 세트를 컴파일하고, 에뮬레이션 모듈(200)에 의해 제어된, 단계적인 형태로 그 코드를 실행할 수 있다.
에뮬레이션 모듈(200)은 당업자에 의해 쉽게 이해될 바와 같이 각 명령어를 통해 순서대로 진행하고 명령어, 레지스터 및 메모리 콘텐츠, 에러 메시지 등등을 원하는 대로 디스플레이하도록 동작한다. 참조를 위해, 적절한 DSP(150)는 미국 텍사스주, 달라스의 텍사스 인스트루먼트 사의 CMS320C2700 디지털 신호 프로세서이고, 관련된 에뮬레이션 모듈(200)은 동일한 소스로부터의 CMS320C2700 시뮬레이터 소프트웨어를 포함한다.
CMS320C2700 시뮬레이터 소프트웨어는 (윈도우 NT®v4.0 같은) 마이크로소프트 사의 윈도우® 운영체제 환경에서 동작하고, 매 프로세서 사이클 마다 한번 호출되고, 시뮬레이팅된 프로세서의 상태를 변형시키고, 메모리 위치를 변형시키며, 시뮬레이션에 관한 데이터를 출력하는데 사용될 수 있는 사용자-정의 인터페이스 서브루틴의 생성을 가능케 한다. 도 3은 (201)에서의 사용자-정의 인터페이스 서브루틴("DSP I/F")을 나타내고, 이것은 바람직하게 동적 링크 라이브러리(*.dll)로 특성화되며, DSP 에뮬레이션 모듈(200)로 통합된다. 당업자에 의해 인식될 바와 같이, *.dll 파일은 실시간에서의 링크를 가능케 하고 호출 기능 및 데이터 입력/출력(I/O) 전달 함수를 수행한다. 다양한 DSP가 유사한 특징을 갖는 대응하는 에뮬레이션 모듈을 구비한 다수의 서로 다른 소스로부터 상용화된 것으로 인식될 것이다.
도 3은 플랜트 모델(202)(또한 "디스크 드라이브 모듈"로 간주됨)을 나타내며, 이는 디스크 드라이브(100)의 관련 전기-기계적 구성의 수학적 모듈로 구성된 다이나믹 시뮬레이션 소프트웨어 경로이다. 플랜트 모델(202)은 디스크 드라이브 기계적 및 전기적 응답 특성을 모델화하고 계산하기 위해 디스크 드라이브 제조자에게 공통적으로 사용되는 "기성품(off-the-shelf)" 소프트웨어 패키지를 사용하여 생성되는 것이 바람직하다. 참고로, 적절한 시뮬레이션 소프트웨어 패키지로는 미국 메사추세츠, 나틱, Mathworks, Inc.에서 시판하는 Simulink®Dynamic System Simulation Model for Matlab가 있다. Simulink®모듈은 또한 Microsoft Corporation Windows®운영 시스템 환경(Windows NT®버전 4.0)에서 작동한다.
Simulink
Figure 112001529538557-pct00007
모듈은 또한 사용자가 매번 시뮬레이션 단계를 호출하는 사용자-확인 프로그래밍 서브루틴을 기록하게 하고, 시뮬레이션의 결과에 영향을 미치는 시뮬레이션된 다이나믹 시스템의 상태를 변조시킨다. 또한 데이터 전송은 원하는바 대로 이러한 서브루틴에 의해 용이해질 수 있다. 도 3은 203에서 사용자 확인인터페이스 서브루틴("플랜트 I/F")을 나타내며, 이는 플랜트 모델 시뮬레이션으로 통합되며 *.dll 파일로서 바람직하게 특징화된다.
다이내믹 링킹 프로그램(204)(또한 "링크"라 간주됨)은 DSP 에뮬레이션 모듈(200)과 플랜트 모델(202) 사이에 다이내믹 링킹, 또는 인터페이싱을 제공한다. 링크(204)는 Microsoft Corporation Windows®운영 시스템 환경(Windows NT®버전 4.0)에서 작동하는 실행 프로그램(*.exe)으로서 바람직하게 특징화된다. 이하 보다 상세히 논의되는 것처럼, 링크(204)는 에뮬레이션 모듈(200)(실행 주기)과 플랜트 모델(204)(타임 스텝) 각각의 시뮬레이션 타이밍을 설정 및 조절하여, 이들 2개 모듈 사이에 데이타가 통과되고, 에뮬레이션 모듈(200)에 대한 인터럽트가 생성된다. DSP I/F(201), 플랜트 I/F(203), 및 링크(204)는 비쥬얼 베이직 C++v6.0 또는 다른 적절한 프로그래밍 언어를 사용하여 바람직하게 기록되고 차후 원하는 포맷으로 컴파일된다.
우선, 윈도우 NT
Figure 112005020056439-pct00001
운영 시스템이 바람직하게 다수의 프로그램의 동시 실행을 허용하기 때문에, 에뮬레이션 모듈(200), 플랜트 모델(202) 및 링크(204)는 로딩되어 전술한 마이크로소프트 사의 윈도우 NT
Figure 112005020056439-pct00002
운영 시스템을 동작시키는 컴퓨터(점선 박스(206)로 표시)에서 동작된다. 평가될 DSP 프로그래밍(208로 표시)은 에뮬레이션 모듈(200)에 제공된다. 디스크 드라이브 설계(210)를 기술하는 디스크 드라이브 구성 정보는 플랜트 모델(202)을 형성하는 시뮬레이션 소프트웨어에 제공된다. 사용자는 시간 단계에 대한 원하는 비율의 실행 주기를 입력(입력 블록(212)로 표시)한 후에, 상기 프로그램을 실행시킨다.
각 단계에서, 에뮬레이션 모듈(200)에 대한 입력으로서 시스템 상태가 플랜트 모델(202)로부터 제공되며 플랜트 모델(202)에 대한 입력으로서 전류 명령 신호가 에뮬레이션 모듈(200)로부터 제공된다. 또한, 출력 데이터는 각각 블록(214, 216, 218)으로 표시되는 프로그램에 의해 (원하는 대로) 생성된다. 예를 들어, 에뮬레이션(200)은 실행 단계 및 등록 내용을 나타낸 파일을 기록할 수 있으며, 플랜트 모델(202)은 속도, 위치 및 전류 파형을 디스플레이할 수 있으며, 그리고 링크(204)는 시뮬레이션 동작 동안 전달된 데이터를 나타내는 전송 파일(transfer file)을 기록할 수 있다.
도 4 및 5는 도 3의 에뮬레이션 모듈(200)에 의해 일반적으로 평가되는 DSP 프로그래밍(210)의 나타내는 단순화된 기능 블록도이다. 특히, 도 4는 속도 제어 탐색(seek) 동안 사용되는 코드 부분들을 나타낸다. 프로파일러(profiler) 블록(220)은 일련의 요구(demand) 속도에 따른 속도 프로파일을 출력한다. 옵저버(observer)(222)는 플랜트 모델(202)의 수학적 모델로서 동작되며 헤드의 위치 및 속도에 대한 추정을 제공한다. 추정된 속도는 노치(notch) 필터(226)에 의해 필터링되는 속도 에러를 생성시키는 가산 접합부(224)에서 요구 속도와 합산된다. 필터(226)의 출력은 플랜트(플랜트 모델)에 제공되는 전류 명령 신호를 형성하는 합산 접합부(228)에서 바이어스 값과 합산된다. 헤드에 의해 변환된 서보 데이터는 플랜트 모델에 의해 복조(demodulate)되어 옵저버(222)에 피드백을 제공하는 합산 접합부(232)에서 추정 위치와 합산되는 실제 위치 신호를 제공한다.
도 5는 트랙 추적(follow)과 같은 위치 제어 동작 동안 사용된 코드의 위치를 나타낸다. 옵저버(234)는 이득 블록(236, 238)에서 각각의 이득(Kv, Kx)이 곱해지는 속도 및 위치 추정값을 출력하며, 그 결과는 합산 접합부(240)에서 합산된다. 옵저버(234)로부터 추정된 바이어스는 가산 접합부(242)에서 합산되며 출력은 (이득(Kp)을 갖는) 1차 서보 이득 블록(244)을 통해서 옵저버에 피드백되어 플랜트(플랜트 모델)에 대한 전류 명령 신호를 생성시킨다. 전술한 바와 같이, 헤드에 의해 변환된 서보 데이터가 복조되어(플랜트 모델에 의해) 실제 위치 신호를 제공하며, 가산 접합부(246)에서 추정 위치와 합산되어 옵저버(234)로 피드백을 제공한다.
에뮬레이션 모델(200)은 입력 디지털 값을 대응하는 아날로그 값으로 변환하는 펄스폭 변조(PWM) 디지털-아날로그(D/A) 컨버터(250)에 인련의 디지털 값으로서 전술한 전류 명령 신호를 제공한다. PWM 전달 함수 블록(252)은 PWM 컨버터(250)의 응답 특성을 모델링하며, 헤드/디스크 어셈블리(HDA) 지연 블록(254)은 디스크 드라이브(100)의 전기-기계적 부분에 의해 물리적 지연을 모델링한다. 그 결과, 아날로그 전류 명령 신호는 액추이에터(110) 및 디스크(108)를 나타내는 HDA 기계적 블록(258)에 인가되는 코일 전류를 발생시키는 파워 증폭기(256)으로 통과한다(도 1). 진동, 허용오차 효과 등과 같은 교란은 교란 블록(260)에 의해 다양한 실세계 조건을 모델링하기 위하여 선택적으로 삽입될 수 있다.
에뮬레이션 모델(200)은 입력 디지털 값을 대응하는 아날로그 값으로 변환하는 펄스폭 변조(PWM) 디지털-아날로그(D/A) 컨버터(250)에 인련의 디지털 값으로서 전술한 전류 명령 신호를 제공한다. PWM 전달 함수 블록(252)은 PWM 컨버터(250)의 응답 특성을 모델링하며, 헤드/디스크 어셈블리(HDA) 지연 블록(254)은 디스크 드라이브(100)의 전기-기계적 부분에 의한 물리적 지연을 모델링한다. 그 결과, 아날로그 전류 명령 신호는 액추이에터(110) 및 디스크(108)를 나타내는 HDA 기계적 블록(258)에 인가되는 코일 전류를 생성시키는 파워 증폭기(256)로 전달된다(도 1). 진동, 허용오차 효과 등과 같은 교란은 다양한 실세계 조건을 모델링하기 위하여 교란 블록(260)에 의해 선택적으로 삽입될 수 있다.
HDA 기계적 블록(258)으로부터의 출력은 복조화 블록(262)에 제공되며, 전술한 바와 같이 상태 서보 데이터는 디스크로부터 판독되어 서보 데이터 위치 입력을 에뮬레이션 모듈(200)에 제공한다. 이러한 입력은 요구된 대로 실제 위치 트랙 어드레스 정보(그레이 코드) 및 인덱스 정보 등을 포함한다. 복조기(262)는 일반적으로 도 2의 복조기(148)의 동작을 모델링한다.
DSP(150)는 스핀들 모터(106)의 회전 속도를 제어하기 위하여 스핀들 모터 속도 제어를 제공한다는 것을 도 2로부터 알 수 있을 것이다. 이러한 기능을 제공하기 위해 사용된 제어 프로그래밍은 용이하게 구현될 수 있으며, 도 4와 5의 DSP 프로그래밍의 표현내에 포함되지 않는다. 스핀들 모터 속도 수정 신호가 에뮬레이션 모듈(200)에서 PWM(D/A) 컨버터(264)로 제공되어 스핀들 모터 드라이버 블록(266)에 의해 사용되는 드라이버 신호가 생성됨으로써 전류가 (스핀들 모터(106)를 시뮬레이팅하는) 스핀들 모터 블록(268)에 인가된다.
스핀들 모터 회전자 위치를 감지하는 동안에, 스핀들 모터 드라이버 블록(266)에 의해 구동된 명령 전류에 상응하는 실제 스핀들 모터 전류의 상승 시간 측정치는 모터 타이머 블록(270)에 의해 6개의 전환 상태(commutation state) 각각의 동안에 측정된다. 결과치는 DSP 에뮬레이션 모듈(200)로 피드백되어 회전자 정치 위치에서, 스타트-업 전류 및 초기 드라이빙 전환 위상이 계산될 수 있다. 그리고 나서, 스핀들 모터 속도가 올라가는 동안에, 모터 타이머 블록(270)은 스핀들 모터 전환 구간의 측정치를 DSP 에뮬레이션 모듈(200)에 제공하여 요구된 속도에 도달할 때까지 스핀들 모터 속도가 올라가도록 적절한 속도 제어 명령의 실행을 허용한다. 그 다음 동작 동안에, 각도 위치 정보는 스핀들 블록(268)에서 복조기(262)로 공급되어, 복조기(262)는 디스크에 대한 헤드를 위한 방사상 위치 정보와 헤드 아래에서 디스크가 회전하는 속도를 나타내는 각도 위치 정보를 수신한다.
도 4-6에서, 링크(204)에 의해 용이해진 데이터 교환은 전류 명령 신호 및 에뮬레이션 모듈(200)에서 플랜트 모델(202)로의 스핀들 모터 속도 수정 신호와 플랜트 모델(202)에서 에뮬레이션 모듈(200)로의 위치 정보를 포함한다. 이러한 프로그램의 종래 기술의 개별적인 활용은 통상적으로 실행할 프로그램에 의해 사용되는 필수 입력 데이터를 제공하는 "데이터 파일"의 생성을 수반했다. 이와는 대조적으로, 링크(204)는 2개의 프로그램이 다른 프로그램을 위해 다음 입력 데이터 세트를 다이내믹하게 계산하도록 한다.
또한, 링크(204)는 각각의 모듈의 동작을 동시에 일어나게 한다; 에뮬레이션 모듈(200)은 선택된 속도(프로세서 주기)로 DSP 코드를 실행할 것이며, 그리고 플랜트 모델(202)은 (마이크로초 정도의)시간 스텝내에 시스템의 응답을 시뮬레이팅할 것이다. 통상적으로, DSP 코드는 플랜트로부터 각각의 상응하는 시간 스텝을 위한 몇가지 명령을 실행할 것이다. 그러므로, 동작동안에, 링크(204)는 각각의 입력을 2개의 프로그램에 제공할 것이며, 양자가 개별적인 수의 주기나 시간 스텝을 통하여 나아갈 수 있게 할 것이며, 필요한 프로세서 인터럽트를 생성시킬 것이다.
서보 DSP 코드 평가 루틴(300)을 위한 흐름도는 도 3-6의 프로그래밍 구성의 동작을 요약하기 위하여 도 7에서 설명된다. 단계(302)에서, 우선 DSP 코드는 소프트웨어 에뮬레이션 모듈(단계 304)에 근거한 컴퓨터 내에서의 사용을 위해 생성된다. 단계(306)에서 적절한 전기적 및 기계적 부분의 다이내믹 모델이 생성되며, 그리고 단계(308)에서 다이내믹 모델에 적절한 다이내믹 링킹 프로그램과 에뮬레이션 모듈이 만들어지고 컴파일된다.
단계(310)에서 사용자는 각각의 실행 속도(시간 스텝당 프로세서 주기)를 요구된 대로 선택하며, 그리고 단계(312)에서 시뮬레이션 실행을 위한 추가적인 입력을 선택한다. 그러한 입력은 예를 들면, 시뮬레이션 실행동안에 외부에서 인가된 진동의 효과를 모델링하기 위한 (도 6의 교란 블록(260)에 의해 삽입되는) 외부 교란 스펙트럼을 포함한다. 단계 314에서, 에뮬레이션 모듈, 다이내믹 플랜트 모델 및 링크 프로그램은 이에 따라 동시에 컴퓨터에 의해서 실행된다. 단계 316에서, 사용자는 그 결과값을 계산한다. 단계 318에서는 이 과정이 끝난다.
본 발명의 실시예는 새로운 디스크 설계 개발 단계 동안 디스크 드라이브 생산자에게 여러가지 중요한 장점을 제공하는 것이 명백할 것이다. 첫째로, 가상 디스크 드라이브를 사용하는 서보 프로세서 코드의 평가는 HDA 기계적 설계(베이스덱, 디스크, 작동기 구조) 및 HDA 전기적 설계(모터 드라이버 회로, 디모듈레이션 회로)가 완전히 개발되어 물리적으로 이용가능하게 되기 이전에 코드가 상당히 완성되고 디버깅될 수 있게 한다. 이것은 역사적으로 개발의 "브래드 보드(bread board)"로 언급되는 것을 잠재적으로 감소시킬 수 있는데, 여기서, 상기 브래드 보드 단계에서 엔지니어링 프로토타입은 최종적인 설계 결정을 완전히 하기 전에 디스크 드라이브의 제 1 버전을 물리적으로 만들기 위한 시도로 생성된다.
본 발명에서는 매우 짧은 시간동안에 상당한 양의 데이타가 모여질 것이다. 공칭 설계로부터 다양한 전기적 및 기계적 구성요소 중에서 수천의 허용오차 결합이 있을 수 있다; 과거에는 디스크 드라이버 제조자는 수백의 디스크 드라이브를 만들어 이러한 허용오차의 다양한 효과를 평가하기 위해서 연장된 주기의 시간동안 실험실 조건하에서 이러한 드라이브를 테스트했을 것이다. 이와 달리, 플랜트 모델(202)은 쉽게 조정될 수 있고, 이러한 조정들 간의 상호작용 및 코드는 하나의 드라이브를 만들지 않고 즉시 평가될 수 있다. 실제 시간 스케일은 요구되는 대로 조정될 수 있고, 시간 스텝은 실제 드라이브가 작동하는 동안에 일반적으로 사용되는 샘플링 주기보다 더 빈번할 수 있다. 도시된 바와 같은 목적을 위해서, 도 3의 구조는 예를 들어 2000/1의 비율로 실행하는 데, 이에 따라 2 밀리세컨드의 디스크 드라이브 동작은 2초로 시뮬레이팅될 수 있다.
다른 중요한 장점은 에뮬레이션 장치의 측면에서 본 발명과 연관된 비용 절감이다. 통상적인 에뮬레이션 스테이션("프로세서 애뮬레이터"가 작업중인 드라이브에서 프로세서의 슬롯에 물리적으로 플러그 삽입되도록 함)은 몇 만 달러의 비용이 들고 단일 사용자만 사용할 수 있다. 대조적으로, 본 발명은 설계부 내에서 온라인으로 이용가능하게 만들어져, 다수의 사용자가 다양한 라이브러리 및 파일에 액세스할 수 있고 상업적으로 이용가능한 "기성품" 에뮬레이션 모듈 및 다이내믹 모델링 프로그램을 사용하여 파일할 수 있다.
바람직한 실시예에 따라, 본 발명은 회전가능한 디스크(108)에 관련하여 헤드(118)의 서보 제어를 수행하고 디스크(108)가 저널링되는 스핀들 모터(106)의 정상적인 동작 및 스핀업을 제어하도록 디스크 드라이브(100)의 프로그램 가능 프로세서 장치(150)에 의해 사용된 프로그래밍(212)을 애뮬레이팅하기 위한 방법 및 장치에 관한 것이다.
프로그래밍은 프로그램 가능 프로세서 장치에 의해 실행할 수 있는 일련의 명령으로서 우선 생성된다. 프로세서 에뮬레이션 소프트웨어(200)는 컴퓨터(206)의 명령의 실행을 시뮬레이팅하기 위하여 사용된다. 디스크 드라이브의 전기적 및 기계적 부분의 다이나믹 모델은 플랜트 시뮬레이션 소프트웨어(202)를 사용하여 생성된다. 다이나믹 링킹 프로그램(204)은 프로세서 에뮬레이션 소프트웨어 및 플랜트 시뮬레이션 소프트웨어 사이의 데이타를 동기화 및 전달하도록 구성된다. 그러므로 모두 3개의 프로그램은 프로그래밍의 실시간 동작을 평가하기 위하여 컴퓨터에서 동시에 실행된다.
본 발명이 상기된 목적 및 장점 뿐 아니라 특징을 달성하도록 적용된다는 것은 명확하다. 현재 바람직한 실시예는 본 발명에서의 목적을 위하여 기술되었지만, 당업자에게 쉽게 제안될 수 있으며 첨부된 청구항에 한정되고 개시된 본 발명의 사상에 포함되는 다수의 변형이 이루어질 수 있다.

Claims (10)

  1. 회전 가능한 디스크에 대해 헤드의 서보 제어를 수행하기 위해 디스크 드라이브 내 프로그래밍가능한 프로세서 장치에 의해 이용되는 프로그래밍을 평가하는 방법으로서,
    (a) 상기 프로그래밍가능한 프로세서 장치에 의해 실행 가능한 일련의 지시들로서 프로그래밍을 생성시키는 단계;
    (b) 상기 프로그래밍가능한 프로세서 장치에 의한 상기 일련의 지시들의 실행을 시뮬레이팅하도록 구성된 프로세서 에뮬레이션 소프트웨어를 제공하는 단계 - 여기서, 상기 프로세서 에뮬레이션 소프트웨어는 헤드 위치를 나타내는 위치 입력에 응답하여 헤드 위치를 제어하는데 사용되는 액츄에이터 모터에 인가되는 전류를 나타내는 전류 명령 신호를 출력함 -;
    (c) 상기 헤드, 디스크, 및 액츄에이터 모터를 포함하는 디스크 드라이브의 전기적 부분들 및 기계적 부분들의 다이내믹 모델을 생성시키기 위해 플랜트 시뮬레이션 소프트웨어를 사용하는 단계 - 여기서, 상기 플랜트 시뮬레이션 소프트웨어는 상기 전류 명령 신호에 응답하여 헤드 위치를 나타내는 헤드 위치 신호를 출력함 -;
    (d) 상기 프로세서 에뮬레이션 소프트웨어로부터 상기 플랜트 시뮬레이션 소프트웨어로 상기 전류 명령 신호를 전달하고 상기 플랜트 시뮬레이션 소프트웨어로부터 상기 프로세서 에뮬레이션 소프트웨어로 상기 헤드 위치 신호를 전달하도록 구성된 다이내믹 링킹 프로그램을 제공하는 단계; 및
    (e) 상기 프로그래밍의 실시간 동작을 평가하기 위해 상기 프로세서 에뮬레이션 소프트웨어, 상기 플랜트 시뮬레이션 소프트웨어 및 상기 다이내믹 링킹 프로그램을 컴퓨터에서 동시에 실행하는 단계를 포함하는 프로그래밍 평가 방법.
  2. 제1항에 있어서,
    상기 생성 단계(a)에서 생성된 상기 지시들은 탐색 동작 동안 헤드의 속도 제어를 수행하는데 사용되는 지시들과, 트랙 추종 동작 동안 헤드의 위치 제어를 수행하는데 사용되는 지시들을 포함하는 것을 특징으로 하는 프로그래밍 평가 방법.
  3. 제1항에 있어서,
    상기 사용 단계(c)에서의 다이내믹 모델은 부가하여 상기 디스크를 회전시키는데 사용되는 스핀들 모터를 모델링하며, 상기 제공 단계(b)에서의 프로세서 에뮬레이션 소프트웨어는 부가하여 스핀들 모터 속도 수정 신호를 출력하는 것을 특징으로 하는 프로그래밍 평가 방법.
  4. 제1항에 있어서,
    (f) 상기 동시 실행 단계(e)의 동작 동안 외부적으로 인가되는 진동을 시뮬레이팅하기 위해 상기 플랜트 시뮬레이션 소프트웨어에 교란 스펙트럼을 제공하는 단계를 더 포함하는 것을 특징으로 하는 프로그래밍 평가 방법.
  5. 제1항에 있어서,
    상기 다이내믹 링킹 프로그램은 마이크로소프트 윈도우즈 NT ®버전 4.0과 호환성 있는 운영 시스템 환경에서 동작 가능한 실행(*.exe) 파일인 것을 특징으로 하는 프로그래밍 평가 방법.
  6. 회전 가능한 디스크에 대해 헤드의 서보 제어를 수행하기 위해 디스크 드라이브 내 프로그래밍가능한 프로세서 장치에 의해 이용되는 프로그래밍을 평가하는 장치로서, 상기 프로그래밍은 상기 프로그래밍가능한 프로세서 장치에 의해 실행 가능한 일련의 지시들을 포함하며, 상기 장치는,
    (a) 컴퓨터 메모리를 구비한 컴퓨터;
    (b) 상기 컴퓨터 메모리에 저장되어 있으며, 상기 프로그래밍가능한 프로세서 장치에 의한 상기 일련의 지시들의 실행을 시뮬레이팅하도록 구성된 프로세서 에뮬레이션 소프트웨어 - 여기서, 상기 프로세서 에뮬레이션 소프트웨어는 헤드 위치를 나타내는 위치 입력에 응답하여 헤드 위치를 제어하는데 사용되는 액츄에이터 모터에 인가되는 전류를 나타내는 전류 명령 신호를 출력함 -;
    (c) 상기 컴퓨터 메모리에 저장되어 있으며, 상기 헤드, 디스크, 및 액츄에이터 모터를 포함하는 디스크 드라이브의 전기적 부분들 및 기계적 부분들의 다이내믹 모델을 생성시키도록 구성된 플랜트 시뮬레이션 소프트웨어 - 여기서, 상기 플랜트 시뮬레이션 소프트웨어는 상기 전류 명령 신호에 응답하여 헤드 위치를 나타내는 헤드 위치 신호를 출력함- ; 및
    (d) 상기 프로세서 에뮬레이션 소프트웨어로부터 상기 플랜트 시뮬레이션 소프트웨어로 상기 전류 명령 신호를 전달하고 상기 플랜트 시뮬레이션 소프트웨어로부터 상기 프로세서 에뮬레이션 소프트웨어로 상기 헤드 위치 신호를 전달하도록 구성된 다이내믹 링킹 프로그램;
    을 포함하며,
    상기 컴퓨터는 상기 프로그래밍의 실시간 동작을 평가하기 위해 상기 프로세서 에뮬레이션 소프트웨어, 상기 플랜트 시뮬레이션 소프트웨어 및 상기 다이내믹 링킹 프로그램을 동시에 실행하도록 구성된 프로그래밍 평가 장치.
  7. 제6항에 있어서,
    상기 프로그래밍가능한 프로세서 장치에 의해 실행 가능한 상기 지시들은 탐색 동작 동안 헤드의 속도 제어를 수행하는데 사용되는 지시들과, 트랙 추종 동작 동안 헤드의 위치 제어를 수행하는데 사용되는 지시들을 포함하는 것을 특징으로 하는 프로그래밍 평가 장치.
  8. 제6항에 있어서,
    상기 다이내믹 모델은 부가하여 상기 디스크를 회전시키는데 사용되는 스핀들 모터를 모델링하며, 상기 프로세서 에뮬레이션 소프트웨어는 부가하여 스핀들 모터 속도 수정 신호를 출력하는 것을 특징으로 하는 프로그래밍 평가 장치.
  9. 제6항에 있어서,
    상기 다이내믹 링킹 프로그램은 상기 프로세서 에뮬레이션 소프트웨어, 상기 플랜트 시뮬레이션 소프트웨어 및 상기 다이내믹 링킹 프로그램의 동시 실행 동안 외부적으로 인가된 진동을 시뮬레이팅하기 위해 상기 플랜트 시뮬레이션 소프트웨어에 교란 스펙트럼을 더 제공하는 것을 특징으로 하는 프로그래밍 평가 장치.
  10. 제6항에 있어서,
    상기 다이내믹 링킹 프로그램은 마이크로소프트 윈도우즈 NT® 버전 4.0과 호환성 있는 운영 시스템 환경에서 동작 가능한 실행(*.exe) 파일인 것을 특징으로 하는 프로그래밍 평가 장치.
KR1020017013775A 1999-04-21 2000-04-18 가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가 KR100629035B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13031699P 1999-04-21 1999-04-21
US60/130,316 1999-04-21

Publications (2)

Publication Number Publication Date
KR20010113902A KR20010113902A (ko) 2001-12-28
KR100629035B1 true KR100629035B1 (ko) 2006-09-26

Family

ID=22444119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017013775A KR100629035B1 (ko) 1999-04-21 2000-04-18 가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가

Country Status (6)

Country Link
US (1) US6389384B1 (ko)
KR (1) KR100629035B1 (ko)
CN (1) CN1357138A (ko)
DE (1) DE20022764U1 (ko)
GB (1) GB2363661A (ko)
WO (1) WO2000063893A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3803019B2 (ja) * 2000-08-21 2006-08-02 富士通株式会社 制御プログラム開発支援装置
JP4837844B2 (ja) * 2001-07-19 2011-12-14 富士通株式会社 シミュレーションシステム、方法、プログラム及び記録媒体
US7124237B2 (en) * 2002-10-03 2006-10-17 Seagate Technology Llc Virtual machine emulation in the memory space of a programmable processor
US7813910B1 (en) 2005-06-10 2010-10-12 Thinkvillage-Kiwi, Llc System and method for developing an application playing on a mobile device emulated on a personal computer
US8589140B1 (en) 2005-06-10 2013-11-19 Wapp Tech Corp. System and method for emulating and profiling a frame-based application playing on a mobile device
US20070006166A1 (en) * 2005-06-20 2007-01-04 Seagate Technology Llc Code coverage for an embedded processor system
US7319570B2 (en) * 2005-09-19 2008-01-15 Seagate Technology Llc Random vibration and shock compensator using a disturbance observer
US20080021694A1 (en) 2006-07-20 2008-01-24 Broadcom Corporation, A California Corporation Virtual disk drive architecture
US7525307B2 (en) * 2006-12-27 2009-04-28 Hitachi Global Storage Technologies Netherlands B.V. System and method for hard drive component testing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575776A (en) 1982-12-20 1986-03-11 International Business Machines Corporation Magnetic recording disk file servo control system including an actuator model for generating a simulated head position error signal
US4609855A (en) * 1984-11-09 1986-09-02 Motorola, Inc. Adaptive servomotor control
US4697127A (en) 1986-06-09 1987-09-29 International Business Machines Corporation Adaptive control technique for a dynamic system
JP2954378B2 (ja) * 1991-04-25 1999-09-27 三菱電機株式会社 電動機サーボ系の制御装置
US5262907A (en) 1991-07-31 1993-11-16 Seagate Technology, Inc. Hard disc drive with improved servo system
JP3875294B2 (ja) * 1995-11-17 2007-01-31 富士通株式会社 ディスク装置
US6157984A (en) * 1997-05-15 2000-12-05 Seagate Technology, Llc Integrated controller/processor for disc drive having direct memory access
US6084738A (en) * 1997-08-15 2000-07-04 Seagate Technology, Inc. Writing servo information to a disc drive at a constant density
JP2003526865A (ja) * 1997-08-15 2003-09-09 シーゲート テクノロジー,インコーポレイテッド ディスク・ドライブにおける一定密度のサーボ情報

Also Published As

Publication number Publication date
GB2363661A (en) 2002-01-02
WO2000063893A1 (en) 2000-10-26
US6389384B1 (en) 2002-05-14
GB0125944D0 (en) 2001-12-19
CN1357138A (zh) 2002-07-03
WO2000063893A9 (en) 2002-01-10
DE20022764U1 (de) 2002-03-14
KR20010113902A (ko) 2001-12-28

Similar Documents

Publication Publication Date Title
US20080007863A1 (en) Method and apparatus for single written-in Repeatable Run-Out correction function used in multi-stage actuation control of hard disk drive
US7136256B2 (en) Head positioning control method for a storage device and head positioning control device
KR100629035B1 (ko) 가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가
KR100881190B1 (ko) 하드 디스크 드라이브 및 하드 디스크 드라이브의 서보 조정 방법
US7158330B2 (en) Method and apparatus for servo track writing by track following on a dedicated servo disk on a fluid spindle bearing
KR20010113648A (ko) 적응 피드포워드 소거 방법 및 장치
JP4878838B2 (ja) ハードディスクドライブのトラック探索制御方法,これに適した記録媒体,および,これを適用したハードディスクドライブ
KR100251920B1 (ko) 셀프 튜닝(self tunning)방법을 통한 하드 디스크 드라이브의 초기화방법
US6574070B2 (en) Model reference generator for a disc drive
KR100398857B1 (ko) 피드백 제어 시스템, 제어 방법, 자기 디스크 장치 및자기 디스크 장치를 제어하기 위한 방법
US7423831B2 (en) Utilization of the acceleration zone in ammonite servo writing
US6153998A (en) Method of controlling a two-degree-of-freedom control system
US5404492A (en) Head disk assembly simulator
US7952830B2 (en) Method and apparatus for estimating flying height in a hard disk drive
CN108962288B (zh) 磁盘装置以及磁盘装置的在轨判定次数设定方法
KR100630721B1 (ko) 하드디스크 드라이브의 트랙 탐색 제어 방법, 트랙 탐색제어 장치 그리고 이에 적합한 기록 매체
US6469962B2 (en) Method for detecting running speed of sledge motor in optical storage device
JP2006202466A (ja) 多重サイン波形のシークサーボでのトルク定数の補正方法及びディスクドライブ
JP2006147104A (ja) サーボ情報書込み装置及びサーボ情報書込み方法
JP3369509B2 (ja) 2自由度制御系の制御方法及び装置、磁気ディスク装置及びその制御方法
Cao et al. Frequency-domain transfer function of digital multirate controller with current estimator
JP2003085904A (ja) 磁気ディスク装置及びサーボライト方法
JP3177121B2 (ja) 位置制御装置及び方法
KR100640607B1 (ko) 데이터 저장 시스템의 이상 상태 복원 제어 방법 및 이를이용한 디스크 드라이브
JPH04337577A (ja) 磁気ディスク装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee