JP2006244517A - Disk drive device - Google Patents

Disk drive device Download PDF

Info

Publication number
JP2006244517A
JP2006244517A JP2006112861A JP2006112861A JP2006244517A JP 2006244517 A JP2006244517 A JP 2006244517A JP 2006112861 A JP2006112861 A JP 2006112861A JP 2006112861 A JP2006112861 A JP 2006112861A JP 2006244517 A JP2006244517 A JP 2006244517A
Authority
JP
Japan
Prior art keywords
program
drive device
application program
rom drive
reboot
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2006112861A
Other languages
Japanese (ja)
Other versions
JP2006244517A5 (en
Inventor
Mitsuo Hagiwara
光夫 萩原
Hiromasa Takahashi
博政 高橋
Satoshi Yamato
敏 大和
Nobuo Shibazaki
信雄 芝崎
Mitsuo Yotsuya
三男 四ッ谷
Tsutomu Ishii
努 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006112861A priority Critical patent/JP2006244517A/en
Publication of JP2006244517A publication Critical patent/JP2006244517A/en
Publication of JP2006244517A5 publication Critical patent/JP2006244517A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a disk drive device allowing another type to be deployed with the same hardware. <P>SOLUTION: This disk drive device can be connected to a host device via an ATAPI interface, and includes: an access control part for controlling the access of a rotatably driven disk; and a microcomputer 5 used for controlling operation of the access control part and connected to the ATAPI interface. The microcomputer can read, from a program memory, a program for processing data related to a signal read from the access control part and can execute it according to a command inputted via the ATAPI interface. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk, Digital Video Disk)、DVD−ROM、DVD−RAM、CDI(Compact Disk-Interactive)、DVI(Digital Video Interactive)、又はMOD(Magneto Optical Disk)等を媒体として用いる記録情報再生装置、この記録情報再生装置を含む情報記録再生装置、そしてそれらを総称するディスクドライブ装置、さらにはディスクドライブ装置を搭載したコンピュータ装置に関し、例えば、パーソナルコンピュータに標準搭載されたCD−ROMドライブ装置の記録情報再生動作などを制御するプログラムの書き換えを容易化すると共に書き換えの信頼性を向上するのに適用して有効な技術に関する。   The present invention includes CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk, Digital Video Disk), DVD-ROM, DVD-RAM, CDI (Compact Disk-Interactive), DVI (Digital Video Interactive), Or a recording information reproducing device using MOD (Magneto Optical Disk) or the like as a medium, an information recording / reproducing device including the recording information reproducing device, a disk drive device generically referring to these, and a computer device equipped with the disk drive device. For example, the present invention relates to a technique which is effective when applied to facilitate rewriting of a program for controlling a recorded information reproducing operation of a CD-ROM drive device mounted on a personal computer as a standard and to improve rewriting reliability.

CD−ROMドライブ装置などのディスクドライブ装置は、パーソナルコンピュータやゲーム機などとインタフェースされる記録情報再生装置として急速に普及してきた。このCD−ROMドライブ装置などは、オーディオ用CDプレーヤの規格をベースにしているため、オーディオ用に比べてデータ転送速度やデータアクセス速度を向上させることが要求される。また、データの誤り訂正不能な場合にデータ補間や前値保持などの処理が可能なオーディオ用途に対してパーソナルコンピュータのデータにはそのような処理が無意味であるからデータの誤り訂正能力の強化も必要になる。   Disk drive devices such as CD-ROM drive devices have rapidly spread as recorded information playback devices that interface with personal computers, game machines, and the like. Since this CD-ROM drive device is based on the standard of an audio CD player, it is required to improve the data transfer speed and the data access speed as compared with those for audio. In addition, for audio applications that can perform data interpolation and pre-value hold processing when data error correction is not possible, such processing is meaningless for personal computer data, thus enhancing data error correction capability Is also required.

そこで、データアクセス速度を高速化するために、CD−ROMドライブ装置などでは、ディスクから読み取った情報を増幅するプリアンプの周波数帯域を上げ、ピックアップサーボ回路の強化を行い、ディジタル信号処理回路の動作速度を向上させること等により、CD−ROMディスクを通常速度の2倍又は4倍などの速度で回転させながら記録情報を読み取って再生する技術を採用している。更に、2重誤り訂正符合に対し4重の誤り訂正符合を付加して誤り訂正能力を向上させることも行われている。   Therefore, in order to increase the data access speed, in CD-ROM drive devices, the frequency band of the preamplifier that amplifies the information read from the disk is increased, the pickup servo circuit is strengthened, and the operation speed of the digital signal processing circuit is increased. For example, a technique for reading and reproducing recorded information while rotating a CD-ROM disc at a speed such as twice or four times the normal speed is adopted. Further, a quadruple error correction code is added to a double error correction code to improve the error correction capability.

しかしながら、今日、CD−ROMドライブ装置に代表されるように、記録情報再生速度は短期間で高速化に転換されているのが実状である。過去においては、2年以上の周期で標準速(オーディオ用のCD再生時のディスクの線速度)から倍速、倍速から4倍速へと転換されてきた再生速度は、今日では、6倍速から8倍速、8倍速以上へと数カ月単位の周期で急激に転換されようとしている。   However, today, as typified by CD-ROM drive devices, the actual situation is that the recorded information reproduction speed has been changed to high speed in a short period of time. In the past, the playback speed that has been switched from standard speed (linear speed of a disc during audio CD playback) to double speed, and from double speed to quadruple speed in a cycle of two years or more, today is 6 times to 8 times speed. It is about to change suddenly at a rate of several months to 8 times speed or higher.

このような状況においては、再生速度の高速化に合わせて、プリアンプの周波数帯域やゲインの変更、ピックアップサーボ回路の強化、ディジタル信号処理回路の動作速度の向上、誤り訂正処理の最適化などのために、回路の制御態様若しくは回路定数などの変更をその都度短期間で行わなければならない。   In such a situation, to increase the playback speed, change the preamplifier frequency band and gain, strengthen the pickup servo circuit, improve the operation speed of the digital signal processing circuit, optimize the error correction process, etc. In addition, it is necessary to change the control mode of the circuit or the circuit constant in a short period each time.

CD−ROMドライブ装置等における記録情報再生制御にマイクロコンピュータを利用する場合には、その記録情報再生制御プログラム(定数テーブルなども含む)を変更しなければならない。それらプログラムをマスクROMで提供する場合には、上記の極端に短い再生速度転換サイクルすなわち製品サイクルでは、マスクパターンの変更が間に合わなくなる。   When a microcomputer is used for recording information reproduction control in a CD-ROM drive device or the like, the recording information reproduction control program (including a constant table) must be changed. When these programs are provided by a mask ROM, the mask pattern cannot be changed in time in the extremely short reproduction speed conversion cycle, that is, the product cycle.

特許文献1には、光磁気ディスク装置においてディスクの記録情報を再生したりディスクに情報を記録したりするための処理プログラムに対するバグの修正やバージョンアップを容易化するために、書き換え可能なROMにその処理プログラムを格納する構成が示されている。   Patent Document 1 discloses a rewritable ROM for facilitating bug correction and version upgrade of a processing program for reproducing recorded information on a disk or recording information on a disk in a magneto-optical disk device. A configuration for storing the processing program is shown.

すなわち、光磁気ディスク装置はホスト装置に接続されるSCSI(Small Computer System Interface)コントローラとこのコントローラに接続されたドライバとを有し、前記コントローラのファームウェア(処理プログラム)は書き換え可能なROMに格納され、ドライバのファームウェアはEEPROM(Electrically Erasable and Programmable ROM)に格納されている。コントローラのファームウェアを書き換える場合は、ホスト装置がコントローラ内のバッファメモリにコントローラ用ファームウェアを転送すると共に、コントローラ内の前記ROMに格納された書き換えプログラムをコントローラ内のRAMに転送し、次いで、コントローラにコマンドを発行する。コントローラはそのコマンドを受け取ると、前記RAMに保持されている書き換えプログラムに従って前記ROMをバッファメモリ内のコントローラ用ファームウェアに書き換える。この書き換えに際して、それまで前記ROMに格納されていた書き換えプログラムも同時に更新する。ドライバのファームウェアを書き換える場合は、ホスト装置がドライバに対する書き換えプログラムをバッファメモリを介してコントローラのRAMに転送し、また、ドライバのファームウェアをコントローラのバッファメモリに転送する。そしてコントローラのCPUに前記RAMに格納された書き換えプログラムを実行させる。コントローラのCPUは書き換えプログラムに従ってドライバのファームウェアやアドレスをドライバのRAMに設定した後、ドライバのCPUにコマンドを発行する。ドライバは、通信及び基本的なコマンドをサポートするマスクROMを有し、前記コマンドを受け取ったドライバ内のCPUはそのマスクROMのプログラムを実行して、EEPROMをRAM内のドライバ用ファームウェアに書き換える。   That is, the magneto-optical disk device has a SCSI (Small Computer System Interface) controller connected to the host device and a driver connected to the controller, and the firmware (processing program) of the controller is stored in a rewritable ROM. The driver firmware is stored in an EEPROM (Electrically Erasable and Programmable ROM). When rewriting the controller firmware, the host device transfers the controller firmware to the buffer memory in the controller, and also transfers the rewrite program stored in the ROM in the controller to the RAM in the controller. Issue. When the controller receives the command, it rewrites the ROM to the controller firmware in the buffer memory in accordance with the rewrite program held in the RAM. At the time of this rewriting, the rewriting program that has been stored in the ROM is updated at the same time. When rewriting the driver firmware, the host device transfers a rewrite program for the driver to the controller RAM via the buffer memory, and also transfers the driver firmware to the controller buffer memory. Then, the CPU of the controller is caused to execute the rewriting program stored in the RAM. The controller CPU sets the driver firmware and address in the driver RAM in accordance with the rewrite program, and then issues a command to the driver CPU. The driver has a mask ROM that supports communication and basic commands, and the CPU in the driver that receives the command executes the program in the mask ROM to rewrite the EEPROM with the driver firmware in the RAM.

しかしながら、上記コントローラ用ファームウェアの書き換えのように、ROMに格納された書き換えプログラムもコントローラ用ファームウェアと一緒に更新する構成では、ROMを書き換えている途中で異常があった場合に、RAM内の書き換えプログラムが破壊されてしまうと、それ以降、コントローラを正常状態に復旧させるのに手間がかかることが予想される。   However, in the configuration in which the rewrite program stored in the ROM is updated together with the controller firmware as in the case of rewriting the controller firmware, the rewrite program in the RAM can be used when there is an abnormality during the rewriting of the ROM. If it is destroyed, it is expected that it will take time to restore the controller to a normal state thereafter.

また、ドライバのファームウェアを保有するEEPROMとは別のマスクROMに、EEPROMの書き換え制御プログラムや書き換えのためのインタフェース用のプログラムを格納する構成では、EEPROMの他にもマスクROMが必要になり、システムの物理的な規模を増大させてしまう。しかも、マスクROMは半導体集積回路化されたマイクロコンピュータ若しくはマイクロプロセッサに外付けされることになるであろうが、その場合には、外付けメモリに対するチップ選択制御等のための論理が増え、この点においてもディスクドライブ装置の物理的な規模が増大すると予想される。   Further, in the configuration in which the EEPROM rewrite control program and the interface program for rewriting are stored in a mask ROM different from the EEPROM that holds the driver firmware, a mask ROM is required in addition to the EEPROM. Will increase the physical scale. In addition, the mask ROM will be externally attached to a microcomputer or microprocessor integrated in a semiconductor integrated circuit. In this case, logic for chip selection control for the external memory is increased. In this respect, the physical scale of the disk drive device is expected to increase.

上記従来技術では、ドライバとコントローラのファームウェアを別々の書き換え可能なROMとEEPROMに格納している。ドライバ用ファームウェアはドライバに含まれるサーボ制御回路などの特性に応じた制御プログラムとされる。コントローラ用ファームウェアはホスト装置に対応するインタフェース仕様を実現するための制御プログラムとされる。そのように光磁気ディスク装置の処理プログラムを、書き換え可能なROMとEEPROMに分割するのは、光磁気ディスク装置の製造段階ではコントローラの制御プログラムをドライバの調整作業に都合のよいインタフェース仕様にそろえて行うことができるようにし、ドライバの制御プログラムを設定した後、最後に目的のホスト装置とのインタフェース仕様に応じてコントローラの制御プログラムを書き換えできるようにするためである。これは、光磁気ディスク装置の調整作業や製品管理などを簡略化し得るように考慮しているためである。しかしながら、コントローラとドライバの制御プログラムをROMとEEPROMに分けて格納する構成では、制御プログラムの書き換え手順が複雑で、書き換えにも時間を要することが本発明者によって明らかにされた。   In the above prior art, the driver and controller firmware are stored in separate rewritable ROM and EEPROM. The driver firmware is a control program corresponding to the characteristics of the servo control circuit included in the driver. The controller firmware is a control program for realizing interface specifications corresponding to the host device. In this way, the processing program of the magneto-optical disk device is divided into a rewritable ROM and an EEPROM so that the control program of the controller is aligned with an interface specification suitable for driver adjustment work at the manufacturing stage of the magneto-optical disk device. This is because, after setting the driver control program, the controller control program can be rewritten according to the interface specifications with the target host device. This is because consideration is given to simplify the adjustment work and product management of the magneto-optical disk device. However, it has been clarified by the inventors that the control program for the controller and the driver is stored separately in the ROM and the EEPROM, so that the rewrite procedure of the control program is complicated and rewriting takes time.

また、コントローラのROMに対する書き換えプログラムは当該ROMが保有し、ドライバのEEPROMに対する書き換えプログラムはマスクROMが保有している。このため、光磁気ディスク装置の動作中にCPUが暴走すると、当該ディスク装置それ自体に格納されている書き換えプログラムが不所望に実行されて、ROMやEEPROMの内容が破壊される虞もある。   The rewrite program for the controller ROM is held by the ROM, and the rewrite program for the driver EEPROM is held by the mask ROM. For this reason, if the CPU runs out of control during the operation of the magneto-optical disk device, the rewrite program stored in the disk device itself may be undesirably executed and the contents of the ROM or EEPROM may be destroyed.

特開平6−187141号公報JP-A-6-187141

本発明者はディスクドライブ装置の処理プログラムなどの変更を容易化するために、ディスクドライブ装置それ自体に関する観点と、ホスト装置とのインタフェースの観点から更に検討を行った。   The present inventor has further studied from the viewpoint of the disk drive apparatus itself and the interface with the host apparatus in order to facilitate the change of the processing program of the disk drive apparatus.

先ず第1には、ディスクドライブ装置の制御に、電気的に消去及び書き込み可能な不揮発性メモリを内蔵したマイクロコンピュータを採用し、その不揮発性メモリに、ディスクドライブ装置のためのアプリケーションプログラムと共に、ダウンロードされたアプリケーションプログラムを取り込み制御する入力制御プログラムを格納し、更に必要な場合には書き換え制御プログラムも格納することについて検討した。ここで、前記アプリケーションプログラムは、ディスクアクセスのための処理プログラム(アクセス制御プログラム)と、ディスクドライブ装置のための外部インタフェース処理プログラム(インタフェース処理プログラム)とを含むプログラムである。   First of all, a microcomputer incorporating an electrically erasable and writable nonvolatile memory is adopted for controlling the disk drive device, and downloaded to the nonvolatile memory together with an application program for the disk drive device. We studied to store an input control program for taking in and controlling the application program and storing a rewrite control program if necessary. Here, the application program is a program including a processing program (access control program) for disk access and an external interface processing program (interface processing program) for the disk drive device.

その場合、更に解決しなければならない幾つかの課題のあることが本発明者によって明らかにされた。   In that case, the present inventors have revealed that there are some problems that must be solved.

その一つは、書き換え制御プログラム及び入力制御プログラムをディスクドライブ装置それ自体が保有する場合、アプリケーションプログラムの書込みに際して書き換え制御プログラム及び入力制御プログラムが、復旧不可能な状態に破壊若しくは消失することがあってはならないということである。書き換え制御プログラム又は入力制御プログラムが破壊若しくは消失すると、その後、アプリケーションプログラムの書き換えを行うことが難しくなる。   One is that when the rewrite control program and the input control program are stored in the disk drive device itself, the rewrite control program and the input control program may be destroyed or lost in an unrecoverable state when the application program is written. It must not be. When the rewrite control program or the input control program is destroyed or lost, it becomes difficult to rewrite the application program thereafter.

また、マイクロコンピュータの不揮発性メモリそれ自体が保有している書き換え制御プログラム及び入力制御プログラムは信頼性が高くなければならないということである。   In addition, the rewrite control program and the input control program held in the nonvolatile memory of the microcomputer itself must be highly reliable.

第2には、ディスクドライブ装置がパーソナルコンピュータなどのコンピュータ装置に標準搭載される状況を考慮し、前記アプリケーションプログラムなどを容易に変更できるようにすることについて検討した。   Second, in consideration of the situation in which the disk drive device is standardly installed in a computer device such as a personal computer, studies were made to make it possible to easily change the application program.

今日パーソナルコンピュータ(単にPCとも記す)等のコンピュータ装置におけるハードディスクインタフェースの殆どはIDE(Integrated Device Electronics)に準拠し、PC(Personal Computer)ボード上に複数のIDEインタフェースポート(例えば4個)を持っている。IDEについては日経エレクトロニクス(日経BP社1994年6月6日発行)第67頁〜第96頁に記載がある。この明細書では、FAST ATA、Enhanced IDE、Extended IDEなどの呼称がある所謂拡張IDEの概念などもIDEに含むものとして用いる。IDEインタフェース仕様ではインタフェースケーブルの長さが極端に制限されており、通常はPCの筐体内部に搭載した周辺機器とのインタフェースに利用できる程度である。今日ではPCの拡張スロット若しくはドライブベイにCD−ROMドライブ装置が標準搭載されているものが殆どであるが、それ以前はオプションとして外付けされるのが一般的であり、このため、そのインタフェース仕様は当初、SCSI若しくはSCSI2に準拠されて発展してきた。   Today, most hard disk interfaces in computer devices such as personal computers (also simply referred to as PCs) conform to IDE (Integrated Device Electronics), and have multiple IDE interface ports (for example, four) on a PC (Personal Computer) board. Yes. IDE is described in pages 67 to 96 of Nikkei Electronics (issued June 6, 1994, Nikkei BP). In this specification, the concept of so-called extended IDE having names such as FAST ATA, Enhanced IDE, and Extended IDE is also included in IDE. In the IDE interface specification, the length of the interface cable is extremely limited, and it is usually only usable for an interface with a peripheral device mounted inside the casing of the PC. Today, most CD-ROM drive devices are standardly installed in PC expansion slots or drive bays, but before that, they are generally externally installed as an option. Originally developed in conformity with SCSI or SCSI2.

しかしながら、SCSIインタフェースはオプションとしての性格が根強く、SCSIインタフェースによるCD−ROMドライブ装置の接続にはSCSIインタフェースボード若しくはSCSIインタフェースPCカードなどが特別に必要になり、全体としてコストの上昇を招いてしまう。一般的に、IDEコントローラLSI(Large Scale Integrated circuits)はSCSIコントローラLSIに比べて安価である。   However, the SCSI interface has a strong personality as an option, and a SCSI interface board or a SCSI interface PC card is specially required for connection of a CD-ROM drive device by the SCSI interface, resulting in an increase in cost as a whole. Generally, IDE controller LSIs (Large Scale Integrated circuits) are less expensive than SCSI controller LSIs.

そこで登場するのがATAPI(ATA Packet Interface)インタフェースであり、PCボードとのインタフェース仕様はIDE準拠で、コマンドはSCSI若しくはSCSI2準拠とされる。これにより、PCにCD−ROMドライブ装置を搭載するのにそれ専用の特別なインタフェース回路を必要とせず、更に、SCSIインタフェース時代に標準的に用いられてきたSCSI準拠のコマンドをそのまま流用できる。即ち、CD−ROMドライブ装置に関する過去のソフトウェア資産を承継しながら、拡張IDEのような新しいインタフェースへ移行でき、しかもコストの低減を図ることができるようになる。これにより、PCに標準搭載されるCD−ROMドライブ装置のインタフェース仕様のほとんど全てがATAPIインタフェース仕様(IDEの拡張仕様)を採用するに至っている。   Therefore, an ATAPI (ATA Packet Interface) interface appears, the interface specification with the PC board is IDE compliant, and the command is SCSI or SCSI2 compliant. As a result, a special interface circuit dedicated to the CD-ROM drive device is not required for mounting the CD-ROM drive device on the PC, and the SCSI-compliant command that has been used as standard in the SCSI interface era can be used as it is. That is, it is possible to shift to a new interface such as an extended IDE while inheriting the past software assets related to the CD-ROM drive device, and to reduce the cost. As a result, almost all of the interface specifications of the CD-ROM drive device that is standard-installed in the PC have adopted the ATAPI interface specifications (IDE extended specifications).

多くのPCメーカが上述のようにATAPIインタフェースを利用してCD−ROMドライブ装置をPCに標準搭載する場合、CD−ROM再生速度の転換サイクルが極端に短い状況では、CD−ROMドライブ装置の評価期間が長くなると、PCメーカにとっては再生速度の速いCD−ROMドライブ装置を搭載したPCを効率的に市場に投入できなくなる。   When many PC manufacturers use the ATAPI interface as described above and a CD-ROM drive device is mounted on a PC as a standard, evaluation of the CD-ROM drive device is extremely effective when the CD-ROM playback speed conversion cycle is extremely short. If the period becomes longer, it becomes impossible for a PC manufacturer to efficiently put a PC equipped with a CD-ROM drive device having a high reproduction speed into the market.

