KR100280972B1 - Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface - Google Patents
Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface Download PDFInfo
- Publication number
- KR100280972B1 KR100280972B1 KR1019970046443A KR19970046443A KR100280972B1 KR 100280972 B1 KR100280972 B1 KR 100280972B1 KR 1019970046443 A KR1019970046443 A KR 1019970046443A KR 19970046443 A KR19970046443 A KR 19970046443A KR 100280972 B1 KR100280972 B1 KR 100280972B1
- Authority
- KR
- South Korea
- Prior art keywords
- ata
- signal
- ide interface
- upgrade
- firmware
- Prior art date
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
본 발명은 ATA/IDE인터페이스를 통한 광학디스크드라이브의 펌웨어 코드 업그레이드 장치 및 방법에 관한 것이다. 광학디스크드라이브는 펌웨어 코드 메모리 및 펌웨어 코드를 실행하는 마이크로콘트롤러를 가진다. 드라이브 디코더는 ATA/IDE인터페이스를 통해 광학디스크드라이브를 호스트 컴퓨터 시스템에 접속하도록 해독한다. 본 발명의 장치는 ATA/IDE인터페이스로부터 시그널을 수신하여 호스트 컴퓨터가 펌웨어의 업그레이드를 요구하는지, 또는 정상작동으로 광학디스크드라이브를 유지하는 것을 요구하는 지를 결정하는 입/출력디코드를 수행하는 프로그래밍 콘트롤러를 포함한다. 멀티플렉서는 프로그래밍 콘트롤러에 접속된 제1입력 및 마이크로콘트롤러에 접속된 제2입력을 가진다. 멀티플렉서는 호스트 컴퓨터 시스템이 펌웨어 업그레이드를 요구하는 경우, 펌웨어 업그레이드 작동을 수행하기 위해 다중화된 출력을 통해 제1입력을 메모리장치로 스위칭한다. 이에 의해, 드라이브 유니트의 내부로 접근할 필요없이, 온사이트 업그레이드 작동을 수행할 수 있다.The present invention relates to an apparatus and method for upgrading firmware code of an optical disc drive through an ATA / IDE interface. The optical disc drive has a firmware code memory and a microcontroller that executes the firmware code. The drive decoder decodes the optical disc drive to connect to the host computer system via the ATA / IDE interface. The apparatus of the present invention receives a signal from the ATA / IDE interface and a programming controller that performs input / output decoding to determine whether the host computer requires an upgrade of the firmware or maintains the optical disk drive in normal operation. Include. The multiplexer has a first input connected to the programming controller and a second input connected to the microcontroller. When the host computer system requires a firmware upgrade, the multiplexer switches the first input to the memory device through the multiplexed output to perform the firmware upgrade operation. Thereby, the on-site upgrade operation can be performed without having to access the inside of the drive unit.
Description
본 발명은 광학디스크드라이브의 펌웨어코드의 온사이트(on-site) 업그레이드에 관한 것이다. 보다 구체적으로는, 호스트컴퓨터시스템의 ATA/IDE인터페이스를 통한 펌웨어 코드 업그레이드를 수행할 수 있는 광학디스크드라이브용 장치 및 그에 대응하는 방법에 관한 것이다.The present invention relates to an on-site upgrade of firmware code of an optical disc drive. More specifically, the present invention relates to an apparatus for an optical disk drive capable of performing a firmware code upgrade through an ATA / IDE interface of a host computer system, and a method thereof.
광학디스크드라이브, 특히 CD-ROM드라이브 범주에 속하는 드라이브는 디지털 광전자 메모리 저장장치로서, 거의 모든 개인용 컴퓨터 시스템에 하나 이상 설비되어 있을 정도로 대중화되었다. 개인용 컴퓨터 분야에서, CD-ROM드라이브의 디자인은 원래 CD-ROM디스크상에 대량 정보를 저장할 수 있도록 고안되었다. 어떤 점에서는, 그 개념이 저장매체의 표면상에 정보를 저장하는 자기디스크드라이브와 기본적으로 동일하다. 이러한 CD군에 대해서 사용자는 어떠한 기록도 불가능하므로, "CD-ROM"이라 불려진다. 그러나, 저렴한 비용으로 대량생산된 CD-ROM디스크로부터 대량의 데이터를 입수할 수 있다.Optical disc drives, particularly those in the CD-ROM drive category, are digital optoelectronic memory storage devices that have become so popular that almost all personal computer systems have one or more. In the field of personal computers, the design of CD-ROM drives was originally designed to store large amounts of information on CD-ROM disks. In some respects, the concept is basically the same as a magnetic disk drive that stores information on the surface of a storage medium. Since no recording is possible for the user to this CD group, it is called "CD-ROM". However, a large amount of data can be obtained from mass-produced CD-ROM discs at low cost.
비록, CD-ROM이 ISO에 의해 디지털 데이터 저장의 스탠다드로서 채택되어 왔으나, 단순히 대량의 데이터 저장을 넘어선 또다른 용도들이 있다. CD-ROM은 적절한 소프트웨어 제어하에서, CD군내의 다양한 유형의 디스크에 접근하도록 사용될 수 있다.Although CD-ROMs have been adopted by ISO as a standard for digital data storage, there are other uses beyond simply storing large amounts of data. CD-ROMs can be used to access various types of discs in a CD family, under appropriate software control.
예를 들어, 개인용 컴퓨터 시스템에서, CD-ROM드라이브는 바로 제1세대 CD 즉, 뮤직CD상에 저장된 뮤직부분을 재생하기 위한 통상적인 CD플레이어로서 종종 사용된다. 원래의 뮤직 CD의 도입 이후, 비디오CD(VCD)와 같은 포맷군들이 출현되었다. 종래의 개인용 컴퓨터 시스템용 CD-ROM드라이브는 컴퓨터 디스플레이 스크린상에 VCD비디오 프로그램을 재생할 수 있도록 제작되었다. 채택된 MPEG-1의 고유의 제한성 때문에, VCD스탠더드는 중요한 분야에 사용되지 않으며, 전자제품 집합체의 두세개의 군들이 최근에 디지털 비디오디스크(또는 디지털 다능 디스크)로서 알려진 새로운 스탠다드로서 개발되었다.For example, in a personal computer system, a CD-ROM drive is often used as a conventional CD player for playing a part of music stored on a first generation CD, that is, a music CD. Since the introduction of the original music CD, format families such as video CD (VCD) have emerged. Conventional CD-ROM drives for personal computer systems are designed to play VCD video programs on computer display screens. Because of the inherent limitations of MPEG-1 adopted, VCD standards are not used in critical applications, and two or three families of electronics assemblies have recently been developed as new standards known as digital video discs (or digital versatile discs).
이것은 새로운 비디오 데이터 저장 포맷으로서, 고해상도의 사용을 통해 실질적으로 보다 양호한 비디오 효과를 제공하는 MPEG-2스탠다드에 기초한 새로운 CD군 중의 하나이다. DVD스탠다드가 제안됨에 따라, 차세대의 DVD드라이브의 CD-ROM포맷으로의 역호환성이 새로운 시스템 내로 고안되어 왔다. 즉, DVD드라이브의 출현은 그의 애초의 DVD 뿐만 아니라, CD-ROM도 판독할 수 있게 되었다.This is a new video data storage format, one of a new family of CDs based on MPEG-2 Standard that provides substantially better video effects through the use of high resolution. As DVD standards have been proposed, backward compatibility of the next generation of DVD drives into the CD-ROM format has been devised into new systems. That is, the appearance of the DVD drive has been able to read not only his original DVD but also a CD-ROM.
따라서, 컴퓨터 시스템용 광학 콤팩트 디스크 서브시스템으로서, CD-ROM드라이브는 CD매체군의 다른 포맷에도 접근할 수 있도록 프로그래밍될 수 있다. 이것은, 널리 보급된 x86형 IBM호환기종에서, 소프트웨어 드라이브 설치로서 알려진 방법으로 실행된다. 적절한 소프트웨어 드라이버의 설치에 의해, 오퍼레이팅 시스템에 의해 운용되는 컴퓨터시스템은 CD-ROM, 재생 뮤직CD 또는 비디오 VCD상에 저장된 데이터 파일을 판독하는데 사용될 수 있다. 이들 소프트웨어 드라이버들은 필수적으로 CD-ROM드라이브의 제어세스템에 위치하는 하드웨어-레벨 제어프로그램의 상단에 설치되어 있다. 이 펌웨어프로그램은 통상 소거가능한 PROM(EPROM) 또는 전기적 소거가능한 PROM(EEPROM)과 같은 비휘발성 반도체 메모리장치내에 저장된다.Thus, as an optical compact disc subsystem for computer systems, a CD-ROM drive can be programmed to access other formats of the CD media family. This is carried out by a method known as software drive installation in a widespread x86 type IBM compatible model. By installing a suitable software driver, a computer system operated by the operating system can be used to read data files stored on a CD-ROM, a playback music CD or a video VCD. These software drivers are essentially installed on top of a hardware-level control program located in the control system of the CD-ROM drive. This firmware program is usually stored in a nonvolatile semiconductor memory device such as an erasable PROM (EPROM) or an electrically erasable PROM (EEPROM).
이 펌웨어를 기초로 하여, CD-ROM드라이브는 호스트 컴퓨터 시스템에 의해 제어되어 뮤직CD플레이어, VCD플레이어, 및/또는 CD-ROM데이터 드라이브의 기능을 적절히 수행할 수 있다. 그러나, 특정 상황하에서, 특히 새로운 모델의 CD-ROM드라이브가 시판되었을 경우에, 드라이브 자체의 제어일렉트로닉스의 펌웨어 또는 오퍼레이팅 시스템/응용-레벨 드라이버와 같은 소프트웨어프로그램은 드라이브의 기능불량을 야기시킬 수 있는 프로그램 문제(프로그램 버그)를 가질 수 있다. 만약, 문제가 오퍼레이팅 시스템/응용-수준 드라이버에 있는 경우, 그 문제는 CD-ROM드라이브와는 전혀 관계가 없을 수 있다. 그러나, 만약 불행히도 문제가 CD-ROM드라이브의 펌웨어에 있는 경우, 소프트웨어 조정은 불가피하게 많은 문제를 야기시킬 것이다.Based on this firmware, the CD-ROM drive can be controlled by the host computer system to properly perform the functions of the music CD player, VCD player, and / or CD-ROM data drive. However, under certain circumstances, especially when a new model CD-ROM drive is commercially available, a software program such as firmware or operating system / application-level driver of the controlling electronics of the drive itself may cause the drive to malfunction. You may have problems (program bugs). If the problem is with the operating system / application-level driver, the problem may have nothing to do with the CD-ROM drive. However, unfortunately if the problem is in the firmware of the CD-ROM drive, software tuning will inevitably cause many problems.
기본적으로, 드라이브 펌웨어에 어떠한 프로그램상의 문제가 있는 경우, 반도체 메모리장치내에 저장된 펌웨어는 업그레이드시켜야만 한다. 즉, 문제가 없는 다른 사본으로 교체해야만 한다. 펌웨어 프로그램을 홀딩하는데 사용되는 반도체메모리가 EPROM과 같은 장치인 경우, 메모리 내용의 재프로그래밍을 수행하기 위해, 삽입된 소켓으로부터 제거하거나 인쇄회로기판으로부터 납땜 제거를 해야만 한다. 통상, 여기에는 메모리 내용의 삭제를 위해 EPROM장치상에 자외선 조사를 필요로 한다. 소거된 메모리장치가 다시 재사용되려면, 통상적인 경우에, 결점없는 새로운 펌웨어 프로그램을 홀드하도록 재프로그래밍되어야만 한다. EEPROM장치가 드라이브 펌웨어를 저장하는데 사용된 경우라 할지라도, EPROM의 경우와 마찬가지의 방법으로 처리해야만 한다. 이것은 종래의 CD-ROM드라이브 장치 제어로직에 온사이트 재프로그래밍을 위한 디자인상의 결함이 있기 때문이다.Basically, if there is any program problem in the drive firmware, the firmware stored in the semiconductor memory device must be upgraded. That is, it should be replaced with another copy that does not have any problem. If the semiconductor memory used to hold the firmware program is a device such as an EPROM, it must be removed from the inserted socket or soldered from the printed circuit board to perform reprogramming of the memory contents. Usually, this requires ultraviolet irradiation on the EPROM device for erasing the contents of the memory. In order for the erased memory device to be reused again, in normal cases, it must be reprogrammed to hold a new flawless firmware program. Even if the EEPROM device is used to store drive firmware, it must be handled in the same way as for EPROM. This is because the conventional CD-ROM drive device control logic has a design flaw for on-site reprogramming.
종래의 CD-ROM장치에 대한 전술한 펌웨어 업그레이드/조정절차는 펌웨어 메모리장치에 접근할 수 있도록 드라이브의 케이싱을 개방할 필요가 있다. 메모리장치에 원활하게 접근하기 전에, CD-ROM장치 자체는 만약 이미 설치되어 있는 경우는, 컴퓨터시스템 유니트의 드라이브 베이(bay)로부터 제거되어야만 한다. 또한, EPROM 및/또는 EEPROM장치의 소거 및 프로그래밍은 통상적으로 자외선 소거기 및 프로그래머와 같은 전용장비의 사용을 필요로 한다. 따라서, 통상적인 CD-ROM장치용 펌웨어 업그레이드 작동은 통상적으로 컴퓨터시스템의 최종사용자에 의해 이루어지지 않는다. 보다 가능성 있는 시나리오는 서비스맨이 시스템으로부터 CD-ROM드라이브를 제거하고, 드라이브를 제조업자에게 가지고 가서, 그 곳에서 펌웨어 업그레이드을 수행하는 것이다.The above-described firmware upgrade / adjustment procedure for the conventional CD-ROM device needs to open the casing of the drive so that the firmware memory device can be accessed. Before accessing the memory device smoothly, the CD-ROM device itself must be removed from the drive bay of the computer system unit if it is already installed. In addition, erasing and programming of EPROM and / or EEPROM devices typically requires the use of dedicated equipment, such as UV erasers and programmers. Thus, the normal firmware upgrade operation for a CD-ROM device is not usually done by the end user of the computer system. A more likely scenario is a serviceman removing a CD-ROM drive from the system, taking the drive to the manufacturer, and performing a firmware upgrade there.
펌웨어가 업그레이드 될 CD-ROM드라이브가 제조업자의 공장으로 반환되면, 케이싱을 개방하고, 적절한 도구 및/또는 장비를 사용하여, 드라이브 일렉트로닉스로부터 메모리장치를 제거한다. 재프로그래밍된 다음, 정확한 펌웨어 프로그램 코드를 갖는 메모리 장치 또는 그 대체물이 드라이브 일렉트로닉스내로 대체될 수 있다. 적절한 시험절차를 거친 후, 업그레이드 된 CD-ROM드라이브는 소유자에게 반환될 준비가 완료된다. 다시 한번, 숙련된 기술자는 드라이브를 컴퓨터시스템 내로 복귀시켜야 한다. 명백히, CD-ROM드라이브를 업그레이드 하는데 관련된 작업에는 상대적으로 복잡한 전공지식이 요구된다. 하락하는 이윤을 유지하기 어려울 정도로 CD-ROM드라이브의 가격에 대한 치열한 경쟁이 있는 경우에, 제조업자에게 있어, 이러한 업그레이드 작동수행은 엄밀히 말해, 막대한 손실이 된다.When the CD-ROM drive to be upgraded is returned to the manufacturer's factory, open the casing and use the appropriate tools and / or equipment to remove the memory device from the drive electronics. After reprogramming, the memory device or its replacement with the correct firmware program code can be replaced into the drive electronics. After proper testing, the upgraded CD-ROM drive is ready to be returned to its owner. Once again, the skilled technician has to return the drive into the computer system. Clearly, the work involved in upgrading a CD-ROM drive requires relatively complex major knowledge. In the case of fierce competition for the price of a CD-ROM drive to the extent that it is difficult to maintain falling profits, for manufacturers, this upgrade operation is, strictly speaking, a huge loss.
이것은 CD-ROM드라이브에 대한 펌웨어 업그레이드를 수행할 필요성이 제품의 보증기간내에 발생하기 때문이다. 그것만으로, 제조업자는 업그레이드를 수행하는데 필요한 부가적인 인력은 차치하더라도, 선적 뿐만 아니라 호스트 컴퓨터시스템으로부터의 드라이브의 제공에 관한 비용을 책임져야 하는 것이 관례이다. 한편, 업그레이드 과정에서, 드라이브 및 그 부품은 쉽게 손상을 입을 수 있어 부가적인 손실을 야기한다. 드라이브 소유자에 대해, 컴퓨터시스템으로부터 드라이브를 제거하기 위해 기술자를 고용하는 비용은 종종 최저 CD-ROM드라이브의 비용 수준에 달할 수도 있다.This is because the need to perform a firmware upgrade for the CD-ROM drive occurs within the product's warranty period. As such, it is customary for the manufacturer to be responsible for the cost of providing the drive from the host computer system as well as shipping, apart from the additional personnel required to perform the upgrade. On the other hand, during the upgrade process, the drive and its components can be easily damaged resulting in additional losses. For the drive owner, the cost of hiring a technician to remove the drive from the computer system can often reach the cost level of the lowest CD-ROM drive.
따라서, 본 발명의 목적은 컴퓨터로부터 드라이브 유니트를 제거하고 캐비냇을 개방할 필요없이, 호스트 컴퓨터 시스템의 ATA/IDE인터페이스를 통한 광학디스크드라이브의 온사이트 펌웨어 코드 업그레이드 장치 및 방법을 제공하는 것이다.It is therefore an object of the present invention to provide an apparatus and method for upgrading on-site firmware code of an optical disc drive through the ATA / IDE interface of a host computer system without having to remove the drive unit from the computer and open the cabinet.
본 발명의 다른 목적은 펌웨어 코드를 홀딩하는 메모리장치내로 직접 기록하는 호스트 프로세서에 의해, 호스트 컴퓨터 시스템의 ATA/IDE인터페이스를 통한 광학디스크 드라이브의 온사이트 펌웨어 코드 업그레이드 장치 및 방법을 제공하는 것이다.It is another object of the present invention to provide an apparatus and method for upgrading on-site firmware code of an optical disc drive through an ATA / IDE interface of a host computer system by a host processor that writes directly into a memory device holding firmware code.
도 1은 종래 CD-ROM드라이브의 전자제어회로를 나타내는 블럭도,1 is a block diagram showing an electronic control circuit of a conventional CD-ROM drive;
도 2는 도 1의 CD-ROM드라이브에 일반적인 드라이브 IDE인터페이스에 대한 마이크로콘트롤러, 펌웨어 메모리 및 CD-ROM드라이브 디코더 사이의 종래의 인터페이싱 접속을 나타내는 블럭도,FIG. 2 is a block diagram illustrating a conventional interfacing connection between a microcontroller, a firmware memory, and a CD-ROM drive decoder for a drive IDE interface common to the CD-ROM drive of FIG. 1;
도 3은 본 발명에 따른 온사이트(on-site) 펌웨어 코드 업그레이드 장치를 채용한 CD-ROM드라이브의 전자제어회로의 블럭도,3 is a block diagram of an electronic control circuit of a CD-ROM drive employing an on-site firmware code upgrade device according to the present invention;
도 4는 도 3의 전자회로구조를 구현하는 CD-ROM드라이브의 프로그래밍 콘트롤러의 개략적인 블럭도, 및4 is a schematic block diagram of a programming controller of a CD-ROM drive implementing the electronic circuit structure of FIG.
도 5는 도 3의 전자회로 구조를 구현하는 CD-ROM드라이브의 멀티플렉서의 개략적인 블럭도이다.FIG. 5 is a schematic block diagram of a multiplexer of a CD-ROM drive implementing the electronic circuit structure of FIG.
상기 목적은, 본 발명에 따라, ATA/IDE 인터페이스를 통한 광학디스크드라이브의 펌웨어 코드의 업그레이드 장치에 있어서, 상기 광학 디스크 드라이브는, 펌웨어 코드를 저장하는 메모리 장치와, 상기 드라이브의 광학디스크 내용 접근 작동을 제어하기 위해 상기 펌웨어 코드를 실행하는 마이크로콘트롤러와, 상기 광학 디스크 드라이브를 상기 ATA/IDE인터페이스를 통해 호스트 컴퓨터 시스템에 접속하도록 해독하는 드라이브 디코더를 포함하는 광학 디스크 드라이브의 펌웨어 코드 업그레이드 장치에 의해 달성된다. 상기 장치는 호스트 컴퓨터 시스템이 펌웨어 업그레이드를 요구하는지, 정상 작동으로 광학 디스크 드라이브를 유지하는 것을 요구하는지를 결정하는 프로그래밍 이네이블 시그널을 발생하기 위해, 상기 ATA/IDE인터페이스로부터 시그널을 수신하고, 입/출력 디코드를 수행하는 프로그래밍 콘트롤러를 포함한다. 멀티플렉서는 제1 및 제2입력, 다중화된 출력 및 다중화 선택입력을 가지며, 상기 제1입력은 상기 프로그래밍 콘트롤러에 접속되어 있고, 상기 제2입력은 상기 마이크로콘트롤러에 접속되어 있으며, 상기 다중화 선택 입력은 상기 프로그래밍 이네이블 시그널을 수신한다. 상기 멀티플렉서는 상기 호스트 컴퓨터 시스템이 펌웨어 업그레이드를 요구하는 경우, 펌웨어 업그레이드 작동을 수행하기 위해, 상기 다중화된 출력을 통해 상기 제1입력을 상기 메모리 장치로 스위칭한다.The above object is, according to the present invention, in the apparatus for upgrading the firmware code of an optical disc drive via an ATA / IDE interface, the optical disc drive comprises: a memory device storing a firmware code, and an optical disc contents access operation of the drive; Achieved by a firmware code upgrade device of an optical disc drive including a microcontroller executing the firmware code to control the drive, and a drive decoder to decrypt the optical disc drive to a host computer system via the ATA / IDE interface. do. The device receives signals from the ATA / IDE interface to generate a programming enable signal that determines whether the host computer system requires a firmware upgrade or maintains the optical disk drive in normal operation, and input / output. Contains a programming controller that performs the decode. The multiplexer has a first and a second input, a multiplexed output and a multiplexed select input, wherein the first input is connected to the programming controller, the second input is connected to the microcontroller, and the multiplexed select input is Receive the programming enable signal. The multiplexer switches the first input to the memory device via the multiplexed output to perform a firmware upgrade operation when the host computer system requires a firmware upgrade.
또한, 상기 목적을 달성하기 위해, 본 발명은 ATA/IDE인터페이스를 통한 광학 디스크 드라이브의 펌웨어 코드의 업그레이드방법에 있어서, 상기 광학 디스크 드라이브는 상기 펌웨어 코드를 저장하는 메모리 장치와, 상기 드라이브의 광학디스크 내용 접근 작동을 제어하기 위해 펌웨어 코드를 실행하는 마이크로콘트롤러를 포함하는 광학 디스크 드라이브의 펌웨어 코드 업그레이드 방법을 제공한다. 상기 방법은, 먼저 상기 호스트 컴퓨터 시스템이 펌웨어를 업그레이드를 요구하는지, 정상 작동으로 광학 디스크 드라이브를 유지하는 것을 요구하는지를 결정하는 프로그래밍 이네이블 시그널을 발생하기 위해, 상기 광학 디스크 드라이브가 상기 ATA/IDE인터페이스로부터 신호를 수신하고, 입/출력 디코드를 수행하는 단계를 포함한다. 이어서, 상기 광학 디스크 드라이브는 상기 ATA/IDE인터페이스를 상기 메모리 장치에 접속하여 상기 호스트 컴퓨터 시스템이 펌웨어 업그레이드를 요구하는 경우, 상기 메모리장치내로 직접 기록함으로써, 상기 호스트 컴퓨터가 펌웨어 업그레이드 작동을 수행하도록 하고, 상기 호스트 컴퓨터 시스템이 상기 광학디스크 드라이브의 정상 작동을 요구하는 경우, 상기 마이크로콘트롤러를 상기 메모리 장치에 접속한다.In addition, in order to achieve the above object, the present invention is a method of upgrading the firmware code of the optical disk drive through the ATA / IDE interface, the optical disk drive is a memory device for storing the firmware code, and the optical disk of the drive A firmware code upgrade method for an optical disc drive including a microcontroller that executes firmware code to control content access operations is provided. The method further comprises: the optical disc drive generating the ATA / IDE interface to generate a programming enable signal that first determines whether the host computer system requires a firmware upgrade or maintains the optical disk drive in normal operation. Receiving a signal from the device and performing input / output decode. Subsequently, the optical disk drive connects the ATA / IDE interface to the memory device and writes directly into the memory device when the host computer system requires a firmware upgrade, thereby allowing the host computer to perform a firmware upgrade operation. Connect the microcontroller to the memory device when the host computer system requires normal operation of the optical disc drive.
본 발명의 다른 목적, 특징 및 잇점은 비제한적인 바람직한 실시예의 상세한 설명을 통해 더욱 분명해 질 것이다. 이하에서, 도면을 참조하여 본 발명을 상세히 설명한다.Other objects, features and advantages of the present invention will become more apparent from the detailed description of the non-limiting preferred embodiment. Hereinafter, the present invention will be described in detail with reference to the drawings.
비록, 현대의 개인용 컴퓨터에 있어서, CD-ROM드라이브가 최근 사용되고 있는 광학디스크 드라이브의 대부분을 차지하지만, 본 명세서에서 언급된 "광학 디스크 드라이브"란 용어는 동일한 CD군으로부터 유래한 신생의 DVD드라이브와 같은 다른 유형의 광학디스크 드라이브도 포함함을 명심해야 한다.Although in modern personal computers, CD-ROM drives occupy most of the optical disc drives used in recent years, the term "optical disc drive" as used herein refers to new DVD drives from the same CD family. Keep in mind that it also includes other types of optical disc drives.
한편, 호스트 개인용 컴퓨터 시스템과 교통하기 위해, 종래의 CD-ROM드라이브에 의해 최근에 채택된 몇가지 인터페이스 스탠다드가 존재하지만, 대부분은 ATA/IDE(Intelligent Disk Electronics 또는 Industrial Disk Electronics)스탠다드, 또는 그의 개선된 버전인 EIDE이다. 다른 스탠다드로는 SCSI(Small Comuter System Interface) 및 병렬 포트 인터페이스까지도 포함한다. 그러나, 본 발명의 광학 디스크 드라이브용 펌웨어 코드의 업그레이드 장치는 ATA/IDE인터페이스를 갖는 드라이브의 적용에 집중되어 있다.On the other hand, to communicate with a host personal computer system, there are some interface standards recently adopted by conventional CD-ROM drives, but most are ATA / IDE (Intelligent Disk Electronics or Industrial Disk Electronics) standard, or improved ones. The version is EIDE. Other standards include the Small Comuter System Interface (SCSI) and even the parallel port interface. However, the upgrade apparatus of the firmware code for the optical disk drive of the present invention is focused on the application of a drive having an ATA / IDE interface.
본 발명을 설명하기 위해, 종래의 IDE CD-ROM드라이브에 대한 일반적인 제어회로 구조를 이하에 설명한다. 도 1에 도시된 바와 같이, ATA/IDE인터페이스를 갖는 종래의 CD-ROM드라이브는 IDE버스(10)을 통해 호스트 컴퓨터 시스템과 교통하는 도면 부호 20으로 표시된 빌트인(built-in)제어일렉트로닉스를 갖는다.To illustrate the present invention, a general control circuit structure for a conventional IDE CD-ROM drive is described below. As shown in FIG. 1, a conventional CD-ROM drive having an ATA / IDE interface has built-in control electronics, indicated at 20, in communication with the host computer system via the
통상의 CD-ROM드라이브용 제어회로(20)는 드라이브의 내부작동을 조정하는 역할을 하는 마이크로콘트롤러(μC)(23)를 포함한다. 또한, 회로(20)는 드라이브 펌웨어 프로그램의 명령코드와 데이터를 저장하기 위한 비휘발성 메모리 장치(NVM)(24)를 포함한다. 도면에 도시된 바와 같이, 통상의 CD-ROM드라이브는 도면에서 단일방향의 화살표로 표시된 바와 같이, 판독접근을 통해서만 마이크로콘트롤러(23)에 펌웨어 코드를 제공한다. 회로(20)는 인터페이스 IDE버스(10)를 통한 마이크로콘트롤러(23)와 호스트 컴퓨터 시스템간의 상호 작동을 가능하게 하는 CD-ROM디코더(CD-ROM DEC)(21)를 포함한다. 또한, 통상의 회로(20)는 예를 들어, CD-ROM드라이브가 작동할 때, 캐시판독의 중요한 역할을 하는 다이나믹 랜덤 억세스 메모리(DRAM)(25)에 의해 제공될 수 있는 작동메모리공간을 가진다.The
또한, 본 발명의 당업자에게 자명한 바와 같이, 제어회로(2)는 CD-ROM이 뮤직 CD플레이어로서 작동할 경우, 디지털 뮤직 데이터를 아날로그 시그널로 전환시키는 디지털-아날로그 변환기(DAC) 및 상기 아날로그 뮤직 시그널을 증폭하기 위한 프리앰프(PREAMP) 뿐만 아니라, 레이저 픽업 헤드용 메커니즘 서보 콘트롤(MECH SERVO) 및 접근된 CD데이터용 디지털 시그널 프로세서(DSP)를 포함한다. 이들 기능 블럭의 회로설계는, 본 발명의 특징이 아니므로 상세히 설명하지 않고, 단순히 회로(20)내의 박스(29)로 나타낸다.Also, as will be apparent to those skilled in the art, the
도 2는 통상의 IDE CD-ROM드라이브의 예인 비휘발성 메모리(24) 뿐만 아니라, 마이크로콘트롤러(23)와 CD-ROM 디코더(21) 사이의 상호접속회로의 상세도이다. 당업자에게 자명한 바와 같이, CD-ROM드라이브의 마이크로콘트롤러(23)는 호스트 컴퓨터 시스템의 제어하에 드라이브 유니트 내의 정상 데이터 접근 작동을 진행할 수 있다. 이것은 CD-ROM드라이버 소프트웨어를 실행하고, IDE인터페이스버스(10)내의 일련의 스탠다드 IDE시그널을 통해 드라이브 마이크로콘트롤러(23)와 교통하는 호스트 프로세서에 의해 행해진다. 이러한 일련의 버스 인터페이스 시그널은, 드라이브 어드레싱 시그널(HA0-2), 입/출력 포트 선택 시그널(HCS0-1), 16비트 데이터 경로(HD0-15), 및 다른 제어시그널들 즉, 판독/기록 스트로브 시그널(HRD/HWR), 인터럽트 요청/수신통지 시그널(HIRQ/HDRAQ/HDACK), 리셋 시그널(RESET), 및 16-비트 I/O트랜스퍼 상태지시 시그널(IOCS16)을 포함한다.FIG. 2 is a detailed view of the interconnect circuit between the
본 발명에 따른, 바람직하기로는 CD-ROM드라이브에 적용될 수 있는 실시예에서, ATA/IDE인터페이스를 통한 광학디스크드라이브의 펌웨어 코드 업그레이드 장치는 도 3에 도시된 것과 같은 제어회로의 구축을 가능하게 한다. 이것은 도 1에 도시된 것과 같은 종래의 회로에 기초한 제어회로이다.In an embodiment according to the present invention, preferably in an embodiment that can be applied to a CD-ROM drive, the firmware code upgrade device of the optical disc drive via the ATA / IDE interface enables the construction of a control circuit as shown in FIG. . This is a control circuit based on the conventional circuit as shown in FIG.
본 발명에 따른 ATA/IDE인터페이스를 통한 광학 디스크 드라이브의 펌웨어 코드의 업그레이드 장치의 기본 개념은, ATA/IDE인터페이스를 통해 호스트 컴퓨터에 의해 발해진 명령을 해독하는 것이다. 해독된 결과는, 호스트 컴퓨터가 정상적인 CD-ROM 드라이브 데이터 접근 작동을 유지하는 것을 원하느냐, 아니면 코드저장메모리내로의 기록을 통해 드라이브 펌웨어 코드의 온사이트 업그레이드를 요구하는 지를 결정한다. 호스트 컴퓨터 시스템이 온사이트 펌웨어 업그레이드를 요구하는 경우, CD-ROM드라이브의 ATA/IDE인터페이스를 메모리장치에 접속시킴으로써, 호스트 컴퓨터는 메모리장치에 새로운 코드의 기록을 수행할 수 있다. 한편, 호스트 시스템이 CD-ROM드라이브 유니트가 정상 작동 모드로 복귀하는 것을 요구하는 경우, 드라이브 유니트의 마이크로콘트롤러는 메모리 장치와 재접속하여, 메모리내의 프로그램 코드의 정상접근을 회복하게 된다.The basic concept of the device for upgrading the firmware code of the optical disk drive via the ATA / IDE interface according to the present invention is to decode the command issued by the host computer via the ATA / IDE interface. The decrypted result determines whether the host computer wants to maintain normal CD-ROM drive data access operations or requires on-site upgrade of drive firmware code through writing to code storage memory. If the host computer system requires an on-site firmware upgrade, by connecting the ATA / IDE interface of the CD-ROM drive to the memory device, the host computer can write new code to the memory device. On the other hand, when the host system requires the CD-ROM drive unit to return to the normal operation mode, the microcontroller of the drive unit reconnects with the memory device to restore normal access of the program code in the memory.
바람직한 실시예에서, ATA/IDE인터페이스를 통한 CD-ROM드라이브에 대한 펌웨어 업그레이드는 제어된 시그널 멀티플렉서 및 그와 관련된 제어 로직을 마이크로콘트롤러 및 그의 펌웨어 저장 메모리 장치 사이에 삽입하는데 사용된다. 이 멀티플렉서는 두 개의 가능한 데이터 접근 루트중 하나를 드라이브의 펌웨어 메모리장치로 제공하는데 사용된다. 루트중의 하나는 광학디스크드라이브의 정상작동조건하에서 확립되며, 이 루트에서 멀티플렉서는 메모리장치를 마이크로콘트롤러와 접속시켜, 실행을 위해 마이크로콘트롤러가 메모리로부터 펌웨어 프로그램 코드 및 데이터를 판독할 수 있게 한다. 물론, 이 메모리 장치상에서의 마이크로콘트롤러에 의해 수행되는 메모리 접근 작동모드는 일방향적이다. 즉, 마이크로콘트롤러는 메모리장치내의 판독접근만을 수행한다.In a preferred embodiment, a firmware upgrade for a CD-ROM drive via an ATA / IDE interface is used to insert a controlled signal multiplexer and its associated control logic between the microcontroller and its firmware storage memory device. This multiplexer is used to provide one of two possible data access routes to the drive's firmware memory device. One of the routes is established under normal operating conditions of the optical disc drive, in which the multiplexer connects the memory device with the microcontroller so that the microcontroller can read firmware program code and data from the memory for execution. Of course, the memory access mode of operation performed by the microcontroller on this memory device is unidirectional. That is, the microcontroller only performs read access in the memory device.
펌웨어 코드 저장 메모리 장치에 대해 확립될 수 있는 다른 루트는 코드 업그레이드가 지시된 경우, 호스트 컴퓨터 시스템에 의해 직접적으로 접근가능한 메모리 장치 그 자체에 대한 것이다. 이러한 작동 모드에서, 멀티플렉서는 메모리 장치를 광학디스크 드라이브 유니트의 IDE인터페이스로 접속하여, 호스트 시스템의 프로세서가 펌웨어 메모리의 메모리 공간으로 직접 접속하게 해준다. 이 직접적인 접근은 메모리 장치로의 기록 및 판독 양자를 포함한다. 메모리장치로부터의 판독 능력은 프로그래밍의 정확한 내용이 수득되었는지를 판명하는 수단으로서 필요하다.Another route that can be established for the firmware code storage memory device is to the memory device itself that is directly accessible by the host computer system when a code upgrade is indicated. In this mode of operation, the multiplexer connects the memory device to the IDE interface of the optical disc drive unit, allowing the processor of the host system to directly connect to the memory space of the firmware memory. This direct approach involves both writing to and reading from the memory device. The ability to read from the memory device is needed as a means to ascertain whether the correct contents of the programming have been obtained.
여기에서 언급된 온사이트 업그레이드 작동은 드라이브 내부로부터 메모리장치 자체를 제거할 필요없이, 광학디스크 드라이브의 펌웨어 코드 저장장치내에서 업그레이드 작동을 수행하는 것을 의미한다. 이 업그레이드 작동을 위해, 어떠한 전용 프로그래밍 수단도 필요하지 않다.The on-site upgrade operation referred to here means performing the upgrade operation in the firmware code storage of the optical disc drive, without having to remove the memory device itself from the inside of the drive. For this upgrade operation, no dedicated programming means are required.
따라서, 도 3에 도시된 바와 같이, 본 발명의 ATA/IDE인터페이스를 통한 광학 디스크 드라이브의 펌웨어 코드의 업그레이드 장치는 드라이브 제어 전자회로(30)의 마이크로콘트롤러(33)와 펌웨어 코드 메모리(34) 사이에 배열된 멀티플렉서(MUX)(36)를 가진다. CD-ROM디코더(31)에 의해 수행되는 해독 공정에 덧붙여, 프로그래밍 콘트롤러(PRG CNRL)(32)는 정상작동모드를 위한 마이크로콘트롤러(33) 또는 펌웨어 업그레이드 작동 모드에서 호스트 프로세서와의 접속을 위한 IDE버스(10)에 메모리 장치(34)를 선택적으로 접속하기 위한 멀티플렉서(36)를 조정하는데 사용된다. 이를 수행하기 위해, 도 3에 도시된 바와 같이, 기본적으로 멀티플렉서(36)는 이하에서 상세히 설명할, 2-1(Two to one) 멀티플렉싱 장치이다.Thus, as shown in FIG. 3, the apparatus for upgrading the firmware code of the optical disk drive through the ATA / IDE interface of the present invention is provided between the
따라서, 프로그래밍 콘트롤러(32)가 드라이브의 펌웨어 메모리 장치(34) 및 마이크로콘트롤러(33)를 접속하는 경우, 도 1의 회로 구조의 경우와 마찬가지로, 양자는 공지의 방법으로 작동하여, 마이크로콘트롤러(33)가 메모리(34)로부터 펌웨어 프로그램 코드의 정상 접근 작동을 수행하게 된다. 즉, 프로그래밍 콘트롤러(32)가 메모리장치(34)를 드라이브 마이크로콘트롤러(33)에 접속시키는 경우, 마이크로콘트롤러(33)는 메모리장치(34)로부터 실행코드의 검색을 위한 판독전용억세스를 수행할 수 있다.Thus, when the
한편, 프로그래밍 콘트롤러(32)가 메모리장치(34)를 광학디스크드라이브 유니트의 IDE버스(10)에 접속시키는 경우, 호스트 컴퓨터 시스템의 프로세서는 메모리장치(34)로의 접근수행을 가능하게 해준다. 메모리장치내의 일련의 판독/기록 작동에서 온사이트 펌웨어 코드 업그레이드 수행을 용이하게 하기 위해, 메모리장치(34)로의 기록 및 판독억세스 모두 허용된다. 이것은 IBM호환 컴퓨터 시스템에 대한 시스템 BIOS(Basic Input/Output System)의 온보드(on-board) 업그레이드과 유사한 작동이다. 이러한 온보드 업그레이드 작동에서, BIOS코드가 존재하는 메모리장치는 컴퓨터 시스템의 모배선판으로부터 제거될 필요가 없고, 전용의 반도체 메모리 프로그래머 장치도 필요하지 않다. 몇가지 스위치의 적절한 설정으로, 소프트웨어 프로그램을 실행하는 컴퓨터 시스템에 의해 코드 업그레이드 작동이 수행될 수 있다.On the other hand, when the
도 4는 펌웨어 코드의 온사이트 업그레이드 작동을 수행하기 위한 본 발명에 따른 장치를 사용하는 CD-ROM드라이브 장치용 제어회로의 예를 도시한 것이다. 도 4의 회로는, 각각 정상작동 또는 업그레이드 작동을 수행하기 위해, 메모리 장치(34)를 드라이브의 마이크로콘트롤러(33) 또는 IDE버스(10)에 선택적으로 접속하는 제어가 이루어 질 수 있다.Fig. 4 shows an example of a control circuit for a CD-ROM drive apparatus using the apparatus according to the present invention for performing on-site upgrade operation of firmware code. The circuit of FIG. 4 may be controlled to selectively connect the
콘트롤러의 상관관계로부터, 도 4에 도시된 것과 같은 프로그래밍 콘트롤러(32)의 회로는, 펌웨어 코드 업그레이드 명령이 내려진 경우에, 메모리 내용에 들어 있는 프로그래밍을 수행하기 위해, 호스트 컴퓨터 시스템에 의해 발해진 명령 및 데이터를 IDE인터페이스(10)을 통해 메모리 장치(34)에 의해 요구되는 전자시그널로 전환시킬 수 있다. 한편, 이 프로그래밍 콘트롤러(32)의 회로는 드라이브 정상 작동이 요구되는 경우, 마이크로콘트롤러(33) 및 메모리 장치(34)의 정상적인 접속을 가능하게 해준다.From the correlation of the controller, a circuit of the
코드 업그레이드 명령 및 데이터의 변환을 수행하기 위해, 도 4의 회로도에 도시된 것과 같이 프로그래밍 콘트롤러(32)는 I/O어드레스 디코더(I/O ADDR DEC)(321), 업그레이드 초기화 키 이네이블 로직(INIT KEY EN)(322), 어드레스 프로그램 이네이블 래치(APEN)(323), 데이터 프로그램 이네이블 래치(DPEN)(324), 및 콘트롤 프로그램 이네이블 래치(CPEN)(325)를 포함한다.In order to perform the code upgrade command and data conversion, the
온사이트 업그레이드 작동이 요구되는 경우, 호스트 컴퓨터 시스템은 프로그래밍 콘트롤러(32)가 버스(10)자체와는 별도로 작동하도록 하기 위해, 일련의 대응하는 명령 및 데이터를 IDE버스(10)내로 지급하여야만 한다. 이 명령 및 데이터는 드라이브의 정상작동모드에서는 IDE버스(10)상에 전혀 나타나지 않는다. 대신에, 이들은 단지 온사이트 업그레이드 명령이 주어진 경우에만 나타나고, 이 명령 및 데이터는 프로그래밍 콘트롤러(32)를 작동개시시키는데 사용된다.If an onsite upgrade operation is required, the host computer system must issue a series of corresponding commands and data into the
예를 들어, IBM호환시스템의 경우에 사용되는 바람직한 예에서, 호스트 시스템의 포로세서는 I/O어드레스(1F5)에 32연속 사전 정의된 바이트의 정보를 기록할 수 있다. 도 4에 도시된 바와 같이, 이들 데이터 바이트들은 I/O어드레스 디코더(321)에 의해 해독되면 I/O어드레스(1F5)를 통해 버스(10A)상에 수신된다. I/O어드레스(1F5)상에 수신된 데이터는 업그레이드 초기화 키 이네이블 로직(322)으로 보내진다. 버스(10A)는 콘트롤러 회로(30)에 대한 인터널(internal)인 IDE버스(10)의 연장부이다.For example, in the preferred example used in the case of an IBM compatible system, the host system's processor can record 32 consecutive predefined bytes of information in the I / O address 1F5. As shown in FIG. 4, these data bytes are received on the
업그레이드 초기화 키 이네이블 로직(322)은 32연속정보바이트를 수신하기 위해 I/O어드레스(1F5)에서 정논리의 시그널에 의해 트리거된다. 이들 정보 바이트들을 비교하여 소정의 데이터세트와 호환가능한 것으로 판명된 경우, 업그레이드 초기화 키 이네이블 로직(322)은 업그레이드 초기화 키 시그널(IKEYOK)을 발생시킨다. 이 시그널(IKEYOK)은 각각 어드레스 프로그램 이네이블 래치(323), 데이터 프로그램 이네이블 래치(324) 및 콘트롤 프로그램 이네이블 래치(325)로 중계된다. 이들 세 개의 래치들은 콘트롤러 회로(30)내에서 동시에 이네이블된다.Upgrade initialization key enable
한편, 어드레스 프로그램 이네이블 래치(323)는 버스(3236)상의 버스(10A)상에 16비트 IDE데이터 시그널(HD0-15)을 일시적으로 기억한다. 버스(3236)상의 대응하는 16비트 데이터 시그널은 시그널 (IA0-15)로 표시되어 있다. 한편, 데이터 프로그램 이네이블 래치(324)는 버스(10A)상의 16비트 IDE데이터 시그널(HD0-15)의 적어도 중요한 바이트(8비트)를 8비트 데이터 시그널(IHD0-7)로서 일시기억한다. 동일한 방법으로, 제어 프로그램 이네이블 래치(325)는 버스(3236)상의 버스(10A)상에 더블바이트 IDE데이터 시그널(HD0-15)의 8개의 적어도 중요한 비트를 기억한다. 기억된 비트 중 선택된 비트들은 기록 이네이블 시그널 (IWE), 칩 이네이블 시그널 (ICE) 및 출력 이네이블 시그널(IOE), 및 IDE프로그래밍 이네이블 시그널(IDEPEN)을 포함하고, 이들은 프로그래밍 작동을 수행하기 위해 메모리 장치(34)를 스트로브하는데 필요하다.On the other hand, the address program enable
예를 들어, IDE프로그래밍 이네이블 시그널(IDEPEN)이 정논리 상태를 수득한 경우, 호스트 컴퓨터 시스템의 프로세서는 메모리장치(34)를 프로그램하는데 필요한 명령 코드 및 데이터를 지급하게 된다. 이들 명령 및 데이터는 지정된 I/O어드레스에서 IDE버스(10)상의 메모리장치(34)내로 기록된다. 예를 들어, 도 4의 실시예에 있어서, 메모리장치(34)로의 판독/기록 억세스의 어드레스는 데이터 시그널(HD0-15) 형태로 IDE인터페이스상의 I/O어드레스(1F0)에 지급될 수 있다. 한편, I/O어드레스(1F3) 및 데이터 비트(HD0-7)는 지정된 어드레스 공간에서 메모리장치(34)내로 기록되는 프로그램 코드를 중계하는데 사용될 수 있다. 또한, I/O어드레스(1F4) 및 데이터 비트(HD07)는 프로그래밍되었을 경우, 메모리장치(34)에 의해 요구되는 필요한 장치 스트로브 시그널 (OE, CE 및 WE)을 중계하는데 사용될 수 있다. 드라이브가 정상 작동모드 또는 업그레이드 프로그래밍 작동 모드에 있는지와 관련된 전체 CD-ROM드라이브의 상태를 표시하는데 사용되는 프로그래밍 이네이블 시그널(IDEPEN)은 그 자체가 HD0-7에 의해 데이터내의 지정된 비트로서 I/O어드레스(1F4)를 통해 중계될 수 있다.For example, when the IDE programming enable signal IDEPEN obtains a positive logic state, the processor of the host computer system supplies command code and data necessary for programming the
당업자에게 자명한 바와 같이, 16비트 어드레스는 CD-ROM드라이브에서 일반적으로 발견되는 펌웨어 메모리 장치를 어드래싱 하기에 충분하다. 예를 들어, 8비트 메모리 장치의 경우, IA0-15시그널 라인을 통해 중계되는 16비트 어드레스는 64K바이트의 메모리 공간을 어드래싱할 수 있다. 비용 절감면에서, 펌웨어 저장 장치로서 8비트 메모리 장치가 통상 사용된다. 이것은 CD-ROM드라이브와 같은 광학디스크 드라이브는 현대의 고성능 개인용 컴퓨터 시스템의 호스트 프로세서에 비해, 상대적으로 느린 주변장치이기 때문에 적절하다. 마이크로콘트롤러(33)에 접속된 IHD0-7시그널 라인을 통해 중계된 8비트 데이터 경로의 사용은 일반적으로 통상의 CD-ROM드라이브의 디자인 배열에 적절하다(도 3). 또한, 프로그래밍 이네이블 시그널(IDEPEN) 뿐만 아니라, 세가지 이네이블 시그널 IOE, IWE 및 ICE을 제어하는 세가지 메모리장치는 모두, IDE인터페이스 버스상에 중계된 HD0-7데이터 비트를 통해 수득될 수 있다.As will be apparent to those skilled in the art, the 16-bit address is sufficient to address firmware memory devices commonly found in CD-ROM drives. For example, in the case of an 8-bit memory device, a 16-bit address relayed through the IA0-15 signal line may address 64K bytes of memory space. In terms of cost reduction, 8-bit memory devices are commonly used as firmware storage devices. This is appropriate because optical disc drives, such as CD-ROM drives, are relatively slow peripherals compared to the host processors of modern high-performance personal computer systems. The use of an 8-bit data path relayed through the IHD0-7 signal line connected to the
다음으로, 다시 도 3으로 돌아가서, 프로그래밍 콘트롤러(32)의 회로는 16어드레스 시그널 (IA0-15), 8데이터 시그널(IHD0-7), 및 4개의 제어시그널(ICE, IOE, IWE 및 IDEPEN)을 각각의 출력단에서 버스(3356)상으로 전달할 수 있다. 이들 시그널이 버스(3236) 상에 전달된 경우, 이들은 메모리장치(34)상에 일련의 억세스 시그널을 선택적으로 접속하기 위해, 정논리 프로그래밍 이네이블 시그널 (IDPEN)의 상태에 따라, 다중화 조작을 용이하게 할 수 있는 멀티플렉서(36)로 효과적으로 입력된다. 적절한 시간 제어하에, 일련의 중계된 시그널은 CD-ROM데이터 판독세션내에서 정상적으로 드라이브를 작동하기 위해 CD-ROM드라이브 자체의 마이크로콘트롤러(33)에 의해 사용되거나, 펌웨어 업그레이드 세션내의 호스트 컴퓨터 시스템의 프로세서에 의해 사용된다. 물론, CD-ROM드라이브의 펌웨어 저장과 같은 경우에 사용된 반도체 메모리장치(34)는 전기적으로 재프로그래밍 가능해야만 한다. 예를 들어, 상기 장치(34)는 EEPROM일 수 있다.Next, returning to FIG. 3 again, the circuit of the
전술한 내용은 메모리 장치내의 펌웨어 코드 업그레이드 작동을 거치는 경우, 본 발명의 교시에 따라 제작된 CD-ROM드라이브의 일렉트로닉스의 작동에 집중적으로 설명된 것이다. 한편, 일반적인 상황하에서, 펌웨어 코드 업그레이드는 CD-ROM드라이브의 수명내에 여러번 미만으로 일어날 수 있는 드문 작동임을 명심해야 한다. 대부분의 경우, CD-ROM드라이브는 드라이브 내에 삽입된 CD-ROM의 메모리 내용이 판독될 것이다. 이 경우에, 도 4의 프로그래밍 콘트롤러(32)내의 프로그래밍 이네이블 시그널 (IDEPEN)은 메모리장치(34)를 마이크로콘트롤러(33)에 실질적으로 직접 접속하는 상태를 유지하여, 마이크로콘트롤러(33)가 CD-ROM드라이브의 기능을 수행하기 위한 메모리장치(33)내의 코드를 실행하게 된다. 이러한 견지에서, 본 발명에 따른 장치를 사용하는 CD-ROM드라이브는 종래의 드라이브와 실질적으로 동일하다.The foregoing is focused on the operation of the electronics of a CD-ROM drive manufactured according to the teachings of the present invention when undergoing a firmware code upgrade operation in a memory device. On the other hand, it should be noted that under normal circumstances, firmware code upgrades are a rare operation that can occur less than several times within the life of a CD-ROM drive. In most cases, the CD-ROM drive will read the memory contents of the CD-ROM inserted into the drive. In this case, the programming enable signal IDEPEN in the
따라서, 도 3의 블럭도에 도시된 바와 같이, 호스트 컴퓨터 시스템은 스탠다드 IDE버스(10)를 통해 직접적으로 메모리장치에 대한 펌웨어-업그레이드 코드-기록 조작을 수행할 수 있다. 프로그래밍 콘트롤러(32)의 제어하에, 버스(10A)에 이어 버스(3236)를 통해, 호스트 컴퓨터가 발한 명령 및 관련된 데이터에 의해 프로그래밍 작동이 실행된다. 이어서, 갱신된 코드는 멀티플렉서(36)에 의해 스위칭 되어, 버스(3436)를 통해 메모리장치(34)상으로 전달된다. 도 5는 멀티플렉서(36)의 바람직한 예의 작동 및 회로구조를 상세히 나타낸다.Thus, as shown in the block diagram of FIG. 3, the host computer system can perform a firmware-upgrade code-write operation on the memory device directly through the
도 5에 도시된 바와 같이, 도 3의 블럭도에서 사용된 멀티플렉서(36)는 5개의 2-1멀티플렉서 유니트(361, 362, 363, 364 및 365)군을 갖는다. 5개의 멀티플렉서 유니트 모두는 동일한 제어시그널에 의해 스위칭될 수 있다. 도 3 및 도 4에 도시된 실시예의 경우, 프로그래밍 이네이블 시그널(IDEPEN)은 제어시그널로서 사용된다. 5개의 멀티플렉서유니트 모두는 CD-ROM드라이브의 버스(3336)에 이어 마이크로콘트롤러(33)에 결합된 각각의 제1세트 입력을 가진다. 5개의 멀티플렉서 유니트의 제2세트 입력은 프로그래밍 콘트롤러(32)를 통한 접속을 통해, 버스(3236)에 이어, IDE버스(10)에 결합된다. 5개의 멀티플렉서 유니트의 다중화된 출력은 버스(3436)에 이어 메모리장치(34)에 결합된다. 도 3의 블럭도에 명백히 도시된 바와 같이, 이러한 버스 접속배열은, 프로그래밍 이네이블 시그널 (IDEPE)이 정상작동을 위해서는 마이크로콘트롤러(33)에, 펌웨어 업그레이드 작동을 위해서는 드라이브 IDE버스(10)에 선택적으로 접속됨으로써 메모리장치(34)의 제어를 용이하게 해준다.As shown in FIG. 5, the
멀티플렉서 유니트(361)는 메모리장치(34)의 프로그래밍 작동 동안 어드레스 비트를 제공하는 16비트(IA0-15)를 중계할 필요성에 따라 16비트의 스위칭된 시그널 경로폭을 가진다. CD-ROM 드라이브가 정상적으로 작동할 경우, 이 16비트 시그널 경로폭은 중계될 16비트 마이크로콘트롤러 어드레스 비트(μCA0-15)를 메모리장치(34)의 16어드레스 비트(FA0-15)로 접속하도록 해준다. 유사한 방법으로, 멀티플렉서 유니트(362)는 메모리장치(34)의 대응하는 8비트 데이터 버스(FD0-7)상으로 두 개의 데이터 라인(IHD0-7 및 μCD0-7)세트를 중계할 필요성에 따라, 스위칭된 시그널 경로의 8비트폭을 가진다. 반면에, 멀티플렉서유니트(363, 364 및 365)들은 메모리장치(34)의 WE, CE 및 OE제어시그널을 중계하는데 사용될 수 있는 단일 라인 멀피플렉싱 회로이다.The
따라서, ATA/IDE인터페이스를 사용하여, 온사이트 펌웨어 코드 업그레이드 장치를 사용하는 CD-ROM드라이브는 필요에 따라 두가지 작동모드중 하나로 작동될 수 있다. 정상작동모드에서, CD-ROM드라이브의 펌웨어 코드 메모리 장치 및 마이크로콘트롤러는 메모리내의 코드가 정상적인 CD-ROM 작동을 수행하는 마이크로콘트롤러에 의해 접근될 수 있도록 함께 접속될 수 있다. 한편, CD-ROM드라이브가 펌웨어 업그레이드 모드로 되는 경우, 메모리 장치는 드라이브의 IDE인터페이스와 결합되어, 호스트컴퓨터 프로세서가 IDE버스에 결합된 컴퓨터 시스템 버스를 통해 메모리장치의 어드레스된 메모리공간내로 직접 기록할 수 있게 해준다. 프로그래밍 명령 코드 및 새로운 코드내용은 CD-ROM 드라이브 장치내에 마련된 IDE인터페이스를 통해 메모리장치내로 중계될 수 있다.Thus, using an ATA / IDE interface, a CD-ROM drive using an on-site firmware code upgrade device can be operated in one of two operating modes as required. In the normal operating mode, the firmware code memory device and the microcontroller of the CD-ROM drive can be connected together so that the code in the memory can be accessed by the microcontroller performing normal CD-ROM operation. On the other hand, when the CD-ROM drive enters the firmware upgrade mode, the memory device is coupled with the drive's IDE interface so that the host computer processor can write directly into the addressed memory space of the memory device through a computer system bus coupled to the IDE bus. To make it possible. Programming command codes and new code content can be relayed into the memory device through an IDE interface provided in the CD-ROM drive device.
이러한 직접적인 온사이트 프로그래밍 성능 때문에, 본 발명의 회로장치를 사용하는 CD-ROM드라이브는 펌웨어 코드 온사이트 업그레이드 작동에 편리성을 극대로 누릴 수 있다. 드라이브 자체는 컴퓨터 시스템 캐비냇 내부로부터 제거될 필요가 없다. 전체적인 코드 업그레이드 작동은 소프트웨어 제어를 통해 완전히 수행될 수 있다. 적절한 정보가 제공되면, 일반적인 최종사용자라 할 지라도 예를 들어 컴퓨터 시스템의 디스플레이 스크린상에 나타난 상세한 지시에 따라 업그레이드 조작을 수행할 수 있다. 새로운 버전의 펌웨어 프로그램 코드 및 업그레이드 소프트웨어 양자는 일반메일 또는 전자메일서비스를 통해, 또는 인터넷과 같은 퍼블릭 네트워크내의 전송 서비스를 통해 원하는 사용자 누구에게나 입수될 수 있도록 만들어 질 수 있기 때문에, CD-ROM드라이브 제조업자나 최종 사용자 모두에게 자원 및 시간비용의 효과적인 절감이 기대된다.Because of this direct on-site programming capability, a CD-ROM drive using the circuit arrangement of the present invention can maximize the convenience of firmware code on-site upgrade operation. The drive itself does not need to be removed from inside the computer system cabinet. The overall code upgrade operation can be performed entirely through software control. Given the appropriate information, even general end users can perform upgrade operations, for example, according to the detailed instructions shown on the display screen of the computer system. Both new versions of the firmware program code and upgrade software can be made available to anyone who wants it, either through regular mail or e-mail services, or through a transport service in a public network such as the Internet. Effective savings of resources and time costs are expected for both users and end users.
또한, CD-ROM드라이브에 대한 ATA/IDE인터페이스를 통한 온사이트 펌웨어 코드 업그레이드를 수행하기 위한 장치는, 사용되는 디지털 전자회로의 특성상 상대적으로 간단하므로, 드라이브회로의 ASIC칩세트내에 용이하게 접적될 수 있다. 사실, 당업자에게 자명한 바와 같이, 본 발명의 장치는 예를 들어 도 3의 CD-ROM디코더(31)내 또는 마이크로콘트롤러 자체내에도 집적될 수 있다.In addition, the device for performing on-site firmware code upgrades via an ATA / IDE interface to a CD-ROM drive can be easily integrated into the ASIC chipset of the drive circuit because of the relatively simple nature of the digital electronics used. have. In fact, as will be apparent to those skilled in the art, the apparatus of the present invention may be integrated, for example, in the CD-
본 발명은 실시예를 들어 상세히 설명하였으나, 본 발명의 범위는 상기 실시예에 한정되지 않음을 이해해야 한다. 오히려, 다양한 변형 및 유사한 장치를 포함하는 것을 목적으로, 상기 실시예를 예시한 것이다. 따라서, 본 발명의 범위는 이러한 모든 변형 및 유사한 장치를 포함하도록 가장 넓은 해석에 따라야만 한다.Although the invention has been described in detail by way of examples, it should be understood that the scope of the invention is not limited to the above embodiments. Rather, the embodiments are illustrated for the purpose of including various modifications and similar devices. Thus, the scope of the present invention should be accorded the widest interpretation so as to encompass all such modifications and similar arrangements.
본 발명의 장치 및 방법에 따르면, 컴퓨터로부터 드라이브 유니트를 제거하고 캐비냇을 개방할 필요없이, 호스트 컴퓨터 시스템의 ATA/IDE인터페이스를 통해 광학디스크드라이브의 온사이트 펌웨어 코드 업그레이딩이 가능하다.According to the apparatus and method of the present invention, on-site firmware code upgrade of an optical disc drive is possible through the ATA / IDE interface of the host computer system without having to remove the drive unit from the computer and open the cabinet.
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970046443A KR100280972B1 (en) | 1997-09-09 | 1997-09-09 | Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970046443A KR100280972B1 (en) | 1997-09-09 | 1997-09-09 | Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990025017A KR19990025017A (en) | 1999-04-06 |
KR100280972B1 true KR100280972B1 (en) | 2001-03-02 |
Family
ID=66043890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970046443A KR100280972B1 (en) | 1997-09-09 | 1997-09-09 | Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100280972B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100459729B1 (en) * | 2002-11-20 | 2004-12-03 | 삼성전자주식회사 | Method for download firmware |
JP2005071560A (en) * | 2003-08-01 | 2005-03-17 | Sanyo Electric Co Ltd | Controller and method for writing data |
CN114153477B (en) * | 2021-10-29 | 2024-10-01 | 浪潮(北京)电子信息产业有限公司 | PCIE driving card firmware upgrading method, device, system, equipment and medium |
-
1997
- 1997-09-09 KR KR1019970046443A patent/KR100280972B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990025017A (en) | 1999-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5968141A (en) | System for selectively upgrading firmware code for optical disk drive via ATA/IDE interface based on host system programming enable signal | |
KR100568642B1 (en) | Atapi disk drive | |
US7376943B2 (en) | Safe method for upgrading firmware of optical disk product | |
US7702861B2 (en) | Format mapping scheme for universal drive device | |
US20080040818A1 (en) | Storage apparatus, firmware renewal method, and control device | |
KR19980063743A (en) | Method and apparatus for enabling a computer to communicate with a data storage device | |
US20060136900A1 (en) | Devices and methods for updating program code via a serial ata interface | |
KR100367295B1 (en) | An apparatus and method for writing a region code in a DVD driver | |
US6598157B1 (en) | Dynamic boot block control by boot configuration determination and subsequent address modification | |
US5761519A (en) | Portable computer having a removable medium drive and a resume setting function | |
KR100280972B1 (en) | Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface | |
US20080301358A1 (en) | Electronic device that Downloads Operational Firmware from an External Host | |
KR100359200B1 (en) | Method for executing a firmware | |
KR20010069857A (en) | Portable player be possible to formware upgrade and method for formware upgrading of the portable player | |
US6785762B2 (en) | Recording/reproducing device having plural disk units which access an information recording medium including a computer readable recording medium | |
US20050268029A1 (en) | Optical Disc Drive that Downloads Operational Firmware from an External Host | |
KR100432857B1 (en) | A method and apparatus for upgrading a peripheral device firmware by using a recording medium replay apparatus | |
JP3643367B2 (en) | Disk drive device | |
KR100573639B1 (en) | Disk driver | |
KR20070064801A (en) | Firmware upgrade system in a digital electronic devices | |
JP3930344B2 (en) | Disk drive device | |
KR100778658B1 (en) | Disk drive and software update method of the same | |
KR20060114191A (en) | Method for upgrading firmware of optical disc regeneration system | |
JPH09114674A (en) | Hard disk device | |
JP2010205379A (en) | Optical disk device, and computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120917 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20130913 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20140922 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20150922 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20160909 Year of fee payment: 17 |
|
EXPY | Expiration of term |