PCメーカにおけるCD−ROMドライブ装置の評価期間が長くなると予想される原因は幾つかある。   There are several reasons why the evaluation period of a CD-ROM drive device in a PC manufacturer is expected to be long.

第1には、ATAPI対応CD−ROMドライブ装置はPCに標準搭載されるから、CD−ROMドライブ装置を取り外すにはPCの筐体を分解することが必要になるからである。   First, since an ATAPI-compatible CD-ROM drive is standardly mounted on a PC, it is necessary to disassemble the PC housing in order to remove the CD-ROM drive.

第2には、極端に短い再生速度転換サイクル故に、ドライブメーカにとってもCD−ROMドライブ装置の処理プログラムに対する開発期間が短くなり、バグの修正が度重なる場合も多くなることが予想されるからである。   Secondly, because of the extremely short playback speed conversion cycle, it is expected that the development period for the processing program of the CD-ROM drive device will be shortened for the drive manufacturer, and bug correction will be repeated frequently. is there.

第3には、極端に短い再生速度転換サイクル故に、ドライブメーカは、前記アプリケーションプログラムの性能向上が間に合わないため、ハードウェアのみ先行させてPCメーカに送り、後付けでアプリケーションプログラムを段階的にPCメーカに送り、ドライブを完成させることが必要になるからである。例えば24倍速のCD−ROMドライブの場合、ドライブメーカは同一ハードウェアで20倍速再生までのアプリケーションプログラムをPCメーカに送り、次に、24倍速でアクセス速度の速いアプリケーションプログラムを送り、最後に、そのアプリケーションプログラムの論理的に不十分な点を改善若しくはチューニングした高い性能のアプリケーションプログラムを送る、というような段階的な処置が施される。或いは、24倍速CD−ROMドライブを想定すると、最低の1倍速と最高の24倍速再生のためのアプリケーションプログラムを送り、それらに対する中間の倍速に関しては段階的にアプリケーションプログラムを完成させてPCメーカに提供するといったことが行われる。   Third, because of the extremely short playback speed conversion cycle, the drive manufacturer cannot keep up with the performance improvement of the application program. Therefore, only the hardware is sent to the PC manufacturer in advance, and the application program is gradually added to the PC manufacturer. It is necessary to complete the drive. For example, in the case of a 24 × speed CD-ROM drive, the drive manufacturer sends an application program up to 20 × speed playback with the same hardware to the PC manufacturer, and then sends an application program with a 24 × speed and a high access speed. Step-by-step measures such as sending a high-performance application program that improves or tunes the logical deficiencies of the application program are performed. Alternatively, assuming a 24x CD-ROM drive, send the application program for playback at the lowest 1x speed and the highest 24x speed, and complete the application program step by step for the intermediate double speed and provide it to the PC manufacturer. It is done.

第4には、ATAPIインタフェースを採用したCD−ROMドライブ装置がPCに標準搭載されると、そのCD−ROMドライブ装置は特定のPCに専用化されるので、当該CD−ROMドライブ装置の前記アプリケーションプログラムの内容がPCの機種若しくはPCメーカ毎に個別化される傾向が強くなるからである。例えば、ドライブメーカは、標準使用のCD−ROMドライブ装置をPCメーカにサンプル出荷してくる場合が多いが、PCメーカのドライブ仕様がメーカ毎に異なっている場合には、ドライブの仕様追加が必要になる。PCメーカ毎に異なる仕様の一例として、偏心や面ぶれなどを生じているディスクに対する再生制御手法がある。偏心や面ぶれを生じているディスクに対して、通常CD−ROMドライブ装置はディスクが読めるところまで、自動的に再生速度を落とす。しかし、この後、いつ再生速度を上げるかは、PCメーカの仕様によって異なっており、次のリードコマンドを受信したところで、再生速度を元に戻す場合もあれば、そのディスクについては再生速度を上げない場合もある。更に、ベンダーユニークコマンドを利用して再生速度を元に戻す場合もある。或いはディスクに対する線速度一定と角速度一定とを混在させて再生制御することも行われており、角速度一定と線速度一定の制御を切り換える態様も区々になっている。   Fourth, when a CD-ROM drive device adopting the ATAPI interface is standardly installed on a PC, the CD-ROM drive device is dedicated to a specific PC. This is because the content of the program tends to be individualized for each PC model or PC manufacturer. For example, drive manufacturers often ship standard-use CD-ROM drive devices to PC manufacturers as samples, but if the drive specifications of the PC manufacturer differ from manufacturer to manufacturer, additional drive specifications are required. become. As an example of specifications that differ for each PC manufacturer, there is a playback control method for a disc that is decentered or shakes. In contrast to discs that are eccentric or wobbling, the CD-ROM drive usually automatically reduces the playback speed until the disc can be read. However, when the playback speed is increased after that depends on the specifications of the PC manufacturer. When the next read command is received, the playback speed may be restored, or the playback speed of the disc is increased. There may be no. Further, the playback speed may be restored using the vendor unique command. Alternatively, reproduction control is performed by mixing a constant linear velocity and a constant angular velocity with respect to the disc, and there are various modes of switching between control of constant angular velocity and constant linear velocity.

また、ATAPI対応CD−ROMドライブ装置を標準搭載したPCがエンドユーザに渡った後、再生速度の向上及びCD―R(Compact disc-Recordable)ディスクの普及等により、全てのディスクを再生できるとは限らない状況も生じてくる。このような場合にも、エンドユーザ側で前記アプリケーションプログラムを効率的に更新できることが望ましい。   In addition, after a PC equipped with an ATAPI-compatible CD-ROM drive as a standard equipment has passed to the end user, it is possible to play back all discs by improving the playback speed and the spread of CD-R (Compact Disc-Recordable) discs. Unlimited situations arise. Even in such a case, it is desirable that the end user can efficiently update the application program.

このように、CD−ROMドライブ装置における再生速度の転換サイクルが極端に短くされ、また、CD−ROMドライブ装置がPCに標準搭載される状況下において、ドライブメーカはPCメーカ毎に相違する仕様の前記アプリケーションプログラムを短期間で作成しなければならない。PCメーカにとっては、CD−ROMドライブ装置の評価を短期間で済まさなければならず、評価期間を通じてドライブメーカからアプリケーションプログラムのバグの修正を受けながら、PC上でCD−ROMドライブ装置の評価を効率的に行うことが絶対的に必要とされる。したがって、CD−ROMドライブ装置のアプリケーションプログラムの修正を効率的に行えるようにするという要請は、極めて高くなっている。   As described above, in the situation where the reproduction speed conversion cycle in the CD-ROM drive device is extremely shortened and the CD-ROM drive device is mounted on the PC as a standard, the drive manufacturer has different specifications for each PC manufacturer. The application program must be created in a short period of time. For a PC manufacturer, the evaluation of the CD-ROM drive device must be completed in a short period of time, and the evaluation of the CD-ROM drive device is efficiently performed on the PC while receiving a bug correction of the application program from the drive manufacturer throughout the evaluation period. Is absolutely necessary. Therefore, the demand for efficiently correcting the application program of the CD-ROM drive device is extremely high.

本発明の目的は、ディスクドライブ装置のディスクアクセス及びインタフェース制御用の処理プログラムを含むアプリケーションプログラムの全部又は一部を効率的に修正できるようにすることである。   An object of the present invention is to make it possible to efficiently modify all or part of an application program including a processing program for disk access and interface control of a disk drive device.

本発明の別の目的は、ディスクドライブ装置の物理的な規模を増大させることなく前記アプリケーションプログラムの全部又は一部を容易に書き換えることができるディスクドライブ装置を提供することにある。   Another object of the present invention is to provide a disk drive device that can easily rewrite all or part of the application program without increasing the physical scale of the disk drive device.

本発明の更に別の目的は、前記アプリケーションプログラムの書き換えの信頼性を向上できるディスクドライブ装置を提供することにある。   Still another object of the present invention is to provide a disk drive device capable of improving the reliability of rewriting of the application program.

本発明の更に別の目的は、記録情報再生装置やディスクドライブ装置のハードウェアの量産を先行させ、出荷直前まで前記アプリケーションプログラムの全部又は一部を修正でき、開発期間を短縮できるディスクドライブ装置を提供することにある。   Still another object of the present invention is to provide a disk drive device that can advance the mass production of recorded information reproducing device and disk drive device hardware, can correct all or part of the application program until immediately before shipment, and can shorten the development period. It is to provide.

本発明のその他の目的は、同一ハードウェアによって他品種展開が容易なディスクドライブ装置を提供することにある。   Another object of the present invention is to provide a disk drive device that can be easily developed in other products using the same hardware.

本発明の更にその他の目的は、ディスクドライブ装置が組み込まれた状態でも(当該装置を取り外すことなく)、記録情報再生装置やディスクドライブ装置の前記アプリケーションプログラムの全部又は一部を変更できるパーソナルコンピュータ等のコンピュータ装置を提供することにある。   Still another object of the present invention is to provide a personal computer or the like that can change all or part of the application program of the recorded information reproducing device or the disk drive device even when the disk drive device is incorporated (without removing the device). It is to provide a computer apparatus.

また、本発明は、再生速度の転換サイクルが極端に短い状況下でも、再生速度の速いディスクドライブ装置を標準搭載したコンピュータ装置を効率的に市場に投入できるようにすることにある。   Another object of the present invention is to make it possible to efficiently put a computer device equipped with a disk drive device having a high reproduction speed as a standard even in a situation where the reproduction speed conversion cycle is extremely short.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、ディスクドライブ装置の制御に、電気的な消去及び書き込み可能な不揮発性メモリを内蔵したマイクロコンピュータを採用し、その不揮発性メモリが、アプリケーションプログラム領域にディスクアクセス及びインタフェース制御用の処理プログラムを含むアプリケーションプログラムを保有し、また、そのアプリケーションプログラムの全部又は一部を更新するのに利用されるリブートプログラムをリブートプログラム領域に保有する。   That is, a microcomputer incorporating an electrically erasable and writable nonvolatile memory is employed for controlling the disk drive device, and the nonvolatile memory includes a processing program for disk access and interface control in the application program area. An application program is held, and a reboot program used to update all or part of the application program is held in the reboot program area.

更に詳しくは、ディスクドライブ装置は、回転駆動されるディスクをアクセスするアクセス手段と、前記アクセス手段に接続され外部とインタフェースされるインタフェース回路と、前記アクセス手段の動作を制御すると共に前記インタフェース回路に結合されたマイクロコンピュータとを含む。前記マイクロコンピュータは、電気的に書き換え可能な不揮発性メモリと、この不揮発性メモリをアクセスする中央処理装置とを含む。前記不揮発性メモリはその記憶領域に、リブートプログラム領域とアプリケーションプログラム領域とを有する。前記アプリケーションプログラム領域は、前記アクセス手段及び前記インタフェース回路を制御するために前記中央処理装置によって実行されるアプリケーションプログラムの格納領域を有する。前記リブートプログラム領域は、前記中央処理装置に、前記アプリケーションプログラム領域を書き換えるための処理を実行させるリブートプログラムが格納される領域を有する。前記中央処理装置は、外部から前記インタフェース回路に供給されるアプリケーションプログラム領域の書き換えコマンドに応答して前記リブートプログラムを実行しアプリケーションプログラム領域の全部又は一部の書き換えを行い、また、外部から前記インタフェース回路に供給されるディスクアクセスコマンドに応答して前記アプリケーションプログラム領域中の前記アプリケーションプログラムを実行し前記アクセス手段及びインタフェース回路を制御する。   More specifically, the disk drive device is coupled to the access means for accessing the disk driven to rotate, an interface circuit connected to the access means and interfaced with the outside, and controls the operation of the access means and is coupled to the interface circuit. Microcomputer. The microcomputer includes an electrically rewritable nonvolatile memory and a central processing unit that accesses the nonvolatile memory. The nonvolatile memory has a reboot program area and an application program area in its storage area. The application program area includes an application program storage area that is executed by the central processing unit to control the access means and the interface circuit. The reboot program area has an area for storing a reboot program that causes the central processing unit to execute processing for rewriting the application program area. The central processing unit executes the reboot program in response to a rewrite command of the application program area supplied from the outside to the interface circuit, rewrites all or part of the application program area, and externally the interface In response to a disk access command supplied to the circuit, the application program in the application program area is executed to control the access means and the interface circuit.

前記アプリケーションプログラムとは、記録情報再生制御プログラムなどのアクセス制御プログラムとディスクドライブ装置の外部インタフェース制御用のインタフェース制御プログラムとを含む動作プログラムを意味する。アクセス制御プログラムは、ディスクの速度制御や記録情報の再生速度に応じた信号処理などを制御する。インタフェース制御プログラムは、ディスクアクセスのための外部インタフェース制御を行う。前記アプリケーションプログラム領域の書き換えは、アプリケーションプログラムの一部(アクセス制御プログラム又はインタフェース制御プログラムのいずれか一方)を対象にしても、全部(アクセス制御プログラム及びインタフェース制御プログラムの双方)を対象にしてもよい。また、アプリケーションプログラムが複数個のプログラムモジュール(例えば複数個のサブルーチン)を含む場合に、一部のプログラムモジュールを書き換えの対象にすることも可能である。例えば、アプリケーションプログラムを書きかえる(更新する)とき、前記アクセス制御プログラム又はインタフェース制御プログラムにおいて、修正が施された一方のプログラムだけを書き換えるようにしてもよい。   The application program means an operation program including an access control program such as a recorded information reproduction control program and an interface control program for external interface control of the disk drive device. The access control program controls disc speed control, signal processing according to the playback speed of recorded information, and the like. The interface control program performs external interface control for disk access. The rewriting of the application program area may target a part of the application program (either the access control program or the interface control program) or the entire application program (both the access control program and the interface control program). . Further, when the application program includes a plurality of program modules (for example, a plurality of subroutines), it is possible to make some program modules to be rewritten. For example, when the application program is rewritten (updated), only one of the modified programs in the access control program or the interface control program may be rewritten.

上記により、ディスクドライブ装置にマイクロコンピュータが実装された後も、当該マイクロコンピュータ内蔵の前記不揮発性メモリにアプリケーションプログラムを書き込み、或いはアプリケーションプログラムの一部又は全部を書き換えることができる。これにより、今後極めて短いサイクルで生ずるであろう、再生速度転換時期等に応じてに、再生速度の向上に応じ必要な修正を加えたアプリケーションプログラムの全部又は一部を書き換えるだけで、ディスクドライブ装置における再生速度の転換に即座に若しくはタイムリーに対応できる。   As described above, even after the microcomputer is mounted on the disk drive device, the application program can be written to the nonvolatile memory built in the microcomputer, or a part or all of the application program can be rewritten. As a result, the disk drive device can be rewritten only by rewriting all or a part of the application program with the necessary corrections according to the improvement of the reproduction speed in accordance with the reproduction speed change timing, etc., which will occur in an extremely short cycle in the future. Can respond to changes in playback speed immediately or in a timely manner.

前記不揮発性メモリの書き換え対象はアプリケーションプログラム領域とされる。リブートプログラム領域は書き換え対象ではないから、不揮発性メモリの書き換え動作途中で異常があった場合にも、再度リブートプログラムを実行すれば、すぐにアプリケーションプログラム領域に対する再書き込み動作に移行でき、書き換え途中における異常状態からの復旧に手間取ることはない。ディスクドライブ装置における処理プログラムの書き換え対象は前記不揮発性メモリだけであるから、書き換えの制御手順を簡素化でき、しかも書き換え時間も短縮できる。更に、半導体集積回路化されたはマイクロコンピュータに、ディスクドライブ装置の処理プログラムを保有する前記不揮発性メモリがに内蔵されている場合、ディスクドライブ装置の物理的な規模が増大するのを抑えて、上記作用を得ることができる。   The target of rewriting the nonvolatile memory is an application program area. Since the reboot program area is not the target of rewriting, even if there is an abnormality during the rewriting operation of the nonvolatile memory, if the reboot program is executed again, it can immediately shift to the rewriting operation for the application program area, There is no hassle to recover from abnormal conditions. Since the processing program in the disk drive device is rewritten only by the nonvolatile memory, the rewriting control procedure can be simplified and the rewriting time can be shortened. Further, when the nonvolatile memory that holds the processing program of the disk drive device is built in the semiconductor integrated circuit microcomputer, the increase in the physical scale of the disk drive device is suppressed, The above action can be obtained.

前記リブートプログラムは、入力制御プログラム、書き換え制御プログラム及び転送制御プログラムを含むことができる。このとき、前記書き換えコマンドに応答する前記中央処理装置は、前記入力制御プログラムを実行することにより外部から前記インタフェース回路に供給される全部又は一部のアプリケーションプログラムをバッファRAMなどに取り込み、前記転送制御プログラムを実行することにより前記書き換え制御プログラムを前記リブートプログラム格納領域から前記マイクロコンピュータの内蔵RAMに転送する。中央処理装置は、前記内蔵RAMに転送された書き換え制御プログラムを実行することにより前記取り込まれた全部又は一部のアプリケーションプログラムを前記アプリケーションプログラム領域に書込み制御する。これによれば、アプリケーションプログラム領域の更新に当たって、ホスト装置は前記不揮発性メモリに対する書込みコマンドに続けてアプリケーションプログラム領域に書き込むべき全部又は一部のアプリケーションプログラムをディスクドライブ装置に転送すればよく、書き換え制御プログラムを転送する必要はないから、アプリケーションプログラム領域を更新する処理時間を更に短縮することができる。   The reboot program can include an input control program, a rewrite control program, and a transfer control program. At this time, the central processing unit responding to the rewrite command executes the input control program to fetch all or a part of application programs supplied from the outside to the interface circuit into a buffer RAM or the like, and the transfer control By executing the program, the rewrite control program is transferred from the reboot program storage area to the built-in RAM of the microcomputer. The central processing unit controls to write all or a part of the fetched application programs in the application program area by executing the rewrite control program transferred to the built-in RAM. According to this, in updating the application program area, the host device may transfer all or part of the application program to be written to the application program area to the disk drive device following the write command to the nonvolatile memory, and the rewrite control Since it is not necessary to transfer the program, the processing time for updating the application program area can be further shortened.

前記リブートプログラムは、入力制御プログラム及び転送制御プログラムを含むことができる。このとき、前記書き換えコマンドに応答する前記中央処理装置は、前記入力制御プログラムを実行することにより外部から前記インタフェース回路に供給される前記アプリケーションプログラム及び書き換え制御プログラムを取り込み、前記転送制御プログラムを実行することにより前記取り込まれた書き換え制御プログラムをマイクロコンピュータの内蔵RAMに転送する。前記中央処理装置は、前記内蔵RAMに転送された書き換え制御プログラムを実行することにより、前記取り込まれた全部又は一部のアプリケーションプログラムを前記アプリケーションプログラム領域に書込み制御する。これによれば、不揮発性メモリはその書き換え制御プログラムを保有しないから、中央処理装置が暴走して不揮発性メモリに格納されているプログラムを不所望に実行することがあっても、当該不揮発性記憶装置が誤ってか書き換えられる虞は全くない。   The reboot program can include an input control program and a transfer control program. At this time, the central processing unit responding to the rewrite command takes in the application program and the rewrite control program supplied to the interface circuit from the outside by executing the input control program, and executes the transfer control program As a result, the fetched rewrite control program is transferred to the microcomputer's built-in RAM. The central processing unit executes a rewrite control program transferred to the built-in RAM, thereby writing and controlling all or part of the fetched application program in the application program area. According to this, since the non-volatile memory does not have the rewrite control program, even if the central processing unit runs out of control and executes the program stored in the non-volatile memory undesirably, There is no risk of the device being accidentally or rewritten.

前記リブートプログラム領域は、ベクタテーブルとリセット処理プログラムの格納領域とを更に有することができる。このとき、前記中央処理装置は、リセットの指示に応答して前記ベクタテーブルを参照することにより前記リセット処理プログラムの実行に移行し、リセット処理プログラムの実行途上では前記書き換えコマンドに応答し得る強制リブート状態か否かを判定する。強制リブート状態のとき、中央処理装置は、前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移する。強制リブート状態でないとき、中央処理装置は前記アプリケーションプログラム領域のプログラムを実行可能な状態に遷移する。これによれば、不揮発性メモリの書き換えに際して異常が起きても、リセットをかけて強制リブート状態の指示を行えば、その異常から容易に復旧して、不揮発性メモリを書き換える処理に戻ることができる。この点においても、アプリケーションプログラム領域を更新する処理時間の短縮に寄与できる。   The reboot program area may further include a vector table and a storage area for a reset processing program. At this time, the central processing unit shifts to execution of the reset processing program by referring to the vector table in response to a reset instruction, and a forced reboot that can respond to the rewrite command in the course of execution of the reset processing program It is determined whether or not it is in a state. In the forced reboot state, the central processing unit waits for the input of the rewrite command and shifts to the execution of the reboot program. When not in the forced reboot state, the central processing unit shifts to a state in which the program in the application program area can be executed. According to this, even if an abnormality occurs when rewriting the nonvolatile memory, if a forced reboot state is instructed by resetting, it is possible to easily recover from the abnormality and return to the process of rewriting the nonvolatile memory. . This can also contribute to shortening the processing time for updating the application program area.

前記アプリケーションプログラム領域は、その一部の記憶領域に、その他の記憶領域が保有する情報のサム値を格納するサム値格納領域を有することができ、前記リブートプログラム領域は、ベクタテーブルとリセット処理プログラムの格納領域とを更に有することができる。このとき、前記中央処理装置は、リセットの指示に応答して前記ベクタテーブルを参照することにより前記リセット処理プログラムの実行に移行し、リセット処理プログラムの実行途上では前記書き換えコマンドに応答し得る強制リブート状態か否かを判定する。強制リブート状態のとき、中央処理装置は、前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移する。強制リブート状態でないとき、中央処理装置は、前記サム値格納領域に格納されているサム値が、前記その他の記憶領域が保有する情報のサム値に一致するかを判定する。中央処理装置は、判定結果が不一致の場合には前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移し、前記判定結果が一致の場合には前記アプリケーションプログラム領域のプログラムを実行可能な状態に遷移する。これによれば、ホスト装置や、ディスクドライブ装置の異常によって前記アプリケーションプログラム領域のプログラムが不所望に書き換えられたとき、強制リブート状態が指示されなくても、リセットされるだけで、自己診断的に、中央処理装置の動作を、アプリケーションプログラム領域に対する書き換え可能な状態に遷移させることができ、ディスクドライブ装置の誤動作を未然に防止することができる。   The application program area may have a sum value storage area for storing a sum value of information held in another storage area in a part of the storage area, and the reboot program area includes a vector table and a reset processing program. Storage area. At this time, the central processing unit shifts to execution of the reset processing program by referring to the vector table in response to a reset instruction, and a forced reboot that can respond to the rewrite command in the course of execution of the reset processing program It is determined whether or not it is in a state. In the forced reboot state, the central processing unit waits for the input of the rewrite command and shifts to the execution of the reboot program. When not in the forced reboot state, the central processing unit determines whether the sum value stored in the sum value storage area matches the sum value of the information held in the other storage area. When the determination result does not match, the central processing unit waits for the input of the rewrite command and transitions to the execution of the reboot program, and when the determination result matches, the central processing unit can execute the program in the application program area Transition to. According to this, when the program in the application program area is undesirably rewritten due to an abnormality in the host device or the disk drive device, even if the forced reboot state is not instructed, it is simply reset and self-diagnostic. The operation of the central processing unit can be shifted to a rewritable state for the application program area, and malfunction of the disk drive device can be prevented beforehand.

前記不揮発性メモリとして、一括消去単位とされる複数個のメモリブロックを有するフラッシュメモリを採用することができる。このとき、前記リブートプログラム領域と前記アプリケーションプログラム領域とを相互に異なるメモリブロックに割り当てることにより、アプリケーションプログラム領域に対する消去動作を効率化できる。   As the non-volatile memory, a flash memory having a plurality of memory blocks as a batch erase unit can be adopted. At this time, by allocating the reboot program area and the application program area to different memory blocks, the erase operation for the application program area can be made more efficient.

前記リブートプログラム領域に対するプログラムの初期的な書込み動作の信頼性は、そのプログラムの性質上良好であることが望ましく、それを保証するには、前記マイクロコンピュータの製造工程でリブートプログラム領域にプログラムを書き込むことができる。   The reliability of the initial write operation of the program to the reboot program area is preferably good due to the nature of the program, and in order to guarantee this, the program is written to the reboot program area in the manufacturing process of the microcomputer. be able to.

リブートプログラムの不所望な消失防止に万全を期するには、前記リブートプログラム領域の書き換えを禁止する手段を設ければよい。   In order to prevent the undesired disappearance of the reboot program, a means for prohibiting rewriting of the reboot program area may be provided.

前記インタフェース回路に、ATAPIインタフェース仕様を採用することができる。これによれば、SCSIインタフェース仕様等のディスクドライブ装置に関して蓄積された過去のソフトウェア資産を承継しながら、拡張IDEのような新しいインタフェースへ容易に移行でき、しかもコストの低減を図ることができる。   An ATAPI interface specification can be adopted for the interface circuit. According to this, it is possible to easily shift to a new interface such as an extended IDE while succeeding to the past software assets accumulated with respect to the disk drive device such as the SCSI interface specification, and to reduce the cost.

そのようなディスクドライブ装置を備えたコンピュータ装置は、バスに接続されたマイクロプロセッサと周辺インタフェースコントローラとを含むメインボードを有し、前記インタフェースコントローラにディスクドライブ装置のインタフェース回路が接続されている。前記バスに例えばPCIバスを採用し、前記インタフェースコントローラにIDEインタフェースコントローラを含む、パーソナルコンピュータのようなコンピュータ装置に、ディスクドライブ装置を標準搭載する場合、ディスクドライブ装置のインタフェース回路に前記ATAPIインタフェース回路を採用することができる。コンピュータ装置にディスクドライブ装置が標準搭載される場合、メインボードとディスクドライブ装置は殆どの場合一つの筐体に組み込まれる。   A computer device having such a disk drive device has a main board including a microprocessor and a peripheral interface controller connected to a bus, and an interface circuit of the disk drive device is connected to the interface controller. For example, when a disk drive device is standardly installed in a computer device such as a personal computer that employs a PCI bus as the bus and includes an IDE interface controller in the interface controller, the ATAPI interface circuit is provided in the interface circuit of the disk drive device. Can be adopted. When a disk drive device is mounted on a computer device as a standard, the main board and the disk drive device are almost always assembled in one housing.

ディスクドライブ装置のアプリケーションプログラム領域の書き換えにおいては、コンピュータ装置のメインボードをホスト装置とし、このホスト装置を介してディスクドライブ装置のアプリケーションプログラムを全部又は一部だけ書き換えることができる。したがって、ディスクドライブ装置をコンピュータ装置から取り外すことなく、前記マイクロプロセッサを利用して、ディスクドライブ装置のアプリケーションプログラムを変更できる。   In rewriting the application program area of the disk drive device, the main board of the computer device can be used as a host device, and the application program of the disk drive device can be rewritten in whole or in part via the host device. Therefore, the application program of the disk drive device can be changed using the microprocessor without removing the disk drive device from the computer device.

したがって、ディスクドライブ装置における再生速度の転換サイクルが極端に短くされ、ディスクドライブ装置がコンピュータ装置に標準搭載され、それによってドライブメーカはコンピュータ装置メーカ毎に相違する仕様でディスクドライブ装置のディスクアクセス及びインタフェース制御用のアプリケーションプログラムを作成しなければならない状況下において、コンピュータ装置メーカは、ディスクドライブ装置の評価期間を通じてドライブメーカからアプリケーションプログラムに関するバグの修正や追加機能を受けながらコンピュータ装置に組みこまれたままの状態でディスクドライブ装置の評価を行うことができる。前述のディスクドライブ装置は、アプリケーションプログラム領域に対する書き換え処理の能率化、書き換え処理中における異常状態から速やかに復旧して書き換え処理に戻れるなどの手段が講じられているから、ディスクドライブ装置の評価期間を通じて、マイクロコンピュータに内蔵された不揮発性メモリに、修正されたアプリケーションプログラムを効率的に再インストールすることができる。よって、コンピュータ装置メーカはディスクドライブ装置の評価期間を短期できる。   Accordingly, the conversion cycle of the playback speed in the disk drive device is extremely shortened, and the disk drive device is standardly installed in the computer device, so that the drive manufacturer has different specifications for each computer device manufacturer and the disk access and interface of the disk drive device. In a situation where an application program for control must be created, the computer equipment manufacturer remains incorporated in the computer equipment while receiving bug fixes and additional functions related to the application program from the drive manufacturer throughout the evaluation period of the disk drive device. In this state, the disk drive device can be evaluated. The above-mentioned disk drive device has measures such as improving the efficiency of the rewrite process for the application program area, and quickly recovering from the abnormal state during the rewrite process and returning to the rewrite process. The modified application program can be efficiently reinstalled in the non-volatile memory built in the microcomputer. Therefore, the computer device manufacturer can shorten the evaluation period of the disk drive device.

これにより、ディスクドライブ装置における再生速度の転換サイクルが極端に短くされている状況下において、コンピュータ装置メーカは、より再生速度の速いディスクドライブ装置を標準搭載したコンピュータ装置を効率的に市場に投入できるようになる。   As a result, in a situation where the conversion cycle of the reproduction speed in the disk drive device is extremely shortened, the computer device manufacturer can efficiently put a computer device equipped with a disk drive device having a higher reproduction speed as a standard on the market. It becomes like this.

また、記録情報再生制御プログラムのようなアクセス制御プログラムやインタフェース制御プログラムを含むアプリケーションプログラムはインタネット等の通信手段でディスクドライブ装置の製造又はその販売会社からコンピュータ装置メーカ又はその販売会社に、或いはコンピュータ装置メーカ又はその販売会社からコンピュータ装置の使用者に供給することも可能である。これによれば、コンピュータ装置メーカ又はその販売会社或いはコンピュータ装置の使用者に瞬時に前記アプリケーションプログラムを送ることができる。このとき、上記ディスクドライブ装置やこれを搭載したコンピュータ装置を使用すれば、その使用者側で、それら装置の記録情報再生速度などの機能を即座にバージョンアップすることができる。すなわち、使用者側での製品の機能変更が容易になる。   In addition, an application program including an access control program and an interface control program such as a recorded information reproduction control program can be transmitted from the manufacture of a disk drive device or its sales company to a computer device manufacturer or its sales company by a communication means such as the Internet. It is also possible to supply the computer device user from the manufacturer or its sales company. According to this, the application program can be instantaneously sent to a computer device maker, its sales company, or a user of the computer device. At this time, if the above-described disk drive device or a computer device equipped with the disk drive device is used, the user can immediately upgrade the functions such as the recorded information reproduction speed of the device. That is, it is easy to change the function of the product on the user side.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、ディスクドライブ装置のディスクアクセス及びインタフェース制御用の処理プログラムを含むアプリケーションプログラムの全部又は一部を効率的に修正できる。   That is, all or part of the application program including the processing program for disk access and interface control of the disk drive device can be corrected efficiently.

ディスクドライブ装置の物理的な規模を増大させることなく前記アプリケーションプログラムの全部又は一部を容易に書き換えることができる。前記アプリケーションプログラムの書き換えの信頼性を向上できる。   All or part of the application program can be easily rewritten without increasing the physical scale of the disk drive device. The rewriting reliability of the application program can be improved.

記録情報再生装置やディスクドライブ装置のハードウェアの量産を先行させ、出荷直前まで前記アプリケーションプログラムの全部又は一部を修正でき、開発期間を短縮できる。   It is possible to precede the mass production of the hardware of the recorded information reproducing apparatus and the disk drive apparatus, and to modify all or part of the application program until immediately before shipment, thereby shortening the development period.

《CD−ROMドライブ装置》
図1には本発明の一例に係るCD−ROMドライブ装置がホスト装置と共に示されている。図1において1で示されるものは、CD−ROMディスク(単にディスクとも称する)であり、記録密度を上げるため、信号の記録速度がディスクの内周、外周の位置にかかわらず一定であるCLV(Constant Liner Velocity)方式によって情報が記録されている。このディスク1は、特に制限されないが、1シンボル(1シンボル=1バイト)のサブコード情報、24シンボルのデータ及び8シンボルのパリティーを1フレームとし、このフレーム毎に同期信号が付加されて構成されている。そのようなフレームの情報は特に制限されないが、EFM(Eight to Fourteen Modulation)変調されている。EFM変調は、1シンボル8ビットのデータを14ビットに変換する処理である。更に変換後の直流成分を除去するために3ビットのマージンビットが付加され、NRZI変調が行われている。また、フレームはインタリーブされている。
<< CD-ROM drive device >>
FIG. 1 shows a CD-ROM drive device according to an example of the present invention together with a host device. 1 is a CD-ROM disc (also simply referred to as a disc), and in order to increase the recording density, a CLV (signal recording speed is constant regardless of the inner and outer peripheral positions of the disc). Information is recorded by the (Constant Liner Velocity) method. The disk 1 is not particularly limited, and is constituted by sub-code information of 1 symbol (1 symbol = 1 byte), data of 24 symbols, and parity of 8 symbols as one frame, and a synchronization signal is added to each frame. ing. Information of such a frame is not particularly limited, but EFM (Eight to Fourteen Modulation) modulation is performed. EFM modulation is a process of converting data of 8 bits per symbol into 14 bits. Further, in order to remove the DC component after conversion, 3 margin bits are added, and NRZI modulation is performed. The frames are interleaved.

図1に示されるCD−ROMドライブ装置2は、ホスト装置3からのアクセス若しくはデータ転送要求をATAPIインタフェース回路4から受けると、マイクロコンピュータ5が、その要求に応ずるための制御を行う。マイクロコンピュータ5によって制御されるCD−ROMドライブ装置2の動作の概略は次の通りとされる。すなわち、ディスク1から光学的に情報が読み取られ、読み取られた情報はディジタル信号処理回路7で復号及びエラー訂正などが行われ、復号及びエラー訂正された情報は、CD−ROMやCD−Iなどの所定のフォーマットに従って、ディジタル信号処理回路7からバス8を介してCD−ROMデコーダ9に与えられる。CD−ROMデコーダ9はこれに与えられた情報に対して同期信号検出、デインタリーブ、付加ECC誤り訂正等の処理を施し、ホスト装置が要求するデータをATAPIインタフェース回路4を介してホスト装置3に出力する。   When the CD-ROM drive device 2 shown in FIG. 1 receives an access or data transfer request from the host device 3 from the ATAPI interface circuit 4, the microcomputer 5 performs control for responding to the request. The outline of the operation of the CD-ROM drive device 2 controlled by the microcomputer 5 is as follows. That is, information is optically read from the disk 1, and the read information is decoded and error-corrected by the digital signal processing circuit 7, and the decoded and error-corrected information is CD-ROM, CD-I, etc. Are supplied from the digital signal processing circuit 7 to the CD-ROM decoder 9 via the bus 8 in accordance with the predetermined format. The CD-ROM decoder 9 performs processing such as synchronization signal detection, deinterleaving, and additional ECC error correction on the information given thereto, and sends data requested by the host device to the host device 3 via the ATAPI interface circuit 4. Output.

次に、CD−ROMドライブ装置2の各部について詳細に説明する。   Next, each part of the CD-ROM drive device 2 will be described in detail.

前記ディスク1はディスクモータ10によって回転駆動される。ピックアップ11は、回転駆動されるディスク1にレーザ光を照射し、その反射光をフォトダイオードから成る受光部で受光して光電変換し、これによって、ディスク1に記録されている情報を読み出す。スレッドモータ12はピックアップ11をディスク1の半径方向に移動させる。ローディングモータ13はディスク1が載置される図示しないトレーを移動させる。   The disk 1 is rotationally driven by a disk motor 10. The pickup 11 irradiates the disk 1 to be rotated and irradiates laser light, receives the reflected light by a light receiving unit composed of a photodiode, performs photoelectric conversion, and thereby reads information recorded on the disk 1. The thread motor 12 moves the pickup 11 in the radial direction of the disk 1. The loading motor 13 moves a tray (not shown) on which the disk 1 is placed.

前記ディジタル信号処理回路7は、その動作プログラムに従ってディジタルフィルタ、EFM復調、C1,C2誤り訂正、ディジタルサーボ、速度制御等の機能を実現する。ディジタルサーボの機能は、スレッドモータ12を制御してピックアップ11の位置を制御する。速度制御の機能はディスクモータ10の回転速度を制御する。C1,C2誤り訂正機能は、C1,C2の2系列のリードソロモン符号を組み合わせたCIRC(Cross Interleaved Read-Solomon Code)という誤り訂正符号を用いて行うエラー訂正であり、その誤り訂正符号は前記フレームのパリティーに対応される。   The digital signal processing circuit 7 realizes functions such as a digital filter, EFM demodulation, C1, C2 error correction, digital servo, speed control and the like according to the operation program. The digital servo function controls the position of the pickup 11 by controlling the sled motor 12. The speed control function controls the rotational speed of the disk motor 10. The C1, C2 error correction function is error correction performed using an error correction code called CIRC (Cross Interleaved Read-Solomon Code) that combines two series of Reed-Solomon codes of C1, C2. It corresponds to the parity.

ピックアップ11から読み出された信号(高周波信号)はプリアンプ14により増幅され、ディジタル信号処理回路7に供給される。この読み出し信号は、ディジタル信号処理回路7によって実現されるディジタルフィルタによって2値化され、ディジタル信号とされる。このディジタル化された読み出し信号は、速度制御及びEFM復調機能によって順次処理される。速度制御機能は、ディスク1の回転速度を検出し、所定の速度でディスク1を回転させるようにディスクモータ10を制御することである。また、速度制御の機能は、読み出し信号から同期信号を検出する機能を含む。EFM復調機能は、速度制御機能で検出された同期信号をもとに、EFM変調されている読み出し信号を復調することである。また、復調された読み出し信号の各フレームに含まれるサブコードは、信号700によってマイクロコンピュータ5のSCI(シリアル・コミュニケーション・インタフェース)回路50に与えられる。マイクロコンピュータ5は、入力されたサブコードに対してその動作プログラムによりサブコード信号処理を行う。すなわち、与えられたサブコードを例えば98フレーム分を一単位として組み立てて、それに含まれる時間情報やインデックス情報などを認識し、ディスクモータ10やスレッドモータ12などを制御するための制御情報をディジタル信号処理回路7に与える。   A signal (high frequency signal) read from the pickup 11 is amplified by the preamplifier 14 and supplied to the digital signal processing circuit 7. This read signal is binarized by a digital filter realized by the digital signal processing circuit 7 to be a digital signal. This digitized read signal is sequentially processed by speed control and EFM demodulation functions. The speed control function is to detect the rotational speed of the disk 1 and control the disk motor 10 to rotate the disk 1 at a predetermined speed. The function of speed control includes a function of detecting a synchronization signal from a read signal. The EFM demodulation function is to demodulate the read signal that has been EFM-modulated based on the synchronization signal detected by the speed control function. Further, the subcode included in each frame of the demodulated read signal is given to the SCI (Serial Communication Interface) circuit 50 of the microcomputer 5 by the signal 700. The microcomputer 5 performs subcode signal processing on the input subcode by the operation program. That is, a given subcode is assembled, for example, for 98 frames as a unit, time information and index information included therein are recognized, and control information for controlling the disk motor 10 and the thread motor 12 is transmitted as a digital signal. This is given to the processing circuit 7.

ディジタル信号処理回路7で復調され且つC1,C2訂正が行われた記録情報はバス8を介してCD−ROMデコーダ9に与えられる。CD−ROMデコーダ9に与えられるデータは、例えば2336バイト毎の物理セクタで区切られた物理フォーマットが規格化されている。例えばCD−ROM規格では、各セクタは、同期信号12バイト、ヘッダ4バイト、及びユーザデータから成る。ユーザデータの領域に対しては、C1,C2誤り訂正によっても訂正できない誤りを訂正可能にするためのECCのような付加誤り訂正符号を有する規格がある。CD−ROMデコーダ9は、RAMコントローラ90、誤り訂正回路91、及び同期信号検出・デインタリーブ回路92を備え、バッファRAM16に接続されている。RAMコントローラ90は、バッファRAM16に対するメモリコントローラである。同期信号検出・デインタリーブ回路92はバス8から順次供給されるセクタ毎のデータから同期信号を検出してデインタリーブ処理を行う。誤り訂正回路90は、C1,C2訂正によっても訂正しきれない誤りのあるデータに対して付加誤り訂正符号により誤り訂正を行う。デインタリーブされ、また誤り訂正されたデータは、RAMコントローラ90の制御によって逐次バッファRAM16に保持される。バッファRAM16に保持された読み出しデータは、単数若しくは複数セクタ単位でATAPIインタフェース回路4からホスト装置3に与えられる。   The recording information demodulated by the digital signal processing circuit 7 and subjected to the C1, C2 correction is supplied to the CD-ROM decoder 9 via the bus 8. The data given to the CD-ROM decoder 9 is standardized in a physical format divided by physical sectors every 2336 bytes, for example. For example, in the CD-ROM standard, each sector includes a synchronization signal of 12 bytes, a header of 4 bytes, and user data. For the user data area, there is a standard having an additional error correction code such as ECC for making it possible to correct an error that cannot be corrected by C1, C2 error correction. The CD-ROM decoder 9 includes a RAM controller 90, an error correction circuit 91, and a synchronization signal detection / deinterleave circuit 92, and is connected to the buffer RAM 16. The RAM controller 90 is a memory controller for the buffer RAM 16. The synchronization signal detection / deinterleave circuit 92 detects a synchronization signal from the data for each sector sequentially supplied from the bus 8 and performs deinterleaving processing. The error correction circuit 90 performs error correction on the data having an error that cannot be corrected even by C1 and C2 correction, using an additional error correction code. The deinterleaved and error-corrected data is sequentially held in the buffer RAM 16 under the control of the RAM controller 90. The read data held in the buffer RAM 16 is given from the ATAPI interface circuit 4 to the host device 3 in units of single or plural sectors.

ATAPIインタフェース回路4は、コマンドバッファ40及びプロトコルシーケンス制御回路41を備える。プロトコルシーケンス制御回路41はATAPIインタフェースの規格に準拠したインタフェース制御を行う。ATAPIインタフェースは、パーソナルコンピュータの主体を成すマイクロプロセッサにハードディスク装置などをインタフェースするのに用いられている既存のIDEインタフェースコントローラを介してCD−ROMドライブ装置を制御可能にするためのインタフェース仕様である。このATAPIインタフェースにおいては、SCSI2の仕様に準拠したコマンドがパケットとしてCD−ROMドライブ装置に与えられ、これによって、CD−ROMドライブ装置が制御される。このようなATAPIインタフェースの仕様の詳細は、米国の外部記憶装置の業界団体SSF(Small Form Factor)Committeeの所属会社によって策定された「ATA Packet Interface for CD-ROM Revision 1.2」などがある。前記コマンドバッファ40はホスト装置3から送られてくるコマンドを保持する。   The ATAPI interface circuit 4 includes a command buffer 40 and a protocol sequence control circuit 41. The protocol sequence control circuit 41 performs interface control conforming to the ATAPI interface standard. The ATAPI interface is an interface specification for enabling the CD-ROM drive device to be controlled via an existing IDE interface controller used for interfacing a hard disk device or the like with a microprocessor constituting the main body of a personal computer. In this ATAPI interface, a command conforming to the specification of SCSI2 is given to the CD-ROM drive device as a packet, whereby the CD-ROM drive device is controlled. Details of the specifications of such an ATAPI interface include “ATA Packet Interface for CD-ROM Revision 1.2” formulated by a company belonging to the SSF (Small Form Factor) Committee of the US external storage device industry. The command buffer 40 holds commands sent from the host device 3.

《マイクロコンピュータ》
前記マイクロコンピュータ5は、中央処理装置(CPU)51、8ビットタイマ52,53、16ビットタイマ54、A/D変換器55、SCI回路50、フラッシュメモリ56、RAM57及び入出力ポート59を単結晶シリコンのような1個の半導体基板に備え、特に制限されないが、それら回路モジュールが内部バス58を共有して成る。電気的消去及び書き込み可能な不揮発性半導体メモリとしての前記フラッシュメモリ56は前記CPU51の動作プログラムや定数データを格納するためのメモリとされ、CPU51はその動作プログラムに従って、前記プリアンプ14、ディジタル信号処理回路7、CD−ROMデコーダ9、及びATAPIインタフェース回路4などを制御する。RAM57はCPU51のワーク領域等に利用されるワークRAMとされる。
<Microcomputer>
The microcomputer 5 includes a central processing unit (CPU) 51, 8-bit timers 52 and 53, a 16-bit timer 54, an A / D converter 55, an SCI circuit 50, a flash memory 56, a RAM 57, and an input / output port 59. The circuit modules are provided on a single semiconductor substrate such as silicon, and the circuit modules share the internal bus 58, although not limited thereto. The flash memory 56 as an electrically erasable and writable nonvolatile semiconductor memory is a memory for storing an operation program and constant data of the CPU 51. The CPU 51 follows the operation program according to the preamplifier 14, the digital signal processing circuit. 7, the CD-ROM decoder 9, the ATAPI interface circuit 4 and the like are controlled. The RAM 57 is a work RAM used for the work area of the CPU 51 and the like.

フラッシュメモリ56は、その記憶領域が所定のブロック(メモリブロック)単位で一括消去可能にされ、ブロック単位でデータを書き換え可能な構成を有する。そのようなフラッシュメモリは公知であるから、詳細な説明は省略するが、そのメモリセルトランジスタは、浮遊ゲートと制御ゲートを持つ2層ゲート構造の絶縁ゲート型電界効果トランジスタにより構成される。メモリセルトランジスタへの情報の書込み動作は、例えば制御ゲート及びドレインに高圧電圧を印加して、アバランシェ注入によりドレイン側から浮遊ゲートに電子を注入することで実現でき、この書込み動作によりメモリセルトランジスタは、その制御ゲートからみたしきい値電圧が、書込み動作を行わなかった消去状態のメモリセルトランジスタに比べて高くされる。一方消去動作は、例えばソースに高圧電圧を印加して、トンネル現象により浮遊ゲートからソース側に電子を引き抜くことによって実現され、それによってメモリセルトランジスタは、その制御ゲートからみたしきい値電圧が低くされる。書込み並びに消去状態の何れにおいてもメモリセルトランジスタのしきい値電圧は正の電圧レベルにされる。すなわちワード線から制御ゲートに与えられるワード線選択レベルに対して、書込み状態のしきい値電圧は高くされ、消去状態のしきい値電圧は低くされる。双方のしきい値電圧とワード線選択レベルとがそのような関係を持つことによって、選択トランジスタを採用することなく1個のトランジスタでメモリセルを構成することができる。メモリセルトランジスタに対する消去動作並びに書込み動作のための制御手法は、現在種々の態様が実現されており、ソースが共通接続されたメモリセルトランジスタに対して一括消去を行うもの、或いは、制御ゲートが共通接続されたメモリセルトランジスタに対して一括消去を行うものがある。そのような態様によってブロック単位での一括消去が可能にされている。消去ブロックの指定は消去ブロック指定レジスタに対する制御データの設定で指示することができる。また、フラッシュメモリに対する動作、すなわち、消去、消去ベリファイ、書き込み、書き込みベリファイ、読み出し等の動作は、フラッシュメモリのモードレジスタに対する制御情報の設定で指示される。それら設定は、中央処理装置51がその動作プログラムに従って行う。   The flash memory 56 has a configuration in which the storage area can be erased in batches in units of predetermined blocks (memory blocks) and data can be rewritten in units of blocks. Since such a flash memory is publicly known, a detailed description thereof is omitted, but the memory cell transistor is constituted by an insulated gate field effect transistor having a two-layer gate structure having a floating gate and a control gate. The information write operation to the memory cell transistor can be realized, for example, by applying a high voltage to the control gate and drain and injecting electrons from the drain side to the floating gate by avalanche injection. The threshold voltage viewed from the control gate is made higher than that of the memory cell transistor in the erased state where the write operation is not performed. On the other hand, the erase operation is realized, for example, by applying a high voltage to the source and pulling electrons from the floating gate to the source side by a tunnel phenomenon, whereby the threshold voltage seen from the control gate of the memory cell transistor is low. It will be lost. In both the write and erase states, the threshold voltage of the memory cell transistor is set to a positive voltage level. That is, the threshold voltage in the written state is increased and the threshold voltage in the erased state is decreased with respect to the word line selection level applied from the word line to the control gate. Since both the threshold voltages and the word line selection level have such a relationship, a memory cell can be configured with a single transistor without employing a selection transistor. Various control methods for erasing and writing operations on the memory cell transistors are currently realized, and the memory cell transistors whose sources are commonly connected are collectively erased, or the control gates are common. There is one that performs batch erasure on connected memory cell transistors. By such a mode, collective erasure is possible in units of blocks. The designation of the erase block can be instructed by setting control data in the erase block designation register. In addition, operations on the flash memory, that is, operations such as erase, erase verify, write, write verify, and read are instructed by setting control information for the mode register of the flash memory. These settings are made by the central processing unit 51 according to the operation program.

前記内部バス58は、アドレス、データ及び制御信号のためのバスを総称する。内部バス8に含まれるデータバスやアドレスバスは前記CD−ROMデコーダ9及びATAPIインタフェース回路4に接続される。また、CPU51が前記CD−ROMデコーダ9及びATAPIインタフェース回路4をアクセスするためのアクセス制御信号510は、特に制限されないが、中央処理装置51から直接出力されるように図示されており、そのようなアクセス制御信号510は、リード信号、ライト信号、チップイネーブル信号などとされる。これによってCPU51は、コマンドバッファ40をアクセスし、また、RAMコントローラ90に制御情報を設定し、またRAMコントローラ90を介し或いは直接、バッファRAM16をアクセスすることができる。   The internal bus 58 is a general term for buses for addresses, data and control signals. A data bus and an address bus included in the internal bus 8 are connected to the CD-ROM decoder 9 and the ATAPI interface circuit 4. Further, the access control signal 510 for the CPU 51 to access the CD-ROM decoder 9 and the ATAPI interface circuit 4 is not particularly limited, but is shown to be directly output from the central processing unit 51. The access control signal 510 is a read signal, a write signal, a chip enable signal, or the like. As a result, the CPU 51 can access the command buffer 40, set control information in the RAM controller 90, and access the buffer RAM 16 via the RAM controller 90 or directly.

前記16ビットタイマ54はディスク1に対するピックアップ11の線速度を学習するための情報を得る。   The 16-bit timer 54 obtains information for learning the linear velocity of the pickup 11 with respect to the disk 1.

図1において93で示されるものはCD−ROMデコーダ9からCPU51に与えられる割込み信号であり、例えば前記付加誤り訂正コードによっても訂正不能な誤りを生じたことを通知する割込み信号などとされる。42で示されるものはATAPIインタフェース回路4からCPU51に与えられる割込み信号であり、例えば、ホスト装置3からコマンドバッファ40にコマンドが供給されたことを通知する割込み信号である。信号501で示されるものはプリアンプ14の特性を制御するための制御情報であり、502で示されるものはディジタル信号処理回路7におけるディジタルフィルタ、C1,C2誤り訂正、ディジタルサーボ、及び速度制御の各機能を制御するための制御情報である。それら情報は入出力ポート59から出力される。   1 is an interrupt signal given from the CD-ROM decoder 9 to the CPU 51, for example, an interrupt signal for notifying that an error that cannot be corrected by the additional error correction code has occurred. What is indicated by 42 is an interrupt signal given from the ATAPI interface circuit 4 to the CPU 51, for example, an interrupt signal notifying that a command has been supplied from the host device 3 to the command buffer 40. What is indicated by a signal 501 is control information for controlling the characteristics of the preamplifier 14, and what is indicated by 502 is a digital filter, C1, C2 error correction, digital servo, and speed control in the digital signal processing circuit 7. This is control information for controlling the function. Such information is output from the input / output port 59.

《再生速度の転換に応じた回路特性の変更》
CD−ROMドライブ装置2において、記録情報再生速度(即ちディスク1からの記録情報の読み取り速度)の高速化は、CD−ROMドライブ装置2の内部回路の特性変更を伴う。即ち、第1には、ディスクモータ10やスレッドモータ12の回転速度などを高速化しなければならない。第2に、それに応じてディジタルサーボやディジタルフィルタの係数を変更しなければならない。第3に、読み取り速度の高速化によってC1,C2誤り訂正に費やせる時間が短くされるので、C1,C2誤り訂正能力を変更(低下)したプログラムを採用しなければならない。例えば4倍速のとき最大6シンボル訂正まで可能なとき、6倍速ではそれを最大4シンボル訂正まで訂正能力を下げるようにする。第4に、読み取り速度の高速化によって読み取り信号周波数が高くなるのでプリアンプ14のゲインや周波数帯域等の特性を変更しなければならない。第1乃至第3の変更点に対しては、当然ディジタル信号処理回路7の動作周波数も高速化しなければならない。第1乃至第3の修正点に対する対処はハードウェアの変更によらず、CPU51の動作プログラムの変更によって容易に対処できる。第4の修正点に対しては、プリアンプ14が有する図示しない加算及び波形等化器の周波数特性を4倍速、6倍速、8倍速そしてそれ以上に最適に対応できるよう切り換える回路を予め持つことにより、その特性をCPU51の動作プログラムによって切り換えて対処できる。斯る周波数特性の切換えは、加算及び波形等化された信号の2値化精度を向上させるために必要とされる。例えば、オペアンプを主体とする加算回路の帰還系に配置した波形等化フィルタの抵抗及び容量の値をスイッチを介して選択する構成によって、周波数特性を最適に切り換えることができる。
《Circuit characteristics change according to playback speed change》
In the CD-ROM drive device 2, the increase in the recorded information reproduction speed (that is, the read speed of the recorded information from the disk 1) involves a change in the characteristics of the internal circuit of the CD-ROM drive device 2. That is, first, the rotational speed of the disk motor 10 and the sled motor 12 must be increased. Secondly, the coefficients of the digital servo and digital filter must be changed accordingly. Third, since the time that can be spent for C1, C2 error correction is shortened by increasing the reading speed, a program in which the C1, C2 error correction capability is changed (decreased) must be adopted. For example, when a maximum of 6 symbol correction is possible at 4 × speed, the correction capability is reduced to a maximum of 4 symbol correction at 6 × speed. Fourth, since the read signal frequency is increased by increasing the reading speed, characteristics such as the gain and frequency band of the preamplifier 14 must be changed. Of course, for the first to third changes, the operating frequency of the digital signal processing circuit 7 must also be increased. The first to third correction points can be easily dealt with by changing the operation program of the CPU 51 without changing the hardware. For the fourth correction point, a circuit for switching the frequency characteristics of the adder and waveform equalizer (not shown) of the preamplifier 14 so as to optimally cope with the 4 × speed, 6 × speed, 8 × speed, and more can be provided in advance. The characteristics can be switched by the operation program of the CPU 51. Such switching of the frequency characteristics is required in order to improve the binarization accuracy of the added and waveform-equalized signal. For example, the frequency characteristic can be optimally switched by a configuration in which the resistance and capacitance values of a waveform equalizing filter arranged in a feedback system of an adder circuit mainly composed of an operational amplifier are selected via a switch.

CD−ROMドライブ装置2における記録情報再生動作及び外部インタフェース動作は、CPU51がアプリケーションプログラムに含まれる記録情報再生制御プログラム及びインタフェース制御プログラムを実行して制御する。例えば記録情報再生速度を4倍速とする場合には4倍速用の記録情報再生制御プログラムを採用し、記録情報再生速度を8倍速とする場合には8倍速用の記録情報再生制御プログラムを採用する。この説明において、記録情報再生制御プログラムとは、ディスクモータなどに対するサーボ制御、ディジタル信号処理回路7に対する動作制御、CD−ROMデコーダ9等のための動作プログラムを総称する。前記インタフェース制御プログラムとは、ATAPIインタフェース回路4に対するコマンドやデータのインタフェース制御などを実現する処理プログラムを総称する。したがって、CD−ROMドライブ装置2において、アプリケーションプログラムは、ディスクに記録された情報を再生してホスト装置3に再生情報を与えるための処理プログラムを総称する。   The recorded information reproduction operation and the external interface operation in the CD-ROM drive device 2 are controlled by the CPU 51 executing a recorded information reproduction control program and an interface control program included in the application program. For example, when the recording information reproduction speed is set to 4 × speed, a recording information reproduction control program for 4 × speed is adopted, and when the recording information reproduction speed is set to 8 × speed, a recording information reproduction control program for 8 × speed is adopted. . In this description, the recorded information reproduction control program is a generic term for servo control for a disk motor, operation control for the digital signal processing circuit 7, operation program for the CD-ROM decoder 9 and the like. The interface control program is a generic term for a processing program that realizes command and data interface control for the ATAPI interface circuit 4. Therefore, in the CD-ROM drive device 2, the application program is a generic name for a processing program for reproducing information recorded on the disc and providing the reproduction information to the host device 3.

《ユーザプログラム領域の書き換えによる再生速度転換への対処》
図2に例示されるように、前記フラッシュメモリ56はその記憶領域にリブートプログラム領域560とアプリケーションプログラム領域(以下ユーザプログラム領域とも称する)561とを有する。ユーザプログラム領域561はアプリケーションプログラムM2を格納するための領域とされる。前記リブートプログラム領域560は、入力制御プログラムM1、消去/書込み制御プログラムM3,転送制御プログラムM4などを格納する領域とされる。
《Coping with playback speed change by rewriting user program area》
As illustrated in FIG. 2, the flash memory 56 includes a reboot program area 560 and an application program area (hereinafter also referred to as a user program area) 561 in its storage area. The user program area 561 is an area for storing the application program M2. The reboot program area 560 is an area for storing an input control program M1, an erase / write control program M3, a transfer control program M4, and the like.

入力制御プログラムM1は、外部からATAPIインタフェース回路4に供給された書込み若しくは書き換え対象とされる全部又は一部のアプリケーションプログラムを例えばバッファRAM16に取り込むために前記CPU51が実行するインタフェース用のプログラムとされる。消去/書込み制御プログラムM3は、バッファRAM16に取り込まれた前記全部又は一部のアプリケーションプログラムを前記ユーザプログラム領域561に書込み制御するためにCPU51が実行する書き換え制御プログラムとされる。転送制御プログラムは、リブートプログラム領域560に格納されている消去/書込み制御プログラムM3をCPUがワークRAM57に転送制御するプログラムとされる。CPU51はワークRAM57に転送された消去/書込み制御プログラムM3を実行して、ユーザプログラム領域561にバッファRAM16内の全部又は一部のアプリケーションプログラムM2を書き込みすることになる。   The input control program M1 is an interface program executed by the CPU 51 in order to load all or a part of application programs to be written or rewritten supplied to the ATAPI interface circuit 4 from the outside into the buffer RAM 16, for example. . The erase / write control program M3 is a rewrite control program that is executed by the CPU 51 in order to write-control all or part of the application programs fetched into the buffer RAM 16 in the user program area 561. The transfer control program is a program in which the CPU controls transfer of the erase / write control program M3 stored in the reboot program area 560 to the work RAM 57. The CPU 51 executes the erase / write control program M3 transferred to the work RAM 57, and writes all or part of the application program M2 in the buffer RAM 16 to the user program area 561.

前記リブートプログラム領域560は更に、ベクタアドレスが格納されるベクタテーブル560Aとそのベクタテーブル560Aのベクタアドレスによって参照される所定のプログラムの格納領域560Bとを含む。前記ベクタテーブル560Aは、リセットベクタBCT1及びATAPI割込みベクタBCT2などを含む。プログラムの格納領域560Bはリセット処理プログラムPRG1及びATAPI割込み処理プログラムPRG2などを含む。   The reboot program area 560 further includes a vector table 560A in which vector addresses are stored and a storage area 560B for a predetermined program referred to by the vector addresses in the vector table 560A. The vector table 560A includes a reset vector BCT1, an ATAPI interrupt vector BCT2, and the like. The program storage area 560B includes a reset processing program PRG1 and an ATAPI interrupt processing program PRG2.

前記リセット処理プログラムPRG1は前記リセットベクタBCT1によって参照される。即ち、パワーオンリセット又はハードウェア若しくはソフトウェアリセットの指示があると、CPU51は前記リセットベクタBCT1を読込み、それによって指示される前記リセット処理プログラムPRG1の先頭アドレスにその処理を分岐させる。   The reset processing program PRG1 is referred to by the reset vector BCT1. That is, when there is a power-on reset or hardware or software reset instruction, the CPU 51 reads the reset vector BCT1 and branches the process to the start address of the reset processing program PRG1 instructed thereby.

図3にはリセット処理のフローチャートが示される。リセット処理では先ず内部の初期化若しくは内部回路の初期設定が行われる(S1)。特にマイクロコンピュータ5はその後、アプリケーションプログラムのオンボード書き込み若しくは書き換えを行うか否か、即ちユーザリブートモードか否かを判定する(S2)。この例では、ユーザリブートモードの起動条件は、特に制限されないが、CD−ROMドライブ装置2の電源投入時に所定のスイッチ例えばディスクのイジェクトスイッチを押すこととされる。イジェクトスイッチなどを操作して指示されるユーザリブートモードを、特に強制リブートモードとも称する。前記強制リブートモードでなければ、前記アプリケーションプログラムM2の実行に移る(S3)。前記ユーザリブートモードの場合には、リブートフラグがセット状態にされ(S4)、その後、ATAPI割込みを待つことになる(S5)。リブートフラグは例えばCPU51に含まれる図示を省略するフラグ若しくはコントロールレジスタの所定の1ビットが割り当てられる。   FIG. 3 shows a flowchart of the reset process. In the reset process, first, internal initialization or internal circuit initialization is performed (S1). In particular, the microcomputer 5 thereafter determines whether or not to perform on-board writing or rewriting of the application program, that is, whether or not the user reboot mode is set (S2). In this example, the activation condition in the user reboot mode is not particularly limited, but a predetermined switch, for example, an eject switch of a disk is pressed when the CD-ROM drive device 2 is turned on. The user reboot mode instructed by operating the eject switch or the like is also referred to as a forced reboot mode. If it is not the forced reboot mode, the application program M2 is executed (S3). In the case of the user reboot mode, the reboot flag is set (S4), and then an ATAPI interrupt is waited (S5). For example, a flag (not shown) included in the CPU 51 or a predetermined 1 bit of the control register is assigned to the reboot flag.

前記ATAPI割込み処理プログラムPRG2は前記ATAPI割込みベクタBCT2によって参照される。すなわち、ATAPIプロトコルにおいてATAPIインタフェース回路4に供給される一連の情報の先頭にはコマンドが配置されている。コマンドはコマンドバッファ40に取り込まれる。コマンドがコマンドバッファ40に取り込まれると、ATAPIインタフェース回路4は割込み信号42によってその旨をCPU51に通知する。CPU51はATAPI割込みを受け付けると、ATAPI割込みベクタBCT2を参照してATAPI割込み処理プログラムPRG2にその処理を分岐させる。   The ATAPI interrupt processing program PRG2 is referred to by the ATAPI interrupt vector BCT2. That is, a command is arranged at the head of a series of information supplied to the ATAPI interface circuit 4 in the ATAPI protocol. The command is taken into the command buffer 40. When a command is fetched into the command buffer 40, the ATAPI interface circuit 4 notifies the CPU 51 of this by an interrupt signal 42. When receiving the ATAPI interrupt, the CPU 51 refers to the ATAPI interrupt vector BCT2 and branches the process to the ATAPI interrupt processing program PRG2.

図4にはATAPI割込み処理プログラムのフローチャートが示される。CPU51は、ATAPI割込みがあると、コマンドバッファ40からコマンドをリードし、それを解読する(S10)。そして、前記リブートフラグを検査する。リブートフラグがセット状態でない場合には、そのコマンドの解読結果に従って、アプリケーションプログラムM2に含まれる所定の処理ルーチンを実行し、例えばディスク1から記録情報を読み出すための記録情報再生制御を開始する(S12)。前記リブートフラグがセット状態の場合に、そのコマンドが所定のコマンド(ベンダーユニークコマンド)である場合には、記録情報再生制御プログラムをオンボード書き込みするためのリブートプログラムが実行される。   FIG. 4 shows a flowchart of the ATAPI interrupt processing program. When there is an ATAPI interrupt, the CPU 51 reads a command from the command buffer 40 and decodes it (S10). Then, the reboot flag is checked. If the reboot flag is not in the set state, a predetermined processing routine included in the application program M2 is executed according to the result of decoding the command, and recording information reproduction control for reading out recording information from, for example, the disk 1 is started (S12). ). If the reboot flag is set and the command is a predetermined command (vendor unique command), a reboot program for on-board writing of the recorded information reproduction control program is executed.

この例において、前記リブートプログラムの実行とは、前記CPU51が、前記入力制御プログラムM1を実行して、ホスト装置3からATAPIインタフェース回路4に供給された記録情報再生制御プログラムをバッファRAM16に格納すると共に、前記転送制御プログラムM4を実行して消去/書込み制御プログラムM3を前記ワークRAM57に転送した後、ワークRAM57が保有する消去/書込み制御プログラムM3を実行して、バッファRAM16内の全部又は一部のアプリケーションプログラムをユーザプログラム領域561に書き込み制御することである。尚、前記ベンダーユニークコマンドは、特に制限されないが、ATAPIインタフェース仕様において規格化されていない(若しくは未使用の)コード情報とされる。   In this example, the execution of the reboot program means that the CPU 51 executes the input control program M1 and stores the recorded information reproduction control program supplied from the host device 3 to the ATAPI interface circuit 4 in the buffer RAM 16. Then, after executing the transfer control program M4 and transferring the erase / write control program M3 to the work RAM 57, the erase / write control program M3 held by the work RAM 57 is executed, and all or part of the buffer RAM 16 is stored. The application program is controlled to be written in the user program area 561. The vendor unique command is not particularly limited, but is code information that is not standardized (or unused) in the ATAPI interface specification.

図2において、ユーザプログラム領域561に格納されるアプリケーションプログラムM2は、メインプログラムとサブルーチンに分けられた処理プログラム及び分岐先サブルーチンのプログラムアドレスを与える2次ベクタテーブルなどによって構成されている。図3のS2においてユーザリブートモードでないことが判定された後、CPU51の図示しないプログラムカウンタは、アプリケーションプログラムM2における処理プログラムの先頭アドレスに強制され、これによって、そのプログラムアドレスを起点にアプリケーションプログラムを実行する。   In FIG. 2, the application program M2 stored in the user program area 561 includes a processing program divided into a main program and a subroutine, and a secondary vector table for giving a program address of a branch destination subroutine. After determining that it is not the user reboot mode in S2 of FIG. 3, the program counter (not shown) of the CPU 51 is forced to the start address of the processing program in the application program M2, thereby executing the application program from the program address as a starting point. To do.

前記フラッシュメモリ56は、図5に例示されるように、一括消去単位とされる複数個のメモリブロック(BLK0〜BLKn)を有する。このとき、前記リブートプログラム領域560及びユーザプログラム領域561を、相互に異なるメモリブロックに割り当てる。例えば、メモリブロックBLK0がリブートプログラム領域560に割り当てられている。   As illustrated in FIG. 5, the flash memory 56 includes a plurality of memory blocks (BLK0 to BLKn) serving as a batch erase unit. At this time, the reboot program area 560 and the user program area 561 are allocated to different memory blocks. For example, the memory block BLK0 is allocated to the reboot program area 560.

消去/書込み制御プログラムM3はユーザプログラム領域561だけを書込み対象とする。即ち、図5に従えば、消去/書込み制御プログラムM3は、その制御動作上、消去/書込みブロック指定レジスタに対して、メモリブロックBLK0を消去・書込み対象とすることはない。換言すれば、消去/書込み制御プログラムM3は、リブートプログラム領域560を書込み対象とはしない。この意味において、リブートプログラム領域560の書き換えが阻止されている。   The erase / write control program M3 sets only the user program area 561 as a write target. That is, according to FIG. 5, the erase / write control program M3 does not set the memory block BLK0 as an erase / write target for the erase / write block designation register in the control operation. In other words, the erase / write control program M3 does not set the reboot program area 560 as a write target. In this sense, rewriting of the reboot program area 560 is prevented.

前記リブートプログラム領域560が保有しているプログラムは、ATAPIインタフェース回路4を介して書き換えすることができないから、初期的な書込みの信頼性が高くなければならない。それを保証するには、特に制限されないが、マイクロコンピュータの製造工程でそれらプログラムを書き込むことが望ましい。   Since the program held in the reboot program area 560 cannot be rewritten through the ATAPI interface circuit 4, the initial writing reliability must be high. In order to guarantee this, although not particularly limited, it is desirable to write these programs in the manufacturing process of the microcomputer.

図6にはマイクロコンピュータの製造工程が概略的に示される。例えば多数のマスクパターンを利用して単結晶シリコンウェーハ上にマイクロコンピュータを構成する回路を集積したウェーハを製作する(ステップP1)。製作されたウェーハに対してウェーハ検査が行われ(ステップP2)、そしてウェーハ上の回路機能に対するプローブ検査が行われ、ウェーハ上のマイクロコンピュータチップに対する良否が判定される(ステップP3)。プローブ検査の後、ダイシングによってウェーハから複数個のマイクロコンピュータチップが切り出され、良品チップがボンディングやパッケージングの工程を経て組み立てられる(ステップP4)。組み立て後、雰囲気温度や動作電圧を許容限度の上限としてマイクロコンピュータを動作させ、近い将来に生ずるであろう不良を予じめ顕在化させるためのエージングを行なう(ステップP5)。エージングの後、テスタを使ってマイクロコンピュータLSIの選別を行なう(ステップP6)。この選別工程には、内蔵フラッシュメモリ56に対する消去、書込みテストが含まれる。この工程を利用して、リブートプログラム領域に前記消去/書込み制御プログラム等のリブートプログラムの書込みを行なう。書込みされたリブートプログラムに対しては、その動作テストを併せて行なうことも容易である。選別工程を経た後、マイクロコンピュータLSIはストックされ、出荷前に出荷検査が行なわれ(ステップP7)、検査で不都合のないものが出荷される(ステップS8)。   FIG. 6 schematically shows the manufacturing process of the microcomputer. For example, a wafer in which circuits constituting a microcomputer are integrated on a single crystal silicon wafer using a large number of mask patterns is manufactured (step P1). A wafer inspection is performed on the manufactured wafer (step P2), and a probe inspection for a circuit function on the wafer is performed to determine whether the microcomputer chip on the wafer is good or bad (step P3). After the probe inspection, a plurality of microcomputer chips are cut out from the wafer by dicing, and non-defective chips are assembled through bonding and packaging processes (step P4). After the assembly, the microcomputer is operated with the ambient temperature and the operating voltage as the upper limit of the allowable limit, and aging is performed to anticipate and reveal defects that will occur in the near future (step P5). After aging, the microcomputer LSI is selected using a tester (step P6). This selection process includes an erasing / writing test for the built-in flash memory 56. Using this process, a reboot program such as the erase / write control program is written in the reboot program area. It is easy to perform an operation test on the written reboot program. After the selection process, the microcomputer LSI is stocked, a shipping inspection is performed before shipment (step P7), and an inspection-free product is shipped (step S8).

上述の様に、消去/書込み制御プログラムM3はリブートプログラム領域560を消去/書込み対象とはしない。これは所謂、ソフトウェアプロテクトである。CPUが暴走したり或いはユーザプログラムの不備によって、リブートプログラム領域560が不所望に消去・書込みされないようにするために、ハードウェアプロテクトの手段を備えることができる。   As described above, the erase / write control program M3 does not set the reboot program area 560 as an erase / write target. This is so-called software protection. In order to prevent the reboot program area 560 from being erased and written undesirably due to the runaway of the CPU or inadequate user program, a hardware protection means can be provided.

図7にはハードウェアプロテクトのための一例が示される。図7において562は一括消去対象とするメモリブロックを指定する消去ブロック指定レジスタである。例えば図5に対応させれば、消去ブロック指定レジスタ562は、メモリブロックBLK0〜BLKnに1対1対応される制御ビットES0〜ESnを有し、制御ビットES0〜ESnは論理値1によって対応メモリブロックの消去をフラッシュメモリ56に指示する。563は、消去ブロック指定レジスタ562による消去指示に拘らず消去を禁止するメモリブロックを指定するための消去禁止ブロック指定レジスタである。例えば図5に対応させれば、消去禁止ブロック指定レジスタ563は、メモリブロックBLK0〜BLKnに1対1対応される制御ビットIH0〜IHnを有し、制御ビットIH0〜IHnは論理値0によって対応メモリブロックの消去を禁止する。消去ブロック指定レジスタ562と消去禁止ブロック指定レジスタ563との対応ビットは夫々2入力アンドゲートAND0〜ANDnに供給され、アンドゲートAND0〜ANDnの出力が、フラッシュメモリ56に対する消去ブロック指示情報として供給される。消去ブロック指定レジスタ562及び消去禁止ブロック指定レジスタ563の双方に対するデータ設定はCPU51が行なう。特に、消去禁止ブロック指定レジスタ563に対するデータ設定はイニシャライズリセットで行なうことができる。例えば、IH0を論理値0に設定する。この構成によれば、消去/書込み制御プログラムM3の実行中にCPU51が暴走したとき、レジスタ563の値が不所望に書き換えられない限り、レジスタ562の値が変化されても、ブートプログラム領域560は消去されない。   FIG. 7 shows an example for hardware protection. In FIG. 7, reference numeral 562 denotes an erase block designation register for designating a memory block to be collectively erased. For example, in correspondence with FIG. 5, the erase block designation register 562 has control bits ES0 to ESn corresponding to the memory blocks BLK0 to BLKn on a one-to-one basis. Is erased to the flash memory 56. Reference numeral 563 denotes an erase prohibition block designation register for designating a memory block for which erase is prohibited regardless of an erase instruction by the erase block designation register 562. For example, in correspondence with FIG. 5, the erase prohibition block designation register 563 has control bits IH0 to IHn corresponding to the memory blocks BLK0 to BLKn on a one-to-one basis. Block erasure is prohibited. Corresponding bits of the erase block designation register 562 and the erase prohibition block designation register 563 are respectively supplied to the 2-input AND gates AND0 to ANDn, and the outputs of the AND gates AND0 to ANDn are supplied as erase block instruction information to the flash memory 56. . The CPU 51 performs data setting for both the erase block designation register 562 and the erase prohibition block designation register 563. In particular, data setting for the erasure prohibition block designation register 563 can be performed by an initialization reset. For example, IH0 is set to logical value 0. According to this configuration, when the CPU 51 runs out of control during the execution of the erase / write control program M3, the boot program area 560 is stored in the boot program area 560 even if the value of the register 562 is changed unless the value of the register 563 is rewritten undesirably. It will not be erased.

図8にはハードウェアプロテクトを実現するための別の例が示されている。図8において562は図7と同じ消去ブロック指定レジスタである。564は、マイクロコンピュータ5の外部端子T0〜Tiから供給されるデータをデコードして、メモリブロック単位の消去禁止信号を出力する。前記消去ブロック指定レジスタ562は内部バス58を介しCPU51によってデータ設定される。内部バス58と消去ブロック指定レジスタ562の入力との間には、2入力アンドゲートAND0〜ANDnが配置されている。アンドゲートAND0〜ANDnの一方の入力には、内部バス58の信号線がビット毎に供給され、他方の入力には前記消去禁止信号がビット毎に供給される。したがって、論理値0の消去禁止信号が供給されるアンドゲートの出力は常時論理値0にされるから、そのアンドゲートの出力に対応される消去ブロック指定レジスタの制御ビットは論理値1(消去指示レベル)にされることはない。例えば、メモリブロックBLK0がリブートプログラム領域に割り当てられるとき、アンドゲートAND0の出力が常時論理値0になるように外部端子T0〜Tiをプルアップ又はプルダウンしておけば、CPU51が暴走した場合もリブートプログラム領域560が書き換えられる虞は全くない。   FIG. 8 shows another example for realizing hardware protection. In FIG. 8, reference numeral 562 denotes the same erase block designation register as in FIG. 564 decodes data supplied from the external terminals T0 to Ti of the microcomputer 5 and outputs an erase prohibition signal in units of memory blocks. The erase block designation register 562 is set by the CPU 51 via the internal bus 58. Two-input AND gates AND0 to ANDn are arranged between the internal bus 58 and the input of the erase block designation register 562. The signal line of the internal bus 58 is supplied for each bit to one input of the AND gates AND0 to ANDn, and the erase prohibition signal is supplied for each bit to the other input. Therefore, since the output of the AND gate to which the erase inhibit signal having the logical value 0 is supplied is always set to the logical value 0, the control bit of the erase block designation register corresponding to the output of the AND gate has the logical value 1 (erase instruction). Level). For example, when the memory block BLK0 is assigned to the reboot program area, if the external terminals T0 to Ti are pulled up or pulled down so that the output of the AND gate AND0 is always at the logical value 0, the CPU 51 can be rebooted even if it runs out of control. There is no possibility that the program area 560 is rewritten.

以上説明したように、前記マイクロコンピュータ5がATAPIインタフェース回路4やCD−ROMデコーダ9などと一緒に配線基板(ボード)に実装されて構成されたCD−ROMドライブ装置2において、リセット時に前記強制リブートモードを設定することにより、当該マイクロコンピュータ5のCPU51は内蔵フラッシュメモリ56のリブートプログラムを実行して、ユーザプログラム領域の561のアプリケーションプログラムM2の全部又は一部を、ホスト装置3からATAPIインタフェース回路4に供給される新たなプログラムに更新することができる。これにより、今後極めて短いサイクルで生ずるであろう、再生速度転換時期に、再生速度の向上に応じて必要な修正を加えたアプリケーションプログラムM2の全部又は一部を書き換えるだけで、CD−ROMドライブ装置2におけるそのような再生速度の転換に即座に若しくはタイムリーに対応できることになる。アプリケーションプログラムの書き換え若しくは更新は、アプリケーションプログラムの全部であることに限定されず、その一部であってもよい。アプリケーションプログラムに含まれる再生制御プログラムだけ書き換え対象としてもよい。要するに、必要な修正がアプリケーションプログラムの全体に及べばその全体を、また、必要な修正がアプリケーションプログラムの一部で済めば当該一部を書き換えればよい。   As described above, in the CD-ROM drive device 2 in which the microcomputer 5 is mounted on a wiring board (board) together with the ATAPI interface circuit 4 and the CD-ROM decoder 9, the forced reboot is performed at reset. By setting the mode, the CPU 51 of the microcomputer 5 executes the reboot program in the built-in flash memory 56, and all or part of the application program M 2 in the user program area 561 is transferred from the host device 3 to the ATAPI interface circuit 4. Can be updated to a new program. As a result, the CD-ROM drive device can be rewritten only by rewriting all or part of the application program M2 with the necessary correction according to the improvement of the reproduction speed at the reproduction speed change timing which will occur in an extremely short cycle in the future. 2 can respond to such a change in the reproduction speed immediately or in a timely manner. The rewriting or updating of the application program is not limited to the entire application program, but may be a part thereof. Only the playback control program included in the application program may be rewritten. In short, if the necessary correction reaches the entire application program, the entire program may be rewritten. If the necessary correction is performed on a part of the application program, the part may be rewritten.

このとき、前記フラッシュメモリ56の書き換え対象はユーザプログラム領域561とされる。リブートプログラム領域560は書き換え対象ではないから、フラッシュメモリ56の書き換え動作途中で異常があった場合にも、再度リブートプログラムを実行すれば、すぐにユーザプログラム領域561に対する再書き込み動作に移行でき、書き換え途中における異常状態からの復旧に手間取ることはない。   At this time, the rewrite target of the flash memory 56 is the user program area 561. Since the reboot program area 560 is not a target for rewriting, even if there is an abnormality during the rewriting operation of the flash memory 56, if the reboot program is executed again, it can immediately shift to the rewriting operation for the user program area 561, and rewriting There is no hassle to recover from an abnormal condition on the way.

CD−ROMドライブ装置2においてアプリケーションプログラムM2を格納しているのは前記フラッシュメモリ56だけであるから、書き換えの制御手順を簡素化でき、しかも書き換え時間も短縮できる。更に、アプリケーションプログラムとリブートプログラムは一緒にフラッシュメモリ56に格納されるから、夫々のプログラムが別々のメモリに格納される場合に比べて、CD−ROMドライブ装置2の物理的な規模の増大を極力抑制して上記効果を得ることができる。   Since only the flash memory 56 stores the application program M2 in the CD-ROM drive device 2, the rewrite control procedure can be simplified and the rewrite time can be shortened. Furthermore, since the application program and the reboot program are stored together in the flash memory 56, the physical scale of the CD-ROM drive device 2 is increased as much as possible as compared with the case where each program is stored in a separate memory. It is possible to obtain the above effect by suppressing.

上記の例ではリブートプログラムは、入力制御プログラム、書き換え制御プログラム及び転送制御プログラムを含んでいる。したがって、ユーザプログラム領域561の更新に当たって、ホスト装置3は前記フラッシュメモリ56に対する書込みコマンドに続けてユーザプログラム領域561に書き込むべきアプリケーションプログラムをCD−ROMドライブ装置2に転送すればよく、書き換え制御プログラムを転送する必要はないから、ユーザプログラム領域561を更新する処理時間を更に短縮することができる。   In the above example, the reboot program includes an input control program, a rewrite control program, and a transfer control program. Therefore, in updating the user program area 561, the host apparatus 3 may transfer the application program to be written in the user program area 561 following the write command to the flash memory 56 to the CD-ROM drive apparatus 2, and the rewrite control program can be changed. Since it is not necessary to transfer, the processing time for updating the user program area 561 can be further shortened.

前記リブートプログラム領域560は、リセットベクタBCT1とリセット処理プログラムPRG1の格納領域とを有している。このとき、前記CPU51は、リセットの指示に応答して前記リセットベクタBCT1を参照することにより前記リセット処理プログラムPRG1の実行に移行する。リセット処理プログラムPGR1の実行途上ではイジェクトスイッチが押されたか否かによって、ホスト装置3からの書き換えコマンドに応答し得る強制リブートモードであるか否かを判定する。強制リブートモードのときは、前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移し、強制リブート状態でないときは前記ユーザプログラム領域のアプリケーションプログラムを実行可能な状態に遷移する。したがって、フラッシュメモリ56の書き換えに際して異常が起きても、リセットをかけて強制リブートモードの指示を行えば、その異常から容易に復旧して、フラッシュメモリ56を書き換える処理に戻ることができる。この点においても、ユーザプログラム領域を更新する処理時間を短縮することができる。   The reboot program area 560 has a reset vector BCT1 and a storage area for the reset processing program PRG1. At this time, the CPU 51 shifts to execution of the reset processing program PRG1 by referring to the reset vector BCT1 in response to a reset instruction. During the execution of the reset processing program PGR1, it is determined whether or not it is a forced reboot mode that can respond to a rewrite command from the host device 3 depending on whether or not the eject switch has been pressed. When in the forced reboot mode, the process waits for the input of the rewrite command and shifts to the execution of the reboot program, and when not in the forced reboot state, shifts to a state where the application program in the user program area can be executed. Therefore, even if an abnormality occurs during rewriting of the flash memory 56, if the forced reboot mode is instructed by resetting, it is possible to easily recover from the abnormality and return to the process of rewriting the flash memory 56. Also in this point, the processing time for updating the user program area can be shortened.

前記フラッシュメモリ56は一括消去単位とされる複数個のメモリブロックBLK0〜BLMnを有している。このとき、前記リブートプログラム領域と前記ユーザプログラム領域とを相互に異なるメモリブロックに割り当てているから、ユーザプログラム領域561に対する消去動作を効率化できる。換言すれば、ユーザプログラム領域561に書き換えに当たって当該領域の消去動作を一緒に行うことができる。   The flash memory 56 has a plurality of memory blocks BLK0 to BLMn which are used as a batch erase unit. At this time, since the reboot program area and the user program area are allocated to different memory blocks, the erase operation for the user program area 561 can be made efficient. In other words, when the user program area 561 is rewritten, the area can be erased together.

ホスト装置3とのインタフェースにATAPIインタフェース回路4を採用するから、CD−ROMドライブ装置2は、SCSIインタフェース仕様等のディスクドライブ装置に関して蓄積された過去のソフトウェア資産を承継しながら、拡張IDEのような新しいインタフェースを採用でき、しかもコストの低減を図ることができる。前記ATAPIインタフェース仕様は、パーソナルコンピュータ等の分野で広く普及しているIDEインタフェースに準拠しているから、ユーザプログラム領域561の書き換えに際して、CD−ROMドライブ装置メーカはその生産ライン上のホストシステムを利用できる。また、パーソナルコンピュータのセットメーカは、CD−ROMドライブ装置をパーソナルコンピュータに組み込んだままの状態で、当該パーソナルコンピュータを利用して再生制御プログラムの書き換えを行うことができる。   Since the ATAPI interface circuit 4 is employed for the interface with the host device 3, the CD-ROM drive device 2 is similar to the extended IDE while inheriting the past software assets stored for the disk drive device such as the SCSI interface specification. A new interface can be adopted and the cost can be reduced. Since the ATAPI interface specification conforms to the IDE interface widely used in the field of personal computers and the like, the CD-ROM drive device manufacturer uses the host system on the production line when rewriting the user program area 561. it can. Further, a personal computer set manufacturer can rewrite the reproduction control program using the personal computer while the CD-ROM drive device is still incorporated in the personal computer.

《パーソナルコンピュータ》
図9には前記CD−ROMドライブ装置2を内蔵したパーソナルコンピュータ30の一例が示されている。このパーソナルコンピュータ30において、マイクロプロセッサ31は、特に制限されないが、PCI(Peripheral Component Interconnect)バスコントローラ32を介してPCIバスの規格に準拠した内部バス(PCIバス)33に接続されている。前記内部バス33には周辺コントローラとして代表的に示されたIDEインタフェースコントローラ34が結合され、前記CD−ROMドライブ装置2は、インタフェースケーブルとしてのATAPIバス35を介して前記IDEインタフェースコントローラ34に結合されている。前記IDEインタフェースコントローラ34はハードディスク装置36と内部バス33とのインタフェース制御も行う。前記マイクロプロセッサ31、PCIバスコントローラ32、内部バス33及びIDEインタフェースコントローラ34はPCボード(メインボード)37を構成する。前記PCボード37、CD−ROMドライブ装置2及びハードディスク装置36は共通のケース(筐体)に内蔵されいる。尚、図示は省略するが、前記PCボード上にはその他の周辺コントローラとして、グラフィックアクセラレータ、プリンタなどとのパラレルインタフェースを行うセントロニクスインタフェースコントローラ、及びフロッピーディスクドライブ装置とのインタフェース制御を行うフロッピーディスクコントローラ等が内部バス33に接続されて実装されている。図9を図1に対応させると、図1のホスト装置3は、図9のパーソナルコンピュータ30においてCD−ROMドライブ装置2を除いた部分になる。
"Personal computer"
FIG. 9 shows an example of a personal computer 30 incorporating the CD-ROM drive device 2. In this personal computer 30, the microprocessor 31 is connected to an internal bus (PCI bus) 33 compliant with the PCI bus standard via a PCI (Peripheral Component Interconnect) bus controller 32, although not particularly limited. The internal bus 33 is coupled to an IDE interface controller 34, which is typically shown as a peripheral controller, and the CD-ROM drive 2 is coupled to the IDE interface controller 34 via an ATAPI bus 35 as an interface cable. ing. The IDE interface controller 34 also performs interface control between the hard disk device 36 and the internal bus 33. The microprocessor 31, PCI bus controller 32, internal bus 33 and IDE interface controller 34 constitute a PC board (main board) 37. The PC board 37, the CD-ROM drive device 2 and the hard disk device 36 are built in a common case (housing). Although not shown, other peripheral controllers on the PC board include a centronics interface controller that performs a parallel interface with a graphic accelerator, a printer, and a floppy disk controller that performs an interface control with a floppy disk drive device. Are connected to the internal bus 33 and mounted. 9 corresponds to FIG. 1, the host device 3 in FIG. 1 is a part of the personal computer 30 in FIG. 9 excluding the CD-ROM drive device 2.

前記パーソナルコンピュータ30においては、CD−ROMドライブ装置2とIDEインタフェースコントローラ34との接続状態を変更することなく、若しくはCD−ROMドライブ装置2をパーソナルコンピュータ30の筐体から取り外すことなく、前記マイクロプロセッサ31にユーティリティープログラムを実行させて、CD−ROMドライブ装置2に書き換えコマンドや新しいアプリケーションプログラムを転送してやれば、上記同様、CD−ROMドライブ装置2の再生制御プログラムを簡単に更新することができる。   In the personal computer 30, the microprocessor can be used without changing the connection state between the CD-ROM drive device 2 and the IDE interface controller 34, or without removing the CD-ROM drive device 2 from the housing of the personal computer 30. If the utility program is executed by 31 and a rewrite command or a new application program is transferred to the CD-ROM drive device 2, the reproduction control program of the CD-ROM drive device 2 can be easily updated as described above.

《ユーザプログラム領域の書き換え動作》
図10〜図15は図9に示されるパーソナルコンピュータ30に搭載された状態でCD−ROMドライブ装置2のアプリケーションプログラムを書きかえる動作を順を追って示している。図10〜図15においてCD−ROMドライブ装置2はパーソナルコンピュータ30の筐体38の外に拡大して図示してある。
<< Rewriting operation of user program area >>
10 to 15 sequentially show the operation of rewriting the application program of the CD-ROM drive device 2 in the state where it is mounted on the personal computer 30 shown in FIG. 10 to 15, the CD-ROM drive device 2 is shown enlarged outside the housing 38 of the personal computer 30.

図10は初期状態を示し、CD−ROMドライブ装置2はATAPIバス35を介して前記IDEインタフェースコントローラ34に接続されている。前記入力制御プログラムM1、消去/書き込み制御プログラムM3、転送制御プログラムM4が格納されているリブートプログラム領域560は、アプリケーションプログラムM2が格納されるユーザプログラム領域561とは、相互に異なるメモリブロックに割り当てられている。   FIG. 10 shows an initial state, and the CD-ROM drive device 2 is connected to the IDE interface controller 34 via the ATAPI bus 35. The reboot program area 560 in which the input control program M1, the erase / write control program M3, and the transfer control program M4 are stored is assigned to a memory block different from the user program area 561 in which the application program M2 is stored. ing.

図11に示されるように、アプリケーションプログラムを書き換えるときは、例えばCD−ROMドライブ装置2をリセットすると共に、ディスクのイジェクトスイッチを押して、CD−ROMドライブ装置2に前記強制リブートモードを設定する。例えばフロッピーディスクFDには、バグの修正された或いはバージョンアップされたアプリケーションプログラムと、そのアプリケーションプログラムをCD−ROMドライブ装置2に書き込むためのユーティリティープログラムが格納されている。このユーティリティープログラムは、アプリケーションプログラムをCD−ROMドライブ装置2に転送するための転送ソフトウェアである。前記フロッピーディスクFDをパーソナルコンピュータ30のフロッピーディスクドライブに挿入して起動する。ユーティリティープログラムはハードディスク装置36に格納されていてもよい。   As shown in FIG. 11, when the application program is rewritten, for example, the CD-ROM drive device 2 is reset and the eject switch of the disk is pressed to set the forced reboot mode in the CD-ROM drive device 2. For example, a floppy disk FD stores a bug-corrected or upgraded application program and a utility program for writing the application program to the CD-ROM drive device 2. This utility program is transfer software for transferring an application program to the CD-ROM drive device 2. The floppy disk FD is inserted into the floppy disk drive of the personal computer 30 and activated. The utility program may be stored in the hard disk device 36.

起動された転送ソフトウェアの指示に従ってパーソナルコンピュータ側でキー操作等が行われると、パーソナルコンピュータ30のマイクロプロセッサ31は、フラッシュメモリ56に対する書き込みコマンド(前記ベンダーユニークコマンド)をIDEインタフェースコントローラ34を介して出力する。ATAPIインタフェース回路4は、前記書き込みコマンドを認識すると、ATAPI割込み信号42をCPU51に与える。これによってCPU51は、入力制御プログラムM1を実行し、先ず最初にバッファRAM16の内容をクリアする。   When a key operation or the like is performed on the personal computer side in accordance with an instruction of the activated transfer software, the microprocessor 31 of the personal computer 30 outputs a write command (the vendor unique command) to the flash memory 56 via the IDE interface controller 34. To do. When the ATAPI interface circuit 4 recognizes the write command, it provides an ATAPI interrupt signal 42 to the CPU 51. As a result, the CPU 51 executes the input control program M1, and first clears the contents of the buffer RAM 16.

図12に示されるように、パーソナルコンピュータ30のマイクロプロセッサ31は、前記書き込みコマンドに続いて、新たなアプリケーションプログラム(新アプリケーションプログラム)をIDEインタフェースコントローラ34を介して出力する。CPU51は入力制御プログラムM1を実行する。これによりCPU51は、ATAPIインタフェース回路4に供給されたアプリケーションプログラムをバッファRAM16に順次格納していく。ATAPIインタフェース回路4に順次供給されてくる情報にパリティーが付加されている場合には、パリティーチェックを行い、エラーのあるデータブロックに対して再送が要求される。   As shown in FIG. 12, the microprocessor 31 of the personal computer 30 outputs a new application program (new application program) via the IDE interface controller 34 following the write command. The CPU 51 executes the input control program M1. As a result, the CPU 51 sequentially stores the application program supplied to the ATAPI interface circuit 4 in the buffer RAM 16. When parity is added to the information sequentially supplied to the ATAPI interface circuit 4, a parity check is performed, and retransmission is requested for the data block having an error.

図13に示されるように、新アプリケーションプログラムがバッファRAM16に格納された後、CPU51は転送制御プログラムM4の実行に移る。これによってCPU51は、消去/書き込み制御プログラムM3をマイクロコンピュータ5のワークRAM57に転送制御する。   As shown in FIG. 13, after the new application program is stored in the buffer RAM 16, the CPU 51 proceeds to execute the transfer control program M4. As a result, the CPU 51 controls the transfer of the erase / write control program M3 to the work RAM 57 of the microcomputer 5.

図14に示されるように、消去/書き込み制御プログラムM3がワークRAM57に転送完了された後、CPU51はそのワークRAM57に格納された消去/書き込み制御プログラムM3の実行に移る。このときの消去ブロックの指定は消去/書き込み制御プログラムM3に従って行われる。また、マイクロコンピュータ5には、書き込み及び消去用の高電圧が供給されている。消去/書き込み制御プログラムが実行されることにより、先ず、フラッシュメモリ56のユーザプログラム領域561が消去・消去ベリファイされる。次に図15に示されるように、CPU51は、バッファRAM16に格納されている新たな再生制御プログラムとしての新アプリケーションプログラムを順次フラッシュメモリ56のユーザプログラム領域561に書き込む動作と書き込みベリファイ動作とを行っていく。特に制限されないが、書き込みアドレス等は消去/書き込みプログラムによって規定されている。   As shown in FIG. 14, after the erase / write control program M3 is transferred to the work RAM 57, the CPU 51 proceeds to execute the erase / write control program M3 stored in the work RAM 57. The designation of the erase block at this time is performed according to the erase / write control program M3. The microcomputer 5 is supplied with a high voltage for writing and erasing. By executing the erase / write control program, first, the user program area 561 of the flash memory 56 is erased and erase verified. Next, as shown in FIG. 15, the CPU 51 performs an operation of sequentially writing a new application program as a new reproduction control program stored in the buffer RAM 16 into the user program area 561 of the flash memory 56 and a write verify operation. To go. Although not particularly limited, the write address and the like are defined by the erase / write program.

書き込み動作終了後、CD−ROMドライブ装置2がリセットされることにより、CD−ROMドライブ装置2は、更新されたアプリケーションプログラムに従ってCD−ROMの再生制御を行うことができる。   After the writing operation is completed, the CD-ROM drive device 2 is reset, so that the CD-ROM drive device 2 can control the reproduction of the CD-ROM according to the updated application program.

図16には前記ユーザプログラム領域を書き換える動作のフローチャートが概略的に示されている。前記転送ソフトウェアが起動されると、CPU51は、マイクロプロセッサ31からATAPIインタフェース回路4を介して供給される前記新アプリケーションプログラムをバッファRAM16に転送すると共に、消去/書き込み制御プログラムをワークRAM57に転送する(S20)。転送に際してはパリティーチェック若しくはサムチェックを行い、転送異常があるかを監視する(S21)。転送異常がある場合にはそのアプリケーションプログラムを再送する。バッファRAM16及びワークRAM57への転送が完了されると、フラッシュメモリ56のユーザプログラム領域561が消去され(S22)、次いで、バッファRAM16に転送された新アプリケーションプログラムがフラッシュメモリ56のユーザプログラム領域561に書き込まれる(S23)。書き込みデータに対しては書き込みベリファイが行われる(S24)。   FIG. 16 schematically shows a flowchart of the operation of rewriting the user program area. When the transfer software is activated, the CPU 51 transfers the new application program supplied from the microprocessor 31 via the ATAPI interface circuit 4 to the buffer RAM 16 and transfers an erase / write control program to the work RAM 57 ( S20). When transferring, a parity check or a sum check is performed to monitor whether there is a transfer error (S21). If there is a transfer error, resend the application program. When the transfer to the buffer RAM 16 and the work RAM 57 is completed, the user program area 561 of the flash memory 56 is erased (S22), and then the new application program transferred to the buffer RAM 16 is stored in the user program area 561 of the flash memory 56. It is written (S23). Write verification is performed on the write data (S24).

上述のようなユーザプログラム領域561の書き換え処理は、CD−ROMドライブメーカがホスト装置3を用いて実施できることは言うまでもないが、図10〜図16に示した処理は、例えばCD−ROMドライブ装置2がパーソナルコンピュータ30に標準搭載されるとき、パソコンメーカが、パーソナルコンピュータ30上でCD−ROMドライブ装置2を評価する期間に、バグの修正されたアプリケーションプログラムをユーザプログラム領域561に再インストールする手法として位置付けることができる。   It goes without saying that the rewriting process of the user program area 561 as described above can be performed by the CD-ROM drive manufacturer using the host device 3, but the process shown in FIGS. Is installed in the personal computer 30 as a standard, a method in which the PC manufacturer reinstalls the application program whose bug has been corrected in the user program area 561 during the period when the personal computer 30 evaluates the CD-ROM drive device 2. Can be positioned.

図10〜図16に基づいて説明したように、CD−ROMドライブ装置2のユーザプログラム領域561の書き換えでは、パーソナルコンピュータ30のPCボード37をホスト装置とし、このPCボード37を介してCD−ROMドライブ装置2のアプリケーションプログラムを書き換えることができる。したがって、CD−ROMドライブ装置2をパーソナルコンピュータ30から取り外すことなく、前記マイクロプロセッサ31を利用して、CD−ROMドライブ装置2の再生制御プログラム及びインタフェース制御プログラムなどのアプリケーションプログラムの全部又は一部を変更できる。   As described with reference to FIGS. 10 to 16, in rewriting the user program area 561 of the CD-ROM drive device 2, the PC board 37 of the personal computer 30 is used as a host device, and the CD-ROM is passed through the PC board 37. The application program of the drive device 2 can be rewritten. Accordingly, without removing the CD-ROM drive device 2 from the personal computer 30, all or part of application programs such as the reproduction control program and the interface control program of the CD-ROM drive device 2 are utilized using the microprocessor 31. Can change.

したがって、CD−ROMドライブ装置2における再生速度の転換サイクルが極端に短くされ、CD−ROMドライブ装置2がパーソナルコンピュータ30に標準搭載され、それによってCD−ROMドライブメーカはパソコンメーカ毎に相違する仕様でCD−ROMドライブ装置2のアプリケーションプログラムを作成しなければならない状況下において、パソコンメーカは、CD−ROMドライブ装置2の評価期間を通じてドライブメーカからアプリケーションプログラムに関するバグの修正や追加機能を受けながらパーソナルコンピュータ30に組みこまれたままの状態でCD−ROMドライブ装置2の評価を行うことができる。前述の通り、CD−ROMドライブ装置2は、ユーザプログラム領域561に対する書き換え処理の能率化、書き換え処理中における異常状態から速やかに復旧して書き換え処理に戻れるなどの手段が講じられているから、CD−ROMドライブ装置2の評価期間を通じて、マイクロコンピュータ5に内蔵されたフラッシュメモリ56を、修正されたアプリケーションプログラムに効率的に書き換えることができる。よって、パソコンメーカはディスクドライブ装置の評価期間を短期できる。   Therefore, the reproduction speed conversion cycle in the CD-ROM drive device 2 is extremely shortened, and the CD-ROM drive device 2 is standardly installed in the personal computer 30, whereby the CD-ROM drive maker differs depending on the personal computer manufacturer. In the situation where the application program for the CD-ROM drive device 2 has to be created, the personal computer manufacturer receives personal corrections and additional functions related to the application program from the drive manufacturer throughout the evaluation period of the CD-ROM drive device 2. The CD-ROM drive device 2 can be evaluated while being incorporated in the computer 30. As described above, the CD-ROM drive device 2 is provided with measures such as improving the efficiency of the rewriting process for the user program area 561, quickly recovering from the abnormal state during the rewriting process, and returning to the rewriting process. -Through the evaluation period of the ROM drive device 2, the flash memory 56 built in the microcomputer 5 can be efficiently rewritten with a modified application program. Therefore, the personal computer manufacturer can shorten the evaluation period of the disk drive device.

これにより、CD−ROMドライブ装置2における再生速度の転換サイクルが極端に短くされている状況下において、パソコンメーカは、より再生速度の速いCD−ROMドライブ装置2を標準搭載したパーソナルコンピュータ30を効率的に市場に投入できるようになる。   Thus, in a situation where the reproduction speed conversion cycle in the CD-ROM drive device 2 is extremely shortened, the personal computer manufacturer efficiently uses the personal computer 30 equipped with the CD-ROM drive device 2 having a higher reproduction speed as a standard. Can be put on the market.

また、パーソナルコンピュータのOS(Operating System)が変更(バージョンアップ)されるような場合に、変更されたOSに対応されるコマンドを処理するインタフェース機能をアプリケーションプログラムのインタフェース制御プログラムに反映するような修正にも即座に対応することができる。   In addition, when an OS (Operating System) of a personal computer is changed (upgraded), a modification is made so that an interface function for processing a command corresponding to the changed OS is reflected in the interface control program of the application program. Can also respond immediately.

前記アプリケーションプログラムはインタネット等の通信手段でCD−ROMドライブ装置2の製造又は販売会社からパソコンメーカ又はその販売会社に、或いはパソコンメーカ又はその販売会社からパーソナルコンピュータのエンドユーザに供給することも可能である。これによれば、パソコンメーカ又はその販売会社或いはパーソナルコンピュータのエンドユーザに瞬時に前記アプリケーションプログラムを送ることができる。したがって、前記パーソナルコンピュータ30がインターネットにアクセスするハードウェア及びソフトウェアを備えたものであれば、バージョンアップ若しくはバグが修正された再生制御プログラムをユーザプログラム領域561に簡単に再インストールすることができ、パソコンメーカによるCD−ROMドライブ装置の評価期間の短縮はもとより、エンドユーザに対しても、CD−ROMドライブ装置の機能変更を容易化することができる。   The application program can be supplied from the manufacture or sales company of the CD-ROM drive device 2 to a personal computer manufacturer or its sales company by a communication means such as the Internet, or from the personal computer manufacturer or its sales company to an end user of a personal computer. is there. According to this, the application program can be instantaneously sent to a personal computer manufacturer, a sales company thereof, or an end user of a personal computer. Therefore, if the personal computer 30 has hardware and software for accessing the Internet, the playback control program whose version has been updated or whose bug has been corrected can be easily reinstalled in the user program area 561. In addition to shortening the evaluation period of the CD-ROM drive device by the manufacturer, the function change of the CD-ROM drive device can be facilitated for the end user.

《消去/書き込み制御プログラムのダウンロード化》
上記構成ではフラッシュメモリ56のリブートプログラム領域561に消去/書き込み制御プログラムM3を配置し、そこからワークRAM57に内部転送して当該プログラムをCPU51が実行するようにした。これに対し、消去/書き込み制御プログラムM3をフラッシュメモリ56には格納せず、ユーザプログラム領域561を書き換える度に、前記ホスト装置3若しくはPCボード37を介してワークRAM57にダウンロードするようにできる。これによれば、フラッシュメモリ56はその消去/書き込み制御プログラムを保有しないから、CPU51が暴走してフラッシュメモリ56に格納されているプログラムを不所望に実行することがあっても、当該フラッシュメモリ56が誤ってか書き換えられる虞は全くなくなる。
<< Download of erase / write control program >>
In the above configuration, the erase / write control program M3 is arranged in the reboot program area 561 of the flash memory 56, and is internally transferred from there to the work RAM 57 so that the CPU 51 executes the program. On the other hand, the erase / write control program M3 is not stored in the flash memory 56, but can be downloaded to the work RAM 57 via the host device 3 or the PC board 37 every time the user program area 561 is rewritten. According to this, since the flash memory 56 does not have the erase / write control program, even if the CPU 51 runs out of control and executes the program stored in the flash memory 56 undesirably, the flash memory 56 There is no possibility of being rewritten by mistake.

図17〜図22には、フラッシュメモリ56がその消去/書き込み制御プログラムM3を保有しな場合において、パーソナルコンピュータ30に搭載された状態でCD−ROMドライブ装置2のアプリケーションプログラムを書きかえる動作を順を追って示している。図17〜図22においてCD−ROMドライブ装置2はパーソナルコンピュータ30の筐体38の外に拡大して図示してある。   FIGS. 17 to 22 show a sequence of operations for rewriting the application program of the CD-ROM drive device 2 in a state where it is mounted on the personal computer 30 when the flash memory 56 does not have the erase / write control program M3. Is shown later. 17 to 22, the CD-ROM drive device 2 is shown enlarged outside the housing 38 of the personal computer 30.

図17は初期状態を示し、CD−ROMドライブ装置2はATAPIバス35を介して前記IDEインタフェースコントローラ34に接続されている。リブートプログラム領域560には前記消去/書き込み制御プログラムM3は格納されていない。   FIG. 17 shows an initial state, and the CD-ROM drive device 2 is connected to the IDE interface controller 34 via the ATAPI bus 35. The reboot program area 560 does not store the erase / write control program M3.

図18に示されるように、アプリケーションプログラムを書き換えるときは、例えばCD−ROMドライブ装置2をリセットすると共に、ディスクのイジェクトスイッチを押して、CD−ROMドライブドライブ装置2に前記強制リブートモードを設定する。例えばフロッピーディスクFDには、バグの修正された或いはバージョンアップされたアプリケーションプログラムと、CPU51が実行してそのアプリケーションプログラムをユーザプログラム領域561に書き込むための消去/書き込み制御プログラムと、前記マイクロプロセッサ31が実行してCPU51にユーザプログラム領域561の書き換え処理を実行させるためのユーティリティープログラムとが格納されている。このユーティリティープログラムは、アプリケーションプログラム及び消去/書き込み制御プログラムをCD−ROMドライブ装置2に転送するための転送ソフトウェアとすることができる。前記フロッピーディスクFDをパーソナルコンピュータ30のフロッピーディスクドライブに挿入してユーティリティープログラムを起動する。ユーティリティープログラムはハードディスク装置36に格納されていてもよい。   As shown in FIG. 18, when the application program is rewritten, for example, the CD-ROM drive device 2 is reset, and the eject switch of the disk is pressed to set the forced reboot mode in the CD-ROM drive device 2. For example, the floppy disk FD has a bug-corrected or upgraded application program, an erase / write control program for the CPU 51 to execute and write the application program in the user program area 561, and the microprocessor 31. A utility program that is executed to cause the CPU 51 to execute the rewriting process of the user program area 561 is stored. This utility program can be transfer software for transferring the application program and the erase / write control program to the CD-ROM drive device 2. The utility program is started by inserting the floppy disk FD into the floppy disk drive of the personal computer 30. The utility program may be stored in the hard disk device 36.

起動された転送ソフトウェアの指示に従ってパーソナルコンピュータ側でキー操作等が行われると、パーソナルコンピュータ30のマイクロプロセッサ31は、フラッシュメモリ56に対する書き込みコマンド(前記ベンダーユニークコマンド)をIDEインタフェースコントローラ34を介して出力する。ATAPIインタフェース回路4は、前記書き込みコマンドを認識すると、ATAPI割込み信号42をCPU51に与える。これによってCPU51は、入力制御プログラムM1を実行し、先ず最初にバッファRAM16の内容をクリアする。   When a key operation or the like is performed on the personal computer side in accordance with an instruction of the activated transfer software, the microprocessor 31 of the personal computer 30 outputs a write command (the vendor unique command) to the flash memory 56 via the IDE interface controller 34. To do. When the ATAPI interface circuit 4 recognizes the write command, it provides an ATAPI interrupt signal 42 to the CPU 51. As a result, the CPU 51 executes the input control program M1, and first clears the contents of the buffer RAM 16.

図19に示されるように、パーソナルコンピュータ30のマイクロプロセッサ31は、前記書き込みコマンドに続いて、新たなアプリケーションプログラム(新アプリケーションプログラム)及び消去/書き込み制御プログラムをIDEインタフェースコントローラ34を介して出力する。CPU51は入力制御プログラムM1を実行する。これによりCPU51は、ATAPIインタフェース回路4に供給されたアプリケーションプログラム及び消去/書き込み制御プログラムをバッファRAM16に順次格納していく。   As shown in FIG. 19, the microprocessor 31 of the personal computer 30 outputs a new application program (new application program) and an erase / write control program via the IDE interface controller 34 following the write command. The CPU 51 executes the input control program M1. As a result, the CPU 51 sequentially stores the application program and erase / write control program supplied to the ATAPI interface circuit 4 in the buffer RAM 16.

図20に示されるように、新アプリケーションプログラム及び消去/書き込み制御プログラムがバッファRAM16に格納された後、CPU51は転送制御プログラムM4の実行に移る。これによってCPU51は、消去/書き込み制御プログラムM3をバッファRAM16からマイクロコンピュータ5のワークRAM57に内部転送する。   As shown in FIG. 20, after the new application program and the erase / write control program are stored in the buffer RAM 16, the CPU 51 proceeds to execute the transfer control program M4. As a result, the CPU 51 internally transfers the erase / write control program M3 from the buffer RAM 16 to the work RAM 57 of the microcomputer 5.

そして、図21に示されるように、CPU51はそのワークRAM57に格納された消去/書き込み制御プログラムM3の実行に移る。このときの消去ブロックの指定は消去/書き込み制御プログラムM3に従って行われる。また、マイクロコンピュータ5には、書き込み及び消去用の高電圧が供給されている。消去/書き込み制御プログラムが実行されることにより、先ず、フラッシュメモリ56のユーザプログラム領域561が消去・消去ベリファイされる。次に図22に示されるように、CPU51は、バッファRAM16に格納されている新アプリケーションプログラムを順次フラッシュメモリ56のユーザプログラム領域561に書き込む動作と書き込みベリファイ動作とを行っていく。書き込み動作終了後、CD−ROMドライブ装置2がリセットされることにより、CD−ROMドライブ装置2は、更新されたアプリケーションプログラムに従ってCD−ROMの再生制御を行うことができる。   Then, as shown in FIG. 21, the CPU 51 proceeds to execution of the erase / write control program M3 stored in the work RAM 57. The designation of the erase block at this time is performed according to the erase / write control program M3. The microcomputer 5 is supplied with a high voltage for writing and erasing. By executing the erase / write control program, first, the user program area 561 of the flash memory 56 is erased and erase verified. Next, as shown in FIG. 22, the CPU 51 performs an operation of sequentially writing a new application program stored in the buffer RAM 16 into the user program area 561 of the flash memory 56 and a write verify operation. After the writing operation is completed, the CD-ROM drive device 2 is reset, so that the CD-ROM drive device 2 can control the reproduction of the CD-ROM according to the updated application program.

《ユーザプログラム領域に対するチェックサム》
上記説明した強制リブートモードの設定はイジェクトスイッチを操作することが条件とされる。ここでは、前記強制リブートモードのほかに、ユーザプログラム領域561を書き換えることができる動作モードを設定可能にしたCD−ROMドライブ装置2を説明する。
<< Checksum for user program area >>
The forced reboot mode described above is set on the condition that the eject switch is operated. Here, a description will be given of the CD-ROM drive device 2 that can set an operation mode in which the user program area 561 can be rewritten in addition to the forced reboot mode.

図23に示すように、前記ユーザプログラム領域561は、その一部の記憶領域に、その他の記憶領域が保有する情報のサム値を格納するサム値格納領域M21を有する点が図2と相違する。前記サム値格納領域M21に対するサム値の書き込みは、ユーザプログラム領域561に対する書き込み動作毎に行うことになる。前記リブートプログラム領域560は、図2に基づいて説明したのと同様に、リセットベクタBCT1及びリセット処理プログラムPGM1等の格納領域を有する。   As shown in FIG. 23, the user program area 561 is different from FIG. 2 in that a part of the storage area has a sum value storage area M21 for storing the sum value of information held in other storage areas. . The writing of the sum value to the sum value storage area M21 is performed for each writing operation to the user program area 561. The reboot program area 560 has storage areas for the reset vector BCT1 and the reset processing program PGM1, as described with reference to FIG.

図24にはリセット時に前記サム値を考慮してユーザプログラム領域561を書き換え可能にするときの動作フローチャートが示される。   FIG. 24 shows an operation flowchart when the user program area 561 can be rewritten in consideration of the sum value at the time of reset.

リセット割り込みがあると前記CPU51は、リセットの指示に応答して前記リセットベクタBCT1を参照することにより前記リセット処理プログラムPRG1の実行に移行し(S30)、マイクロコンピュータ5内部やその周辺回路を初期化する(S31)。   When there is a reset interrupt, the CPU 51 refers to the reset vector BCT1 in response to a reset instruction to shift to the execution of the reset processing program PRG1 (S30), and initializes the microcomputer 5 and its peripheral circuits. (S31).

そして、前記書き換えコマンドに応答し得る強制リブートモードか否かを判定する(S32)。即ち、イジェクトスイッチが押されていれば強制リブートモードと判定される。強制リブートモードのときは、前記図2及び図3で説明した通り前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移する。即ち、リブートフラグをセットし(S33)、前記書き換えコマンドの入力を待って前記リブートプログラムを起動し(S34)、今まで説明したようにユーザプログラム領域561に新たなアプリケーションプログラムを書き込む(S35)。この処理の最後には、ユーザプログラム領域のデータのサム値を演算し、その値を前記サム値格納領域M21に保存しておく。   Then, it is determined whether or not the forced reboot mode is in response to the rewrite command (S32). That is, if the eject switch is pressed, the forced reboot mode is determined. In the forced reboot mode, the process proceeds to the execution of the reboot program after waiting for the input of the rewrite command as described with reference to FIGS. That is, a reboot flag is set (S33), the reboot program is started after the input of the rewrite command (S34), and a new application program is written in the user program area 561 as described so far (S35). At the end of this process, the sum value of the data in the user program area is calculated and stored in the sum value storage area M21.

ステップS32の判断で強制リブートモードでないとき、CPU51はユーザプログラム領域561のサム値を演算し(S36)、演算した値が前記サム値格納領域M21に格納されているサム値に一致するかを判定する(S37)。   When the forced reboot mode is not determined in step S32, the CPU 51 calculates the sum value of the user program area 561 (S36), and determines whether the calculated value matches the sum value stored in the sum value storage area M21. (S37).

ステップS37の判定結果が不一致の場合には前記書き換えコマンドの入力を待って前記リブートプログラムの実行に遷移する。ステップ37の判定結果が一致の場合には2次ベクタテーブルを参照して(S38),前記アプリケーションプログラム領域561のプログラムを実行可能な状態に遷移する(S39)。   If the determination result in step S37 does not match, the process waits for the input of the rewrite command and shifts to execution of the reboot program. If the determination result in step 37 is the same, the secondary vector table is referred to (S38), and the program in the application program area 561 is changed to an executable state (S39).

このように、ホスト装置3や、CD−ROMドライブ装置2などの異常によって前記アプリケーションプログラム領域561のプログラムが不所望に書き換えられたときは、強制リブートモードが指示されなくても、リセットされるだけで、自己診断的に、CPU51の動作を、アプリケーションプログラム領域561に対する書き換え可能な状態に遷移させることができ、CD−ROMドライブ装置2の誤動作を未然に防止することができる。   As described above, when the program in the application program area 561 is undesirably rewritten due to an abnormality of the host device 3 or the CD-ROM drive device 2 or the like, it is only reset even if the forced reboot mode is not instructed. Thus, the operation of the CPU 51 can be shifted to a rewritable state with respect to the application program area 561 in a self-diagnostic manner, and malfunction of the CD-ROM drive device 2 can be prevented beforehand.

《プログラム配置のその他の例》
以上の説明ではアプリケーションプログラムはフラッシュメモリ56のユーザプログラム領域561に配置した。また、リブートプログラムはリブートプログラム領域560に配置した。CD−ROMドライブ装置2におけるプログラム配置は、次のように変更することができる。例えば、図25に示されるようにベクタテーブルをワークRAM57に配置してもよい。ベクタテーブルをRAM化すれば、CPU51の動作モードなどに応じてベクタテーブルの内容を動的に変更することが容易になる。
<< Other examples of program layout >>
In the above description, the application program is arranged in the user program area 561 of the flash memory 56. The reboot program is arranged in the reboot program area 560. The program arrangement in the CD-ROM drive device 2 can be changed as follows. For example, the vector table may be arranged in the work RAM 57 as shown in FIG. If the vector table is made into RAM, it becomes easy to dynamically change the contents of the vector table according to the operation mode of the CPU 51 and the like.

図26には前記フラッシュメモリ56のアドレスマップの別の例が示されている。図26の例においてリセット処理プログラムPRG1はサム(SUM)値チェックと強制リブートモードSW(イジェクトスイッチ)の操作を検出する処理などを規定する。アプリケーションプログラム領域561に含まれるブート処理プログラムM23は、リブートプログラム領域560のPRG2,M1,M3,M4の各プログラムと同じ処理を規定するものである。すなわち、ユーザプログラム領域561のアプリケーションプログラムを実行可能な状態においても、書き換えコマンドを受け付けてユーザプログラム領域561の書き換えを行うことができる。この場合には、イジェクトスイッチの操作やサム値のチェックは要しないものとされる。   FIG. 26 shows another example of the address map of the flash memory 56. In the example of FIG. 26, the reset processing program PRG1 defines a process for detecting the operation of the sum (SUM) value check and forced reboot mode SW (eject switch). The boot process program M23 included in the application program area 561 defines the same processes as the PRG2, M1, M3, and M4 programs in the reboot program area 560. That is, even when the application program in the user program area 561 can be executed, the user program area 561 can be rewritten by receiving a rewrite command. In this case, it is not necessary to operate the eject switch or check the sum value.

《フラッシュメモリに対する書き込み態様》
以上説明してきたフラッシュメモリのリブートプログラム領域560及びユーザプログラム領域561に対する書き込み動作を、CD−ROMドライブメーカ(ドライブメーカ)及びPCメーカ(パソコンメーカ)の処理に対応付けて説明する。
<How to write to flash memory>
The writing operation to the reboot program area 560 and the user program area 561 of the flash memory described above will be described in association with the processing of the CD-ROM drive manufacturer (drive manufacturer) and the PC manufacturer (personal computer manufacturer).

図27はCD−ROMドライブメーカによるCD−ROMドライブ装置2の製造手順を示すフローチャートである。   FIG. 27 is a flowchart showing the manufacturing procedure of the CD-ROM drive device 2 by the CD-ROM drive manufacturer.

CD−ROMドライブメーカは、マイクロコンピュータ5をLSIメーカから購入してCD−ROMドライブ装置2を組み立てる。特にその回路部分は配線基板(PCB)上に構成する(S40)。この時マイクロコンピュータ5に内蔵されたフラッシュメモリ56のリブートプログラム領域560に対するプログラムの書き込み態様は、CD−ROMドライブメーカがEPROMライタによって行う場合(S41)、半導体メーカによるマイクロコンピュータ5の製造工程で行う場合(S42)、或いは、前記配線基板にマイクロコンピュータ5を実装し(S43)た後で当該マイクロコンピュータ5にブートモードを設定して行う場合(S46)がある。   The CD-ROM drive manufacturer purchases the microcomputer 5 from the LSI manufacturer and assembles the CD-ROM drive device 2. In particular, the circuit portion is formed on a wiring board (PCB) (S40). At this time, when the CD-ROM drive manufacturer uses an EPROM writer (S41), the program is written in the reboot program area 560 of the flash memory 56 built in the microcomputer 5 in the manufacturing process of the microcomputer 5 by the semiconductor manufacturer. In some cases (S42), or after the microcomputer 5 is mounted on the wiring board (S43), a boot mode is set in the microcomputer 5 (S46).

EPROMライタで書き込みを行う場合には、図31に例示するようにマイクロコンピュータ5の内部バス58を外部とインタフェースさせるポート581(図1には図示を省略してある)をEPROMライタ582に接続して行う。EPROMライタ582は、書き込み高電圧をマイクロコンピュータ5に印加して、プログラムモードをマイクロコンピュータ5に設定する。プログラムモードが設定されたマイクロコンピュータ5は、EPROMライタ582にとってフラッシュメモリ単体LSIと同様にみなされ、EPROMライタ582はマイクロコンピュータ5の内蔵フラッシュメモリ56を外部から書き換え可能になる。この状態で、EPROMライタ582によってフラッシュメモリ56のリブートプログラム領域560に前記リブートプログラムなどを初期的に書き込む(S41)。マイクロコンピュータのリブートプログラム領域560に対する書き込み後、当該マイクロコンピュータ5は前記CD−ROMドライブ装置2の配線基板に実装される(S44)。尚、図31において図1と同一の回路ブロックには同一参照符号を付してある。   When writing with an EPROM writer, a port 581 (not shown in FIG. 1) for interfacing the internal bus 58 of the microcomputer 5 with the outside is connected to the EPROM writer 582 as illustrated in FIG. Do it. The EPROM writer 582 applies a write high voltage to the microcomputer 5 and sets the program mode in the microcomputer 5. The microcomputer 5 in which the program mode is set is regarded by the EPROM writer 582 as a flash memory single LSI, and the EPROM writer 582 can rewrite the built-in flash memory 56 of the microcomputer 5 from the outside. In this state, the reboot program or the like is initially written in the reboot program area 560 of the flash memory 56 by the EPROM writer 582 (S41). After writing to the reboot program area 560 of the microcomputer, the microcomputer 5 is mounted on the wiring board of the CD-ROM drive device 2 (S44). In FIG. 31, the same circuit blocks as those in FIG. 1 are denoted by the same reference numerals.

マイクロコンピュータ5のリブートプログラム領域560に対する書き込みがLSIメーカによって既に完了されている場合には(S42)、当該マイクロコンピュータ5がCD−ROMドライブ装置2の前記配線基板に実装される(S45)。   If writing to the reboot program area 560 of the microcomputer 5 has already been completed by the LSI manufacturer (S42), the microcomputer 5 is mounted on the wiring board of the CD-ROM drive device 2 (S45).

プリント配線基板にマイクロコンピュータ5を実装した後、マイクロコンピュータ5にブートモードを設定してリブートプログラム領域560にプログラムを書き込む(S46)場合には、例えば図30に例示されるように、RS23Cのようなシリアルポート583を介して結合されたホスト装置584で制御する。図30に例示されるマイクロコンピュータ5は図1のマイクロコンピュータ5に対してSCI回路585、ブートROM586及びポート587が追加されている。ホスト装置585から書き込み用高電圧588とブートモード信号589がポート587を介してマイクロコンピュータ5に供給されると、CPU51はブートROM586のブートプログラムを実行する。CPU51はブートプログラムを実行することにより、フラッシュメモリ56を全面消去し、SCI回路585を初期設定し、シリアルポート583を介してホスト装置584とインタフェース可能にする。CPU51はホスト装置584から供給されるプログラムをフラッシュメモリ56のリブートプログラム領域560に書き込み制御する。これによって、フラッシュメモリ56のリブートプログラム領域560に図2で説明したようなリブートプログラムなどが書き込まれる。尚、シリアルポート583を利用して書き込む動作速度は、その性質上一般的に遅い。その場合には、CD−ROMドライブ装置2の回路ボードには、ディスクアクセス動作には直接用いられないシリアルポート583を特別に配置しなければならならず、それによってCD−ROMドライブ装置の回路ボードの物理的な規模が大きくなることに注意しなければならない。CD−ROMドライブ装置の物理的な規模を小さくすることを優先させるならば、そのようなシリアルポート583を介するプログラム書込みのための構成を設けないことが得策である。   When the microcomputer 5 is mounted on the printed wiring board, the boot mode is set in the microcomputer 5 and the program is written in the reboot program area 560 (S46), for example, as shown in FIG. Control is performed by a host device 584 coupled through a serial port 583. The microcomputer 5 illustrated in FIG. 30 has an SCI circuit 585, a boot ROM 586, and a port 587 added to the microcomputer 5 of FIG. When the high voltage 588 for writing and the boot mode signal 589 are supplied from the host device 585 to the microcomputer 5 via the port 587, the CPU 51 executes the boot program in the boot ROM 586. By executing the boot program, the CPU 51 erases the entire flash memory 56, initializes the SCI circuit 585, and enables interface with the host device 584 via the serial port 583. The CPU 51 controls writing of a program supplied from the host device 584 to the reboot program area 560 of the flash memory 56. As a result, the reboot program as described in FIG. 2 is written in the reboot program area 560 of the flash memory 56. Note that the operation speed of writing using the serial port 583 is generally slow due to its nature. In that case, the circuit board of the CD-ROM drive device 2 must be specially arranged with a serial port 583 that is not directly used for the disk access operation. It should be noted that the physical scale of the will increase. If priority is given to reducing the physical scale of the CD-ROM drive device, it is advantageous not to provide a configuration for writing a program via the serial port 583.

前記ステップS44、S45又はS46によってフラッシュメモリ56のリブートプログラム領域560が初期設定され後、マイクロコンピュータ5がリセットされ、ユーザプログラム領域561に書き込みを行うために前記強制リブートプログラムモードが設定される(S47)。そして、前記ホスト装置3から書き込みコマンドを発行することにより、リブートプログラムを起動し、ユーザプログラム領域561にアプリケーションプログラムなどのアプリケーションプログラムを書き込む(S48)。正常に書き込みできたかが判定され(S49)、異常があった場合には再度リブートプログラムが起動される(S50)。正常に書き込まれた場合には、当該書き込まれたアプリケーションプログラムをマイクロコンピュータ5に実行させてCD−ROMドライブ装置2の動作テストを行う(S51)。動作テストで異常が発見されなかたCD−ROMドライブ装置2がPCメーカに出荷される(S52)。   After the reboot program area 560 of the flash memory 56 is initialized by the step S44, S45, or S46, the microcomputer 5 is reset and the forced reboot program mode is set to write to the user program area 561 (S47). ). Then, a reboot command is started by issuing a write command from the host device 3, and an application program such as an application program is written in the user program area 561 (S48). It is determined whether or not the data has been normally written (S49). If there is an abnormality, the reboot program is started again (S50). If written normally, the written application program is executed by the microcomputer 5 to perform an operation test of the CD-ROM drive device 2 (S51). If no abnormality is found in the operation test, the CD-ROM drive device 2 is shipped to the PC manufacturer (S52).

尚、フラッシュメモリ56のリブートプログラム領域560とユーザプログラム領域561に対する書込みを別々に行わず、図29に例示されるように一緒に行ってもよい。即ち、図29に示されるステップS41AではEPROMライトを用いてフラッシュメモリ56のリブートプログラム領域560及びユーザプログラム領域561に全てのプログラムを書き込む。ステップS42Aではマイクロコンピュータ5を製造するLSIメーカが前記全てのプログラムを書き込む。ステップS43AではCD−ROMドライブメーカがマイクロコンピュータ5の前記ブートモードを利用して前記全てのプログラムを書き込む。   Note that the reboot program area 560 and the user program area 561 of the flash memory 56 may not be written separately, but may be performed together as illustrated in FIG. That is, in step S41A shown in FIG. 29, all programs are written in the reboot program area 560 and the user program area 561 of the flash memory 56 using the EPROM write. In step S42A, the LSI manufacturer that manufactures the microcomputer 5 writes all the programs. In step S43A, the CD-ROM drive maker writes all the programs using the boot mode of the microcomputer 5.

図28はCD−ROMドライブメーカから出荷されたCD−ROMドライブ装置2を用いたPCメーカによるパーソナルコンピュータの評価手順の一例を示すフローチャートである。   FIG. 28 is a flowchart showing an example of an evaluation procedure of a personal computer by a PC manufacturer using the CD-ROM drive device 2 shipped from the CD-ROM drive manufacturer.

PCメーカは、CD−ROMドライブメーカから出荷されたCD−ROMドライブ装置2を対応するパーソナルコンピュータ30に組み込む(S53)。このとき、CD−ROMドライブ装置2はATAPIインタフェース回路4を介してPCボード37のIDEインタフェースコントローラ34に接続される。この状態でPCメーカはパーソナルコンピュータ30のマイクロプロセッサ31に所要のテストプログラムや任意のアプリケーションプログラムなどを実行させながらCD−ROMドライブ装置2をアクセスして当該CD−ROMドライブ装置2の評価を行う。この評価に際して、CD−ROMドライブ装置2のアプリケーションプログラムにバグがあるかを調べ(S54)、また、アプリケーションプログラムに対してPCメーカ側からの仕様変更すべき個所があるかを調べる(S55)。バグも仕様変更もなければその機種のパーソナルコンピュータはCD−ROMドライブ装置2に関し何ら支障のないものとして評価を終わり、当該機種のパーソナルコンピュータはCD−ROMドライブ装置2を搭載してエンドユーザへ出荷されることになる(S61)。   The PC manufacturer incorporates the CD-ROM drive device 2 shipped from the CD-ROM drive manufacturer into the corresponding personal computer 30 (S53). At this time, the CD-ROM drive device 2 is connected to the IDE interface controller 34 of the PC board 37 via the ATAPI interface circuit 4. In this state, the PC maker accesses the CD-ROM drive device 2 while the microprocessor 31 of the personal computer 30 executes a required test program or an arbitrary application program, and evaluates the CD-ROM drive device 2. At the time of this evaluation, it is checked whether there is a bug in the application program of the CD-ROM drive device 2 (S54), and it is checked whether there is a part whose specifications should be changed from the PC manufacturer side (S55). If there is no bug or specification change, the personal computer of the model is evaluated as having no trouble with the CD-ROM drive device 2, and the personal computer of the model is mounted with the CD-ROM drive device 2 and shipped to the end user. (S61).

一方、前記ステップS54でバグの発生が明らかにされ、また、ステップS55で仕様変更が明らかにされたとき、当該バグの情報や仕様変更に関する情報がCD−ROMドライブメーカに伝えられる。このとき、CD−ROMドライブ装置2それ自体をパーソナルコンピュータ30から取り外してCD−ROMドライブメーカに送り返すことを要しない。   On the other hand, when the occurrence of a bug is clarified in step S54 and the specification change is clarified in step S55, information on the bug and information on the specification change are transmitted to the CD-ROM drive manufacturer. At this time, it is not necessary to remove the CD-ROM drive 2 itself from the personal computer 30 and send it back to the CD-ROM drive manufacturer.

CD−ROMドライブメーカはそれに従ってアプリケーションプログラムを修正する(S56)。修正されたアプリケーションプログラムは例えばインターネットなどを介してPCメーカに送信される(S57)。送信された修正プログラムは、実際の評価に用いているパーソナルコンピュータで受信することができる。そして、受信した修正済みのアプリケーションプログラムをCD−ROMドライブ装置2のフラッシュメモリ56に書き込む(S58)。書込み動作の詳細は前述の通りマイクロコンピュータ5に強制リブートモードを設定してパーソナルコンピュータ30それ自体で即座に行うことができる。正常に書き込みできたかが判定され(S59)、異常があった場合には再度リブートプログラムが起動される(S60)。正常に書き込まれた場合には、その機種のパーソナルコンピュータの評価が終わる。このように、アプリケーションプログラムにバグがあっても、或いはPCメーカ側からアプリケーションプログラムの仕様変更を行う場合にも、修正されたアプリケーションプログラムをCD−ROMドライブ装置2に簡単に再インストールすることができるから、パーソナルコンピュータ30に組み込んだ状態でCD−ROMドライブ装置2を短期間に評価することが可能になる。   The CD-ROM drive manufacturer modifies the application program accordingly (S56). The corrected application program is transmitted to the PC manufacturer via the Internet, for example (S57). The transmitted correction program can be received by a personal computer used for actual evaluation. Then, the received corrected application program is written into the flash memory 56 of the CD-ROM drive device 2 (S58). The details of the write operation can be immediately performed by the personal computer 30 itself by setting the forced reboot mode in the microcomputer 5 as described above. It is determined whether the data has been normally written (S59). If there is an abnormality, the reboot program is started again (S60). If it is written normally, the evaluation of the personal computer of that model is completed. As described above, even when there is a bug in the application program or when the specification of the application program is changed from the PC manufacturer side, the corrected application program can be easily reinstalled in the CD-ROM drive device 2. Therefore, it is possible to evaluate the CD-ROM drive device 2 in a short time in a state where it is incorporated in the personal computer 30.

パーソナルコンピュータの出荷に当たって、CPメーカ側でCD−ROMドライブ装置に前記修正されたアプリケーションプログラムを再インストールしなければならないものに対してはそれを行い、また、PCメーカ独自の情報(CD−ROMドライブのID(identification)情報)をPCメーカ自らがフラッシュメモリ56に書き込む場合にはそれを行う。そして当該機種のパーソナルコンピュータはエンドユーザへ出荷されることになる(S61)。   When the personal computer is shipped, the CP manufacturer must re-install the modified application program in the CD-ROM drive, and the PC manufacturer's original information (CD-ROM drive ID (identification) information) is written to the flash memory 56 by the PC manufacturer itself. Then, the personal computer of the model is shipped to the end user (S61).

以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、リブートモードの設定は上記の例に限定されず、ベンダーユニークコマンドだけで設定することも可能である。その場合には、ベンダーユニークコマンドの解読結果を用いて、CPUの処理をユーザリブート用のプログラムに移行させることができる。また、記憶情報再生装置の量産ライン上で初めてアプリケーションプログラムを不揮発性メモリに書き込む場合には、アプリケーションプログラムの先頭にある2次ベクタテーブルに何も記憶されていない状態(例えば、全ビット論理値0又は1)をソフトウェアで検出して、ユーザリブートモードに移行するようにしてもよい。また、フラッシュメモリの所定のブロックを2バンク構成とし、一方のバンクを書き換え禁止領域として用いることが可能である。このときのバンク切換えは、ユーザリブートモードの設定に連動され、ユーザリブートモードにおいては書き換え禁止側のブロックが用いられる。また、前記サム値を求める演算はユーザプログラム領域のデータを単に加算するだけでなく、適当な論理を通して加算することも可能である。   For example, the setting of the reboot mode is not limited to the above example, and can be set only by a vendor unique command. In that case, the processing of the CPU can be transferred to the program for user reboot using the decoding result of the vendor unique command. When the application program is written into the nonvolatile memory for the first time on the mass production line of the stored information reproducing apparatus, nothing is stored in the secondary vector table at the head of the application program (for example, all bit logical value 0). Alternatively, 1) may be detected by software to shift to the user reboot mode. In addition, a predetermined block of the flash memory can have a two-bank configuration, and one bank can be used as a rewrite prohibition area. The bank switching at this time is linked to the setting of the user reboot mode, and the block on the rewrite prohibition side is used in the user reboot mode. The calculation for obtaining the sum value can be performed not only by adding data in the user program area but also through appropriate logic.

尚、リブートプログラムは、前記アプリケーションプログラムを書き込み若しくは再書き込みするためのイニシャルプログラムを意味している。したがって、前記リブートプログラム領域には、前記イニシャルプログラムが記憶されていると解することもできる。   The reboot program means an initial program for writing or rewriting the application program. Therefore, it can be understood that the initial program is stored in the reboot program area.

以上のように、本発明に係るディスクドライブ装置はCD−ROMドライブ装置はもとより、その他の記録情報再生装置や情報記録再生装置などに広く適用することができる。また、ディスクドライブ装置を搭載したコンピュータ装置はパーソナルコンピュータだけでなく、ワークステーション、オフコンなどその名称に拘わらず種々のコンピュータ装置に適用することができる。   As described above, the disk drive device according to the present invention can be widely applied not only to the CD-ROM drive device but also to other recorded information reproducing devices and information recording / reproducing devices. In addition, the computer device equipped with the disk drive device can be applied not only to a personal computer but also to various computer devices such as workstations and office computers regardless of their names.

図1は本発明の一例に係るCD−ROMドライブ装置を示すブロック図である。FIG. 1 is a block diagram showing a CD-ROM drive device according to an example of the present invention. 図2はフラッシュメモリの記憶領域を示す説明図である。FIG. 2 is an explanatory diagram showing a storage area of the flash memory. 図3はリセット処理の一例を示すフローチャートである。FIG. 3 is a flowchart showing an example of the reset process. 図4はATAPI割込み処理の一例を示すフローチャートである。FIG. 4 is a flowchart showing an example of ATAPI interrupt processing. 図5はフラッシュメモリの一括消去単位ブロックとリブートプログラム領域との関係を示す説明図である。FIG. 5 is an explanatory diagram showing the relationship between the batch erase unit block of the flash memory and the reboot program area. 図6はフラッシュメモリ内蔵マイクロコンピュータの製造工程を概略的に示すフローチャートである。FIG. 6 is a flowchart schematically showing the manufacturing process of the microcomputer with built-in flash memory. 図7はリブートプログラム領域に対する不所望な消去を阻止するためのハードウェアプロテクトの一例を示すブロック図である。FIG. 7 is a block diagram showing an example of hardware protection for preventing undesired erasure of the reboot program area. 図8はリブートプログラム領域に対する不所望な消去を阻止するためのハードウェアプロテクトの別の例を示すブロック図である。FIG. 8 is a block diagram showing another example of hardware protection for preventing undesired erasure of the reboot program area. 図9はCD−ROMドライブ装置を内蔵するパーソナルコンピュータの一例ブロック図である。FIG. 9 is a block diagram showing an example of a personal computer incorporating a CD-ROM drive device. 図10はパーソナルコンピュータにCD−ROMドライブ装置が搭載された状態で当該ドライブ装置にアプリケーションプログラムを書込む動作の初期状態を示す説明図である。FIG. 10 is an explanatory diagram showing an initial state of an operation of writing an application program in the drive device in a state where the CD-ROM drive device is mounted on the personal computer. 図11はパーソナルコンピュータにCD−ROMドライブ装置が搭載された状態で当該ドライブ装置にアプリケーションプログラムを書込む動作における動作開始時の状態を示す説明図である。FIG. 11 is an explanatory diagram showing a state at the start of operation in an operation of writing an application program in the drive device in a state where the CD-ROM drive device is mounted on the personal computer. 図12は図11に状態に続くアプリケーションプログラムの転送状態を示す説明図である。FIG. 12 is an explanatory diagram showing the transfer state of the application program following the state shown in FIG. 図13は図12の状態に続く消去/書き込み制御プログラム起動状態を示す説明図である。FIG. 13 is an explanatory diagram showing a start state of the erase / write control program following the state of FIG. 図14は図13の状態に続く消去/書き込み制御プログラムによるフラッシュメモリの消去動作状態を示す説明図である。FIG. 14 is an explanatory diagram showing an erase operation state of the flash memory by the erase / write control program following the state of FIG. 図15は図14の状態に続く消去/書き込み制御プログラムによるフラッシュメモリの書き込み動作状態を示す説明図である。FIG. 15 is an explanatory diagram showing a write operation state of the flash memory by the erase / write control program following the state of FIG. 図16は図10〜図15で説明した書き込み処理の全体的なフローチャートである。FIG. 16 is an overall flowchart of the writing process described with reference to FIGS. 図17は図10に対して消去/書込み制御プログラムをCD−ROMドライブ装置の外部から受け取って当該ドライブ装置にアプリケーションプログラムを書込む動作の初期状態を示す説明図である。FIG. 17 is an explanatory diagram showing an initial state of an operation of receiving an erase / write control program from the outside of the CD-ROM drive device and writing an application program to the drive device with respect to FIG. 図18は図10に対して消去/書込み制御プログラムをCD−ROMドライブ装置の外部から受け取って当該ドライブ装置にアプリケーションプログラムを書込む動作における動作開始時の状態を示す説明図である。FIG. 18 is an explanatory diagram showing a state at the start of operation in the operation of receiving the erase / write control program from the outside of the CD-ROM drive device and writing the application program to the drive device with respect to FIG. 図19は図18の状態に続くアプリケーションプログラムの転送状態を示す説明図である。FIG. 19 is an explanatory diagram showing a transfer state of the application program following the state of FIG. 図20は図19の状態に続く消去/書き込み制御プログラム起動状態を示す説明図である。FIG. 20 is an explanatory diagram showing an erase / write control program activation state following the state of FIG. 図21は図20の状態に続く消去/書き込み制御プログラムによるフラッシュメモリの消去動作状態を示す説明図である。FIG. 21 is an explanatory diagram showing the erase operation state of the flash memory by the erase / write control program following the state of FIG. 図22は図21に状態に続く消去/書き込み制御プログラムによるフラッシュメモリの書き込み動作状態を示す説明図である。FIG. 22 is an explanatory diagram showing a write operation state of the flash memory by the erase / write control program following the state shown in FIG. 図23はサム値格納領域が割り当てられたフラッシュメモリの記憶領域の説明図である。FIG. 23 is an explanatory diagram of the storage area of the flash memory to which the sum value storage area is allocated. 図24はリセット時にサム値を考慮してユーザプログラム領域を書き換え可能にするときの動作フローチャートである。FIG. 24 is an operation flowchart when the user program area can be rewritten in consideration of the sum value at the time of reset. 図25はベクタテーブルをマイクロコンピュータのワークRAMに配置した状態を示す説明図である。FIG. 25 is an explanatory diagram showing a state in which the vector table is arranged in the work RAM of the microcomputer. 図26はフラッシュメモリのアドレスマップの別の例を示す説明図である。FIG. 26 is an explanatory diagram showing another example of the address map of the flash memory. 図27はCD−ROMドライブメーカによるCD−ROMドライブ装置の製造手順の一例を示すフローチャートである。FIG. 27 is a flowchart showing an example of the manufacturing procedure of the CD-ROM drive device by the CD-ROM drive manufacturer. 図28はCD−ROMドライブメーカから出荷されたCD−ROMドライブ装置を用いたPCメーカによるパーソナルコンピュータの評価手順の一例を示すフローチャートである。FIG. 28 is a flowchart showing an example of an evaluation procedure of a personal computer by a PC manufacturer using a CD-ROM drive device shipped from a CD-ROM drive manufacturer. 図29は図27に対してリブートプログラム領域とユーザプログラム領域とに処理プログラムを一緒に書き込む場合の一例フローチャートである。FIG. 29 is a flowchart illustrating an example of writing a processing program together in the reboot program area and the user program area with respect to FIG. 図30はCD−ROMドライブ装置がシリアルポートを持つ場合に当該ポートを介して処理プログラムをマイクロコンピュータに書き込むときの状態を示すCD−ROMドライブ装置のブロック図である。FIG. 30 is a block diagram of the CD-ROM drive device showing a state when a processing program is written in the microcomputer via the port when the CD-ROM drive device has a serial port. 図31はEPROMライタを用いてマイクロコンピュータの処理プログラムを書き込む時の状態を示すマイクロコンピュータのブロック図である。FIG. 31 is a block diagram of a microcomputer showing a state when a microcomputer processing program is written using an EPROM writer.

符号の説明Explanation of symbols

1 ディスク
2 ディスクドライブ装置
3 ホスト
4 ATAPIインタフェース回路
5 マイクロコンピュータ
7 ディジタル信号処理回路
51 中央処理装置
56 電気的な消去及び書き込み可能な不揮発性メモリ
560 リブートプログラム領域
561 アプリケーションプログラム領域
M1 入力制御プログラム
M2 アプリケーションプログラム
M3 消去/書き込み制御プログラム
M4 転送制御プログラム
DESCRIPTION OF SYMBOLS 1 Disk 2 Disk drive apparatus 3 Host 4 ATAPI interface circuit 5 Microcomputer 7 Digital signal processing circuit 51 Central processing unit 56 Non-volatile memory which can be electrically erased and written 560 Reboot program area 561 Application program area M1 Input control program M2 Application Program M3 Erase / write control program M4 Transfer control program

Claims (1)

ATAPIインタフェースを介してホスト装置と接続可能とされ、
回転駆動されるディスクをアクセス制御するアクセス制御部と、前記アクセス制御部の動作を制御すると共に前記ATAPIインタフェースに接続されたマイクロコンピュータとを含み、
前記マイクロコンピュータは、前記ATAPIインタフェースを介して入力されるコマンドに応じて、前記アクセス制御部から読み出された信号に関連するデータの処理を行うプログラムをプログラムメモリから読み出して実行可能とされるディスクドライブ装置。
The host device can be connected via the ATAPI interface,
An access control unit that controls access to a disk that is driven to rotate, and a microcomputer that controls the operation of the access control unit and is connected to the ATAPI interface;
The microcomputer is a disc that can read and execute a program for processing data related to a signal read from the access control unit from a program memory in response to a command input via the ATAPI interface. Drive device.
JP2006112861A 1996-04-11 2006-04-17 Disk drive device Pending JP2006244517A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006112861A JP2006244517A (en) 1996-04-11 2006-04-17 Disk drive device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8961396 1996-04-11
JP24040196 1996-09-11
JP2006112861A JP2006244517A (en) 1996-04-11 2006-04-17 Disk drive device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002055382A Division JP3930344B2 (en) 1996-04-11 2002-03-01 Disk drive device

Publications (2)

Publication Number Publication Date
JP2006244517A true JP2006244517A (en) 2006-09-14
JP2006244517A5 JP2006244517A5 (en) 2007-01-18

Family

ID=37050793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006112861A Pending JP2006244517A (en) 1996-04-11 2006-04-17 Disk drive device

Country Status (1)

Country Link
JP (1) JP2006244517A (en)

Similar Documents

Publication Publication Date Title
KR100568642B1 (en) Atapi disk drive
US6253281B1 (en) Method for updating firmware of a computer peripheral device
US7376943B2 (en) Safe method for upgrading firmware of optical disk product
US7007140B2 (en) Storage device, storage device controlling method, and program
US20060168368A1 (en) Method for updating firmware in the control chip
JPH11120113A (en) Method for upgrading firmware code in optical disk dirve
JP3643367B2 (en) Disk drive device
JP3930344B2 (en) Disk drive device
KR100573639B1 (en) Disk driver
KR100359200B1 (en) Method for executing a firmware
JP2006244517A (en) Disk drive device
US6785762B2 (en) Recording/reproducing device having plural disk units which access an information recording medium including a computer readable recording medium
US20050027966A1 (en) Device and method for digital signal processor code downloading
KR100280972B1 (en) Method and device for upgrading firmware code for optical disk drive through ATA / IDE interface
JP4023137B2 (en) How to change the firmware
JP2005085039A (en) Recording and reproducing device, firmware rewriting method for recording and reproducing device, and program and computer-readable recording medium
JP4058290B2 (en) Medium playback device
JP2010205379A (en) Optical disk device, and computer system
JP2004030742A (en) Optical disk storage medium storing data about firmware, optical disk information recording and reproducing device, and storage medium storing firmware updating program
JP2001229028A (en) Disk reproducing device
JP2002149350A (en) Disk drive device
JPH09106391A (en) Control equipment
KR20100039504A (en) Optical disc drive and method for setting multi-firmware thereof
JPH1196080A (en) Writing method for semiconductor memory device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090804