WO1997038367A1 - Unite de disques et ordinateur - Google Patents

Unite de disques et ordinateur Download PDF

Info

Publication number
WO1997038367A1
WO1997038367A1 PCT/JP1997/001204 JP9701204W WO9738367A1 WO 1997038367 A1 WO1997038367 A1 WO 1997038367A1 JP 9701204 W JP9701204 W JP 9701204W WO 9738367 A1 WO9738367 A1 WO 9738367A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
application program
area
reboot
drive device
Prior art date
Application number
PCT/JP1997/001204
Other languages
English (en)
French (fr)
Inventor
Mitsuo Hagiwara
Hiromasa Takahashi
Satoshi Yamato
Nobuo Shibasaki
Mitsuo Yotsutani
Tsutomu Ishii
Original Assignee
Hitachi, Ltd.
Hitachi Microcomputer System, Ltd.
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 Hitachi, Ltd., Hitachi Microcomputer System, Ltd. filed Critical Hitachi, Ltd.
Priority to TW086104531A priority Critical patent/TW409240B/zh
Priority to US09/171,002 priority patent/US6393561B1/en
Priority to AU25212/97A priority patent/AU2521297A/en
Priority to EP97916631A priority patent/EP1008928A4/en
Publication of WO1997038367A1 publication Critical patent/WO1997038367A1/ja
Priority to US10/765,170 priority patent/US7076649B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Definitions

  • the present invention is applicable to 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 MOD (Magneto Optical Disk) as a medium, a recorded information reproducing apparatus, an information recording / reproducing apparatus including the recorded information reproducing apparatus, and a disk drive concealed generically, and a combination equipped with a disk drive For example, it is used to improve the reliability of rewriting by facilitating the rewriting of the program that controls the recorded information playback operation of the CD-ROM drive device, which is standard equipment in the personal computer. Effective technology. Background art
  • Disk drive devices such as CD-ROM drive devices have rapidly become widespread as recorded information reproducing devices that interface with personal computers and game machines. 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 / data access speed compared to the audio device. In addition, such processing is meaningless in personal computer data processing for audio applications that can perform processing such as data interpolation and preservation of previous values when data cannot be corrected. Overnight error correction iH capability also needs to be strengthened. Therefore, in order to increase the data access speed, in CD-ROM drive devices, etc., the ⁇ wavenumber range of the preamplifier that amplifies the information read from the disk is increased, and the pickup servo path is strengthened.
  • the recording information reproduction speed has been converted to a higher speed in a short period of time.
  • the standard speed linear velocity of a disc for audio CDs
  • the speed is rapidly changing from double speed to 8x speed or more in a cycle of several power months.
  • the recording information reproduction control program (including the constant table, etc.) must be changed. If these programs are provided in a mask ROM, the mask pattern cannot be changed in the extremely short reproduction speed conversion cycle, that is, the product cycle.
  • Japanese Patent Application Laid-Open No. 6-187141 discloses a magneto-optical disk drive.
  • the configuration is such that the processing program is stored in a replaceable ROM. It is shown.
  • the magneto-optical disk drive is connected to the host device.
  • the firmware (processing program) of the controller is stored in a rewritable R0M,
  • the firmware is stored in EEPROM (Electrically Erasable and Programmable ROM).
  • EEPROM Electrical Erasable and Programmable ROM
  • the host device transfers the firmware for the controller to the buffer memory in the controller, and also rewrites the rewrite program stored in the ROM in the controller.
  • the controller Upon receiving the command, the controller rewrites the ROM into firmware for the controller in the buffer memory according to the rewriting program stored in the RAM.
  • the rewriting program previously stored in the R ⁇ M is also updated at the same time.
  • the host device transfers the rewrite program for the driver to the controller RAM via the buffer memory, and transfers the driver firmware to the controller buffer memory.
  • the CPU of the controller is caused to execute the rewriting program stored in the RAM.
  • the controller CPU sets the driver firmware address in the driver RAM according to the rewrite program, and then issues a command to the driver CPU.
  • the driver implements a mask ROM that supports communication and basic commands, Upon receiving the command, the CPU in the driver executes the program of the mask ROM and replaces the EEPROM with the driver firmware in the RAM.
  • the mask ROM is used in addition to the EEPR OM. Is required, which increases the physical size of the system.
  • the mask ROM will be externally connected to a micro-computer or a microprocessor integrated into a semiconductor integrated circuit. In this case, however, the logic for controlling chip selection for an external memory increases. In this respect, too, it is expected that the physical size of the disk drive device will increase.
  • the firmware of the driver and the controller is stored in separate rewritable ROM and EEPROM.
  • the driver firmware is a control program according to the characteristics of the servo control circuit included in the driver.
  • the controller firmware is a control program for realizing the interface specifications corresponding to the host device. Dividing the processing program of the magneto-optical disk drive into a rewritable ROM and an EEPROM in this way is useful in adjusting the driver at the stage of manufacturing the magneto-optical disk drive. After setting the driver's control program so that it can be performed in accordance with the best interface specifications, finally, the controller's controller should be used according to the interface specifications with the target host device. This is because the control program can be rewritten.
  • the present inventor has clarified that in a configuration in which the control program of the controller and the driver is stored separately in the ROM and the EEPROM, the procedure for rewriting the control program is complicated, and the rewriting takes time. Also, the ROM rewrite program for the controller ROM is stored in the ROM, and the mask ROM rewrite program for the driver EEPROM. For this reason, if the CPU goes out of control during operation of the magneto-optical disk device, the rewriting program stored in the disk device or the body may be undesirably executed, and the contents of the ROM and the EEPROM may be destroyed. .
  • the present inventor further studied from the viewpoint of the disk drive device itself and the viewpoint of the interface with the host device in order to facilitate the change of the processing program of the disk drive device.
  • a micro-computer with a built-in electrically erasable and rewritable nonvolatile memory is used to control the disk drive, and the application for the disk drive is installed in the nonvolatile memory.
  • the application program includes a processing program for disk access (access control program) and an external interface processing program for disk drive device (interface processing program). ).
  • the rewrite control program and the input control program held by the nonvolatile memory of the microcomputer A, that is, the input control program must have high reliability.
  • the length of the interface cable is extremely limited, and it is usually sufficient to use the interface with peripheral devices mounted inside the PC housing. Degrees. Today, most PCs are equipped with a CD-ROM drive as standard equipment in the expansion slot or drive pay, but after that, they are usually externally attached as an option.
  • the interface specifications were initially developed based on SCS I or SCS I2.
  • the SCS I interface has a strong characteristic as an option, and the connection of a CD-ROM drive device using the SCS I interface requires an SCS I interface board or an SCS I interface PC card. This will increase the cost.
  • the IDE controller LSI Large Scale Integrated circuits
  • the SCSI controller LSI is less expensive than the SCSI controller LSI.
  • a TAP I (ATA Packet Interface) interface comes in.
  • the interface specifications with the PC board are IDE compliant, and the commands are SCS I or SCS I2 compliant. This eliminates the need for a special interface circuit for mounting a CD-ROM drive device on a PC, and also conforms to the SCSI standard used during the SCSI interface era. This command can be used as is. In other words, it is possible to migrate to a new interface such as an extended IDE while inheriting the past software assets related to CD-ROM drive devices, and to reduce costs. As a result, almost all of the interface specifications of CD-ROM drive devices that are standard on PCs have adopted the ATAP I-interface specification (extension of IDE).
  • the CD-R0M drive unit for ATAPI is mounted as standard on the PC, so it is necessary to disassemble the PC housing to remove the CD-ROM drive unit.
  • the drive program cannot send the application program to the PC maker ahead of time because the performance of the application program cannot be improved in time. This is because it is necessary to send the data to PC manufacturers in stages and complete the drive.
  • the drive maker sends an application program up to 20x speed playback to the PC maker with the same hardware, and then sends an application program with 24x speed and high access speed.
  • gradual steps are taken, such as sending a high-performance application program that improves or tunes the logical deficiencies of the application program.
  • assuming a 24x CD-ROM drive send an application program for the lowest 1x speed and the highest 24x speed playback, and gradually increase the application speed for those middle speeds. What happens when you complete a solution program and provide it to a PC maker?
  • the CD-ROM drive equipped with the A TAP I interface! When the CD-ROM drive is installed as standard on a PC, the CD-ROM drive is dedicated to a specific PC. This is because the tendency to be individualized each time becomes stronger. For example, drive manufacturers often ship standard CD-ROM drive devices to PC manufacturers, but if the drive specifications of PC manufacturers differ from manufacturer to manufacturer, additional drive specifications are required. become.
  • An example of a specification that differs for each PC maker is a reproduction control method for a disc that has eccentricity or runout. For discs with eccentricity or runout, the CD_ROM drive usually automatically lowers the playback speed until the disc can be read.
  • the playback speed when to increase the playback speed after this depends on the specifications of the PC manufacturer.
  • the playback speed may be restored, or the disc may be played back again. In some cases, the speed is not increased.
  • the playback speed may be returned to the original value by using a vendor-unique command.
  • reproduction control is performed by mixing linear velocity constant and constant angular velocity with respect to the disc, and there are various modes of switching between constant angular velocity and constant linear velocity control.
  • the drive manufacturer receives corrections to bugs in the application program, while the CD-ROM is installed on the PC. Efficient evaluation of drive units is absolutely necessary. Therefore, the need to efficiently modify the application program of a CD-ROM drive has become 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 controlling disk access and interface of a disk drive device.
  • Another aspect of the present invention is to provide a disk drive capable of replacing all or part of the application program without increasing the physical scale of the disk drive. is there.
  • Another object of the present invention is to enable a computer device equipped with a disk drive device with a high reproduction speed as standard to be efficiently marketed even in a situation where the reproduction speed conversion cycle is extremely short.
  • a microcomputer with a built-in electrically erasable and writable non-volatile memory is used for controlling the disk drive device, and the non-volatile memory stores the disk access and the infinity in the application program area. Holds an application program including a processing program for face control, and holds a restart program used to update all or part of the application program in the restart program area. I do.
  • the disk drive device includes: an access unit for accessing a disk driven in rotation; an interface circuit connected to the access unit and interfaced with the outside; and an operation unit for controlling operation of the access unit.
  • a microcombiner coupled to the interface circuit.
  • the microcomputer includes an electrically rewritable nonvolatile memory, and a central processing unit that accesses the nonvolatile memory.
  • the nonvolatile memory has a storage area, And an application program area.
  • the previous abbreviated program area has a storage area for an application program executed by the central processing unit to control the access means and the access path.
  • the pre-reboot program area has an area for storing a reboot program that causes the kl central processing unit to execute processing for rewriting the application program area.
  • the central processing unit executes the above-mentioned reset program in response to a command for rewriting the application program area supplied from the outside to the interface path, and rewrites all or a part of the application program area. Also, in response to a disk access command externally supplied to the interface circuit, a previous application program in the application program area is executed to execute the access means and the interface circuit. Control.
  • the application program refers to an operation program including an access control program such as a recording information reproduction control program and an interface control program for controlling an external interface of a disk drive.
  • the access control program controls disk speed control and signal processing according to the playback speed of recorded information.
  • the interface control program performs external interface control for disk access.
  • the rewriting of the application program area can be performed for a part of the application program (either the access control program or the interface control program) or for the whole (access control program and interface control program). Or both programs).
  • the application program includes a plurality of program modules (for example, a plurality of subroutines), it is also possible to rewrite some program modules.
  • the access control program ADA may rewrite only one of the modified programs in the interface control program.
  • the rewrite target of the nonvolatile memory is an application program area. Since the reboot program area is not a target for rewriting, even if an error occurs during the rewriting operation of the nonvolatile memory, if the reboot program is executed again, the operation can immediately shift to the rewriting operation for the application program area, and the rewriting can be performed. There is no need to take time to recover from an abnormal state on the way. Since the rewriting target of the processing program in the disk drive device is only the pre-gci nonvolatile memory, the rewriting control procedure can be simplified and the rewriting time can be shortened. Further, when the nonvolatile memory holding the processing program of the disk drive device is built in the semiconductor integrated circuit or the micro computer, it is possible to suppress an increase in the physical scale of the disk drive device. Thus, the above operation can be obtained.
  • the restore program can include an input control program, a rewrite control program, and a transfer control program.
  • the central processing unit responding to the rewrite command is configured to execute the input control program.
  • the program By executing the program, the whole or a part of the application program supplied from the outside to the previous interface circuit is loaded into a buffer RAM or the like, and the transfer control program is executed by executing the transfer control program.
  • the data is transferred from the reboot program storage area to the internal RAM of the microphone computer.
  • the central processing unit executes the rewrite control program transferred to the built-in RAM to write-control the whole or part of the fetched application program in the abbreviated program area.
  • the host device writes all or a part of the application program to be written in the application program area to the disk drive device following the write command to the nonvolatile memory. Since the transfer is sufficient and the rewrite control program does not need to be transferred, the processing time for updating the application program area can be further reduced.
  • the reboot program may include an input control program and a transfer control program.
  • the central processing unit responding to the rewrite command fetches the application program and the rewrite control program supplied from the outside to the interface circuit by executing the input control program.
  • the transfer control program By executing the transfer control program, the fetched rewrite control program is transferred to the internal RAM of the microcomputer.
  • the central processing unit executes the rewrite control program transferred to the built-in RAM to control the writing of the fetched whole or a part of the application program in the application program area. According to this, since the nonvolatile memory does not have the rewrite control program, the central processing unit runs away and the program stored in the nonvolatile memory is stored. Is performed, there is no possibility that the nonvolatile storage device is accidentally replaced.
  • the reboot program area may further include a vector table and a storage area for a reset processing program.
  • the self-processing unit shifts to the execution of the reset processing program by referring to the vector table in response to the reset instruction, and executes the reset processing program.
  • the central processing unit waits for the input of the rewrite command, and transitions to line # of the reboot program.
  • the central processing unit transitions to a state in which the program in the abbreviated program area can be executed.
  • the application program area may include, in a partial storage area thereof, a sum value storage area for storing a sum value of information held by another storage area, and the restart program area includes a vector table. And a storage area for a reset processing program.
  • 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 executes the rewrite command during execution of the reset processing program. It is determined whether or not it is in the forced restart state that can respond to. In the forced reboot state, the central processing unit waits for the input of the rewrite command and transitions to execution of the reboot program.
  • the central processing unit When not in the forced reboot state, the central processing unit The storage device determines whether a sum value stored in the sum value storage area matches a sum value of information held in the other storage area. If the determination result is unsuccessful, the central processing unit waits for the manual input of the i3 ⁇ 4 rewriting command and transits to the reboot program, and if the determination result matches, the central processing unit returns to the application program area. Executes the program and transitions to the pj-capable state. According to this, when the program in the above-mentioned application program area is undesirably rewritten due to an abnormality in the host device or the disk drive device, the program is reset even if the forced reset state is not instructed. By itself, the operation of the central processing unit can be shifted in a self-diagnosis state to a state in which the application program area can be rewritten, and malfunction of the disk drive device can be prevented.
  • a flash memory having a plurality of memory blocks serving as a batch erasing unit can be employed as the non-volatile memory. At this time, by allocating the reboot program area and the application program area to different memory blocks in phase S, the erasing operation for the application program area can be made more efficient.
  • ATAPI interface specification can be adopted for the interface circuit. According to this, past software assets accumulated for disk drive devices such as SCSI interface specifications are inherited. W
  • a computer device equipped with such a disk drive device has a main board including a microprocessor connected to a bus and a peripheral interface controller, and a disk drive is connected to the interface controller.
  • the device interface circuit is connected. If a PCI bus is used as the bus and the interface controller includes an IDE interface controller and the disk drive is installed as a standard in a convenience device such as a personal computer,
  • the ATAPI interface circuit can be employed for the interface circuit.
  • the main board of the computer When rewriting the application program area of the disk drive device, the main board of the computer is used as a host device, and the application program of the disk drive device is completely or partially rewritten via this host device. be able to. Therefore, the application program of the disk drive device can be changed using the microprocessor without removing the disk drive device from the computer.
  • the conversion cycle of the playback speed in the disk drive unit is extremely shortened, and the disk drive unit is standardly mounted on the computer, so that the drive capability differs according to the specifications of the computer manufacturer.
  • the evaluation period it is possible to evaluate the disk drive while it is still incorporated in the computer while receiving bug fixes and additional functions related to the application program from the drive manufacturer.
  • the above-mentioned disk drive has been implemented with measures such as streamlining the rewriting process for the application program area and quickly returning to the rewriting process by returning to the abnormal state during the rewriting process.
  • the modified application program can be efficiently reinstalled in the non-volatile memory built into the microcomputer. Therefore, the convenience device manufacturer can shorten the evaluation period of the disk drive device.
  • the computer manufacturer can efficiently display a combination device equipped with a disk drive device with a higher playback speed as standard. Can be put in
  • application programs including an access control program such as a recorded information reproduction control program and an interface control program are manufactured by a disk drive device manufacturer or sales company through a communication means such as an internet or the like. It is also possible to supply the equipment to the company or from the equipment manufacturer or its distributor to the users of the equipment. According to this, the abridgement program can be instantaneously sent to the computer manufacturer, its sales company, or the user of the computer. At this time, if the disk drive device or the computer device equipped with the disk drive device is used, the user can immediately upgrade the functions such as the recording information reproduction speed of the device. That is, it is easy for the user to change the function of the product. A brief description of the screen
  • FIG. 1 is a block diagram showing a CD-ROM drive device according to an example of the present invention.
  • FIG. 2 is an explanatory diagram showing a storage area of the flash memory.
  • FIG. 3 is a flowchart showing an example of the reset process.
  • FIG. 4 is a flowchart showing an example of ATAPI interrupt processing.
  • FIG. 5 is an explanatory diagram showing the relationship between the batch erase unit block of the flash memory and the reboot program area.
  • Fig. 6 is a flowchart schematically showing the manufacturing process of a microcomputer with built-in flash memory.
  • FIG. 7 is a block diagram showing one example of hard-air protection for preventing undesired erasure of the reboot program area.
  • FIG. 8 is a block diagram showing another example of a hard disk protector for preventing undesired erasure of the reboot program area.
  • FIG. 9 is a block diagram showing an example of a personal computer having a CD-ROM drive device.
  • FIG. 10 is an explanatory diagram showing an initial state of an operation of writing an application program into a personal computer with a CD-ROM drive device mounted thereon.
  • FIG. 11 is an explanatory diagram showing a state at the start of an operation in an operation of writing an application program into the drive in a state where the CD-R0M drive is mounted in the personal computer.
  • FIG. 12 is an explanatory diagram showing a transfer state of the application program following the state shown in FIG.
  • FIG. 13 shows the start of the erase / write control program following the state of FIG. It is an explanatory view in which a moving state is / j '.
  • FIG. 14 is an explanatory diagram showing an erasing operation state of the flash memory by the erasing / writing control program following the state of FIG.
  • 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.
  • FIG. 16 is an overall flowchart of the writing process described with reference to FIGS. 10 to 15.
  • FIG. 17 is an explanatory diagram showing an initial state of an operation of receiving an erasure / write control program from the outside of the CD-ROM drive device and loading the application program into the drive device with respect to FIG.
  • FIG. 18 is an explanatory diagram showing the state at the start of 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. It is.
  • FIG. 19 is an explanatory diagram showing the transfer state of the application program following the state of FIG.
  • FIG. 20 is an explanatory diagram showing an erase / write control program activation state following the state of FIG.
  • FIG. 21 is an explanatory diagram showing an erase operation state of the flash memory by an erase / write control program following the state of FIG.
  • FIG. 22 is an explanatory diagram showing a write operation state of the flash memory by an erase / write control program following the state shown in FIG.
  • FIG. 23 is an explanatory diagram of the storage area of the flash memory to which the sum value storage area is allocated.
  • FIG. 24 is an operation flowchart for enabling the user program area to be rewritten in consideration of the sum value at the time of reset.
  • FIG. 25 is an explanatory diagram showing a state where the vector table is arranged in the work RAM of the microcomputer.
  • FIG. 26 is an explanatory diagram showing another example of the address map of the flash memory.
  • FIG. 27 is a flowchart showing an example of a manufacturing procedure of a CD-ROM drive device by a CD-ROM drive maker.
  • FIG. 28 is a flowchart showing an example of a procedure for evaluating a personal computer by a PC maker using a CD-ROM drive device shipped from a CD-ROM drive maker.
  • FIG. 29 is an example flowchart in which a processing program is simultaneously written in a print program area and a user program area with respect to FIG.
  • FIG. 30 is a block diagram of a CD-ROM drive device showing a state where a processing program is written to a microcomputer via the port when the CD-ROM drive device has a serial port.
  • Fig. 31 is a block diagram of the microcomputer showing the state when the processing program of the microcomputer is written using the EPROM program.
  • FIG. 1 shows a CD-ROM drive device according to an example of the present invention together with a host device.
  • a CD-ROM disk also simply referred to as a disk.
  • the signal recording speed is constant regardless of the inner and outer positions of the disk.
  • Information is recorded by the CLV (Constant Liner Velocity) method. Have been.
  • CLV Constant Liner Velocity
  • the signal of such a frame is not particularly limited, but is EFM (Eight to Fourteen Modulation) modulated. EFM modulation is a process of converting an 8-bit data per symbol into 14 bits.
  • a 3-bit magic bit is added to remove the DC component after conversion, and NR ZI modulation is performed. Also, the frame has been left behind.
  • the micro-computer device 5 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 micro-computer device 5 responds to the request. Perform control to respond.
  • 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 subjected to decoding and error correction in a digital ⁇ processing circuit 7, and the decoded and error corrected information is stored in a CD-ROM.
  • the signal In accordance with a predetermined format such as CD-I or CD-I, the signal is supplied from a digital signal processing circuit 7 to a CD-ROM decoder 9 via a bus 8.
  • the CD-ROM decoder 9 performs processing such as synchronization signal detection, ding reception, additional ECC error correction, etc. on the information given thereto, and sends the data requested by the host device to the AT API. Output to the host device 3 via the interface circuit 4.
  • the disk 1 is driven to rotate by a disk motor 10.
  • the pickup 11 irradiates a laser beam onto the rotating disk 1 and receives the reflected light at a light receiving section comprising a photo diode to perform photoelectric conversion.
  • Thread mode 1 2 moves pickup 1 1 in the half direction of disc 1.
  • the loading mode 13 moves a tray (not shown) on which the disc 1 is loaded.
  • the digitizing signal processing circuit 7 implements functions such as digitizing, EFM demodulation, CI, C2 correction LE, digital servo, and speed control in accordance with the operation program.
  • the function of the digital servo is to control the thread and sodomo 1 and 2 to control the position of the big up 11.
  • the speed control function controls the rotation speed of the disk drive 10.
  • the C1, C2 error correction function is an error correction performed using an error correction code ⁇ called CIRC (Cross Interleaved Read-Solomon Code), which combines two series of lead solomon codes of C1 and C2.
  • the error correction code corresponds to the parity of the frame.
  • the 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 implemented by the digital signal processing circuit 7 to be a digital signal.
  • the digitized read signal is sequentially processed by the speed control and EFM demodulation functions.
  • the speed control function is to detect the rotation speed of the disk 1 and control the disk motor 10 to rotate the disk 1 at a predetermined speed.
  • the speed control function includes a function of detecting a synchronization signal from a read signal.
  • the EFM demodulation function is to demodulate the EFM-modulated read signal based on the synchronization signal detected by the speed control function.
  • the subcode included in each frame of the demodulated read signal is supplied to the SCI (Serial-Communication 'Interface) circuit 50 of the microcomputer 5 by a signal 700.
  • Ma Microcomputer view 5 performs subcode signal processing on the input subcode by its operation program. In other words, to assemble a given sub-code into a unit of 98 frames, for example, to recognize the time information and index information included in it, and to control the disk mode 10 and the slot mode 12 etc. Is given to the digital signal processing circuit 7.
  • the record information demodulated by the digital signal processing circuit 7 and subjected to the C 1 and C 2 correction is supplied to a CD-ROM decoder 9 via a bus 8.
  • the data provided to the CD-ROM decoder 9 is standardized in a physical format delimited by, for example, a physical sector every 2336 bits.
  • each sector consists of a 12-byte synchronization signal, a 4-byte header, and user data.
  • an additional error correction code such as ECC to enable correction of an error that cannot be corrected even by C1, C2 error correction.
  • the CD-ROM decoder 9 includes a RAM controller 90, an error correction circuit 91, and a synchronous signal detection / dining leave circuit 92, and is connected to a buffer;
  • the RAM controller 90 is a memory controller for the buffer RAM I6.
  • Synchronization signal detection The din / leave circuit 92 detects the synchronization signal from the data for each sector sequentially supplied from the bus 8 and performs the dig-in / leave process.
  • the error correction circuit 90 performs error correction using an additional error correction code on data having an error that cannot be corrected even by the C1, C2 correction.
  • the data that has been left behind and that has been subjected to error correction are sequentially stored in the buffer RAM I6 under the control of the RAM controller 90.
  • the read data held in the buffer RAM 16 is supplied from the ATAPI interface circuit 4 to the host device 3 in a unit of one or a plurality of sectors.
  • the ATAP I interface circuit 4 includes a command buffer 40 and a protocol sequence control circuit 41.
  • the protocol sequence control circuit 41 performs interface control based on the ATAP I interface standard.
  • the AT API interface is connected to a microprocessor, which is the main component of a personal computer, through an existing IDE interface controller, which is used to interface a hard disk drive and the like. It is an interface specification that enables control of the ROM drive device. In the ATAP I interface, commands conforming to the SCSI 2 specifications are sent to the CD-ROM drive as a bucket, and the CD-ROM drive is controlled accordingly.
  • the details of the specifications of the ATAP I interface can be found in the ATA Packet Interface for CD-ROM Revision 1.2, which was developed by a company belonging to the SSF (Small Form Factor) Committee, an external storage device industry group in the United States. is there.
  • the command buffer 40 holds a command sent from the host device 3.
  • the micro computer 5 includes a central processing unit (CPU) 51, an 8-bit timer 52, 53, a 16-bit timer 54, an A / D converter 55, an SCI circuit 50, a flash memory 56,
  • the RAM 57 and the input / output port 59 are provided on a single semiconductor substrate such as single crystal silicon, and although not particularly limited, the circuit modules share the internal bus 58.
  • the flash memory 56 as an electrically erasable and writable nonvolatile semiconductor memory is a memory for storing the operation program and constant data of the CPU 51, and the CPU 51 operates according to the operation program. It controls the preamplifier 14, the digital signal processing circuit 7, the CD-ROM decoder 9, the ATAP I interface circuit 4, and the like.
  • RAM 57 Is a work RAM used for a work area of the CPU 51 and the like.
  • the flash memory 56 has a configuration in which its storage area can be collectively erased in units of predetermined blocks (memory blocks), and data can be replaced in units of blocks. Since such a flash memory is known, its detailed description is omitted, but the memory cell transistor is formed by an insulated gate field effect transistor having a two-layer gate structure having a floating gate and a control gate. Be composed.
  • the operation of writing information to the memory cell transistor can be realized by, for example, applying a high voltage to the control gate and the drain and injecting electrons from the drain to the floating gate by avalanche injection.
  • the threshold voltage of the memory cell transistor is increased from the viewpoint of its control gate, as compared with an erased memory cell transistor in which the write operation is not performed.
  • the erasing operation is realized by, for example, applying a high voltage to the source and extracting electrons from the floating gate to the source side by a tunnel phenomenon, whereby the memory cell transistor is driven from its control gate. The observed threshold voltage is lowered.
  • the threshold voltage of the memory cell transistor is set to the voltage level of ⁇ . That is, the threshold voltage in the write state is increased and the threshold voltage in the erase state is decreased with respect to the word line selection level applied from the pad line to the control gate.
  • a memory cell can be formed by one transistor without using a select transistor.
  • Various control methods for the erasing operation and the writing operation for the memory cell transistor have been realized at present, and a method of performing a batch erasing operation on a memory cell transistor whose source is commonly connected, or Some control gates collectively erase memory cell transistors commonly connected. Block by such an aspect Batch erasing in units is enabled.
  • the erasure block can be specified by specifying the erasure block finger;
  • the operations for the flash memory that is, operations such as erasure, erase verify, damage, write verify, and read, are instructed by setting control information for the flash memory mode register.
  • the processing is performed by the central processing unit 51 according to the operation program.
  • the internal bus 58 is a general term for buses for address, data and control signals.
  • the data bus address bus included in the internal bus 8 is connected to the CD-ROM decoder 9 and the ATAP I interface circuit 4.
  • 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 may 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. This allows the CPU 51 to access the command buffer 40, set control information in the RAM controller 90, and access the RAM I 6 via the RAM controller 90 or directly. .
  • the 16-bit timer 54 obtains information for learning the linear velocity of the big-up 11 with respect to the disk 1.
  • An interrupt signal given to the CPU 51 such as an interrupt signal notifying that an error that cannot be corrected even by the additional error correction code has occurred.
  • Reference numeral 42 denotes an interrupt signal supplied to the CPU 51 from the ATAP I interface circuit 4 and, for example, an interrupt for notifying that a command has been supplied from the host device 3 to the command buffer 40. It is only a signal.
  • signal 501 controls the characteristics of preamplifier 14.
  • the information indicated by 502 is used to control the digital filter, C1, C2 error correction, digital servo, and speed control functions in the digital signal processing circuit 7. Is the control information.
  • the information is output from the input / output port 59.
  • an increase in the speed of reproducing recorded information involves changing the characteristics of the internal circuit of the CD-ROM drive 2. That is, first, the rotational speed of the disk drive 10 and the disk drive 12 must be increased. Second, the coefficients of the digital body filter must be changed accordingly. Third, since the time that can be spent on CI and C2 error correction is shortened by increasing the reading speed, it is necessary to adopt a program in which the CI and C2 correction capability is changed (decreased). For example, when up to 6 symbols can be corrected at 4 ⁇ speed, the correction capability is reduced to 4 symbols at 6 ⁇ speed.
  • the characteristics of the preamplifier 14, such as gain / frequency band, must be changed.
  • the operating frequency of the digital signal processing “nJ road 7 must also be increased.
  • the countermeasures for the first to third changes are hardware changes. Regardless of this, it can be easily dealt with by changing the operation program of the CPU 51.
  • the frequency characteristics of the addition and waveform equalizer (not shown) of the preamplifier 14 are quadrupled, By providing a circuit for switching to optimally support 6 ⁇ speed, 8 ⁇ speed, and higher, the characteristics can be switched by using an operation program of the CPU 51.
  • the frequency characteristics can be optimally switched by the configuration in which the resistance and capacitance values of the waveform equalization filter arranged in the feedback system of the addition circuit mainly composed of an amplifier are selected via the switch.
  • the recording information reproduction operation and the external interface operation in the CD-ROM drive device 2 are controlled by the CPU 51 executing the recording information reproduction control program and the interface control program included in the application program.
  • the recording information reproduction control program is a generic term for operation programs for servo control for the disk drive, operation control for the digital signal processing circuit 7, CD-ROM decoder 9 and the like.
  • the interface control program is a generic term for a processing program that implements command interface control for the ATAPI interface circuit 4 and the like. Therefore, in the CD-ROM drive device 2, the application program is a general term for a processing program for reproducing information recorded on a disc and providing the host device 3 with reproduction information.
  • the flash memory 56 has a storage area of a program area 560 and an application program area. (Hereinafter also referred to as a user program area).
  • the user program area 561 is an area for storing the application program M2.
  • the boot 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.
  • the input control program M1 is used to store all or a part of the application program which is externally supplied to the ATAP I interface circuit 4 and which is to be tampered or rewritten into the buffer RAM 16 for example. Is a program for the interface to be executed.
  • the erase / write control program M3 is executed by the CPU 51 in order to control the writing of the application program of the entire area loaded into the buffer RAM 16 into the user program area 561.
  • This is a rewrite control program.
  • the transfer control program is a program for controlling the transfer of the erase memory control program M3 stored in the reboot program area 560 to the work RAM 57 by the CPU.
  • the CPU 51 executes the erase / write control program M3 transferred to the work RAM 57, and writes all or a part of the application program M2 in the buffer RAM 16 to the user program area 561. Will be.
  • the restart program area 560 further includes a vector table 560A in which a vector address is stored, and a storage area 560B of a predetermined program referred to by the vector address of the vector table 56OA.
  • the vector table 56OA includes a reset vector BCT1 and an ATAP I interrupt vector BCT2.
  • the program storage area 560B includes a reset processing program PRG1 and an ATAP I interrupt processing program PRG2.
  • the reset processing program PRG1 is referred to by the reset vector BCT1. That is, when there is a power-on reset or a hardware or software reset instruction, the CPU 51 reads the reset vector BCT1, and the reset processing-program PRG1 specified by the reset vector BCT1. Branch to the first address of FIG. 3 shows a flowchart of the reset process.
  • the reset process first, the internal initialization or the initial setting of the internal circuit are performed (S1).
  • the microcomputer 5 determines whether or not to perform on-board writing or replacement of the application program, that is, whether or not the user is in the user boot mode (S2).
  • the start condition of the user reboot mode is not particularly limited, but a predetermined switch, for example, an eject switch of a disc is pressed when the power of the CD-ROM drive device 2 is turned on.
  • a user boot mode instructed by operating an object switch or the like is also referred to as a forced reboot mode. If it is not in the forced repeat mode, the process proceeds to the execution of the application program M2 (S3).
  • the reset flag is set (S4), and thereafter, an ATAP I interrupt is awaited (S5). For example, a flag (not shown) included in the CPU 51 or a predetermined bit of the control register is assigned to the restart flag.
  • the ATAP I interrupt processing program PRG2 is referred to by the ATAPI interrupt program BCT2. That is, in the ATAPI protocol, a command is arranged at the head of the series of information supplied to the ATAP I interface circuit 4. The command is taken into the command buffer 40. When the command is taken into the command buffer 40, the ATAP I interface circuit 4 notifies the CPU 51 of the fact by the interrupt signal 42. When the CPU 51 receives the ATAP I interrupt, it branches the ATAPI interrupt processing program PRG2 with reference to the ATAPI interrupt vector BCT2.
  • FIG. 4 shows a flowchart of the ATAPI interrupt processing program.
  • CPU 51 sends command buffer when ATAP I interrupt The command is read from 40 and solved (S10). Then, the above-mentioned reset flag is checked. If the reboot flag is not set, a predetermined processing routine included in the application program M2 is executed according to the decoding result of the command, for example, in order to extract recording information from the disk 1. Record control of raw control is started (S12). When the reboot flag is set and the command is a predetermined command (pender unique command), a reboot program for on-boarding the recording information reproduction control program is executed. Is done.
  • execution of the f1 ⁇ 2 reboot program refers to the CPU 5
  • the work RAM 57 is maintained: ⁇ Execute the erase / write control program ⁇ 3 That is, all or a part of the application programs in the buffer RAM 16 are harmed to the user program area 561 and controlled.
  • the vendor unique command is not particularly limited, it is code information that is not standardized (or unused) in the ATAP interface specification.
  • the abbreviated program M2 stored in the user program area 561 is composed of a main program, a processing program divided into subroutines, and a secondary vector table which gives the program addresses of branch destination subroutines. It is configured.
  • the program counter (not shown) of the CPU 51 executes the application program M2. Is forced to the first address of the processing program in the above, thereby executing the application program starting from that program address o
  • the flash memory 56 includes a plurality of memory blocks (BLK0 to BLKn) which are unitary erase units.
  • the reboot program area 560 and the user program area 561 are assigned to different memory blocks.
  • the memory block BLK0 is allocated to the restart program area 560.
  • the erase / write control program M3 targets only the user program area 561 for writing. 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 due to its control operation. In other words, the erase / write control program M3 does not write the reboot program area 560. In this sense, rewriting of the reboot program area 560 is prevented.
  • the initial write reliability must be high. To guarantee this, it is desirable, but not limited, to write such programs in the microcomputer manufacturing process.
  • Fig. 6 schematically shows the manufacturing process of the microcomputer.
  • 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 P 1).
  • a wafer inspection is performed on the manufactured wafer (step P 2), and a probe inspection is performed for the circuit function on the wafer.
  • the pass / fail of the microcomputer chip on the wafer is judged (step P 3).
  • a plurality of micro-viewing chips are cut out from the wafer by dicing, and good chips are assembled through bonding and packaging energy (Step 4).
  • Step No. 5 After assembling, the micro-computer is operated with the ambient temperature and operating voltage as the upper limits of the allowable limits, and aging is performed to predict defects that will occur in the near future in advance (Step No. 5). After aging, micro-viewing LSIs are selected using a tester (step P 6). This sorting step includes an erasing and writing test for the built-in flash memory 56. Utilizing this step, a reboot program such as the erase Z write control program is written in the reboot program area. It is easy to perform the operation test on the written reboot program. After the sorting process, the LSI is stocked, the shipment is inspected before shipment (Step P7), and those that are not inconvenient in inspection are shipped (Step S8).
  • the erase / write control program M3 does not make the reboot program area 560 an erase / write target. This is the so-called software protection. Hardware protection means may be provided to prevent the reboot program area 560 from being undesirably erased or written due to runaway of the CPU or defective user program.
  • FIG. 7 shows an example for hardware protection.
  • reference numeral 562 denotes an erase block designation register for designating a memory block to be erased in a batch.
  • the erase block designation register 562 is one pair for the memory blocks BLK0 to BLKn. 1 has corresponding control bits ES0 to ESn, and the control bits ES0 to ESn instruct the flash memory 56 to erase the corresponding memory block by a logical value of 1.
  • Reference numeral 563 denotes an erasure prohibition block designation register for designating a memory block for which erasure is prohibited regardless of an erasure instruction by the erasure block finger registry 562. For example, referring to FIG.
  • the erase stop block designating register 563 has control bits IH0 to IHn corresponding to the memory blocks BLK0 to BLKn on a one-to-one basis. G. IH0 to IHn inhibit the erasure of the corresponding memory block by the logical value 0.
  • the corresponding bits between the erase block designation register 562 and the erasure-prohibited block designation register 563 are supplied to the 2-input AND gates AND 0 to AND n, and the outputs of the AND gates AND 0 to AND n are output to the flash memory 56. Is supplied as erasure block instruction information.
  • the CPU 51 sets both the erase block designation register 562 and the erasure prohibition block designation register 563.
  • the data setting for the erasure prohibition block designation register 563 can be performed by the initialization reset. For example, set IH 0 to logical 0. According to this configuration, when the CPU 51 runs away during the execution of the erase / write control program M3, the value of the register 562 is changed unless the value of the register 563 is undesirably rewritten. However, the boot program area 560 is not deleted.
  • FIG. 8 shows another example for realizing hardware protection.
  • reference numeral 562 denotes the same erase block designation register as FIG.
  • the 564 decodes the data supplied from the external terminals T 0 to T i of the microcomputer 5 and outputs an erasure prohibition signal for each memory block.
  • the erase block designation register 562 is set by the CPU 51 via the internal bus 58.
  • Internal bus 58 and eraser Regarding the question of the input of the input register 562, the 2-input AND gates AND 0 to AND n are arranged. One of the AND gates AND 0 to AND n is supplied with the signal line of the internal bus 58 for each bit, and the other input is supplied with the erase inhibit signal for each bit. You.
  • the output of the AND gate to which the erasure prohibition signal of logical value 0 is supplied is always logic ⁇ 0, and the control bit of the erase block designation register corresponding to the output of the AND gate is logical. It is not set to the value 1 (erase instruction level). For example, when the memory block: BLK 0 is assigned to the reboot program area, if the external terminals T 0 to T i are pulled up or down so that the output of the AND gate AND 0 always has the logical value 0, C Even when the PU 51 runs away, there is no possibility that the reboot program area 560 will be replaced.
  • the microcomputer 5 is mounted on the wiring board (board) together with the ATAP I interface circuit 4 and the CD-ROM decoder 9 and the like.
  • the CPU 51 of the microcontroller 5 executes the reboot program of the built-in flash memory 56 to allow the user to execute the reboot program.
  • All or a part of the 561 application program M2 in the program area can be updated with a new program supplied from the host device 3 to the AT API interface circuit 4.
  • the CD program can be rewritten only by rewriting all or a part of the application program M2 with necessary modifications according to the improvement of the playback speed.
  • the present invention is not limited to this, and may be a part thereof. Only the reproduction control program included in the application program may be replaced. In other words, if the necessary corrections cover the entire application program, the whole may be damaged, and if the required correction is completed in the-part of the application program, the part may be damaged.
  • the rewrite target of the flash memory 56 is the user program area 561. Since the restart program area 560 is not a target for rewriting, even if an error occurs during the rewriting operation of the flash memory 56, if the reboot program is executed again, the user program area 561 is immediately rewritten. A transition to rewrite operation can be made, and there is no need to recover from an abnormal state during rewrite.
  • the control procedure of the replacement can be simplified and the rewriting time can be shortened. Furthermore, since the application program and the boot program are stored together in the flash memory 56, the physical size of the CD-ROM drive device 2 is smaller than when each program is stored in a separate memory. The above effect can be obtained by minimizing the increase of.
  • 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 device 3 stores the application program to be written in the user program area 561 following the write command for the flash memory 561 and the CD-ROM drive device. 2, the rewriting control program does not need to be transferred, so that the processing time for updating the user program area 561 can be further reduced.
  • the reboot program area 560 has a reset vector BCT1 and a storage area for a reset processing program PRG1. At this time, the CPU 51 refers to the reset vector BCT1 in response to the reset instruction, and shifts to the execution of the reset processing program PRG1.
  • the system transitions to the execution of the reboot program after waiting for the input of the rewrite command, and when not in the forced reboot state, the application program in the user program area can be executed. Transition to the state. Therefore, even if an error occurs during rewriting of the flash memory 56, if the reset is performed and the forced reboot mode is instructed, the error can be easily recovered and the flash memory 56 can be replaced with II. You can go back. Also in this regard, the processing time for updating the user program area can be reduced.
  • 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 divided into different memory blocks: 1 , the erasing operation for the user program area 561 can be made more efficient. In other words, when rewriting the user program area 561, the erasing operation of the area can be performed together. Since the ATAPI interface circuit 4 is used for the interface with the host device 3, the CD-ROM drive device 2 inherits the past software assets accumulated for disk drive devices such as SCSI interface specifications. In addition, a new interface such as an extended IDE can be adopted, and the cost can be reduced.
  • the I-interface specification conforms to the IDE interface, which is widely used in the field of personal com- puters, etc., so when rewriting the user program area 561, the CD-ROM drive unit i- The above host system can be used.
  • the setting of the personal computer can be performed by rewriting the reproduction control program using the personal computer while the CD-ROM drive device is installed in the personal computer. .
  • FIG. 9 shows an example of a personal computer 30 incorporating the CD-ROM drive device 2.
  • the microprocessor 31 is connected to an internal bus (PCI bus) 33 compliant with the PCI bus standard via a peripheral component interconnect (PCI) controller 32, although not particularly limited.
  • PCI peripheral component interconnect
  • the internal bus 33 is connected to an IDE interface controller 34 typically shown as a peripheral controller, and the CD-ROM drive device 2 is connected to an ATAP I / O interface 35 as an interface cable.
  • the IDE controller is connected to the above-mentioned IDE controller 34 via a.
  • the IDE interface controller 34 also controls the interface between the hard disk device 36 and the internal bus 33.
  • the microphone processor 31 PC I-path controller 32, internal bus 33, and IDE interface controller 34 constitute a PC board (main board) 37.
  • the PC board 37 CD-ROM drive device 2 and the hard disk device 36 are housed in a common case (housing).
  • peripheral controllers such as a central electronics interface controller which performs a parallel interface with a graphics accelerator, a pudding, etc.
  • flow A floppy disk controller that controls the interface with the floppy disk drive is mounted on the internal bus 33.
  • FIG. 9 corresponds to FIG. 1, the first host device 3 is a portion of the personal combination device 30 in FIG. 9 excluding the CD_ROM drive device 2.
  • the connection state between the CD-ROM drive device 2 and the IDE interface controller 34 is not changed, or the CD-ROM drive device 2 is connected to the housing of the personal computer 30.
  • the utility program is executed by the microprocessor 31, and the rewriting command is transferred to the CD-ROM drive 2, and the new abbreviated program is transferred to the CD-ROM drive 2.
  • the cow control program of the ROM drive device 2 can be easily updated.
  • Fig. 10 to Fig. 15 show the personal convenience shown in Fig. 9.
  • FIGS. 101 to 15 The operation in which the application program of the CD-ROM drive device 2 is harmed in the state where it is mounted on 0 is shown in order.
  • the CD-ROM drive device 2 is shown enlarged outside the housing 38 of the personal computer 30.
  • Fig. 10 shows the initial state, and CD-ROM drive 2 is AT AP
  • the rib 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 a user program area 56 in which the application program M2 is stored. 1 is assigned to different memory blocks.
  • the application program for example, reset the CD-ROM drive device 2 and press the eject switch of the disc to force the CD-ROM drive device 2 to perform the forced reboot.
  • Set the mode For example, the floppy disk FD has an application program with bugs fixed or purged up, and a utility program for writing the application program to a CD-ROM drive ⁇ : 2. It is stored.
  • This utility program is transfer software for transferring the application program to the CD-OM 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.
  • the microphone processor 31 of the personal computer 30 executes a write command to the flash memory 56 (the aforementioned vendor unique command). ) Is output via the IDE interface controller 34.
  • the ATAP I interface circuit 4 sends an AT API interrupt signal 42 to the CPU 51.
  • the CPU 51 executes the input control program M1, and clears the contents of the buffer RAM 16 first.
  • the microprocessor 31 of the personal computer 30 sends a new application program (new application program) via the IDE interface controller 34 following the write command. Output.
  • the CPU 51 executes the input control program M1. This allows the CPU 51 to buffer the application program supplied to the ATAP I interface circuit 4 Stored in AM 16 sequentially. If parity information is added to the information sequentially supplied to the ATAPI interface circuit 4, a parity check is performed, and retransmission is requested for a data program having an error.
  • the CPU 51 executes the transfer control program M4.
  • the CPU 51 controls the transfer of the erase / write control program M3 to the work RAM 57 of the microcomputer overnight 5.
  • the CPU 51 executes the erase / write control program M3 stored in the work RAM 57. Move on to execution.
  • the erase block is specified in accordance with the erase / write control program M3.
  • Microcomputer 5 is supplied with a high voltage for writing and erasing.
  • the CPU 51 sequentially stores a new application program as a new re-control program stored in the buffer RAM 16 in the user program area 5 of the flash memory 56.
  • 6 Write operation to 1 and write verify operation are performed. Although not particularly limited, the write address and the like are specified by the erase / write program.
  • FIG. 16 schematically shows a flowchart of the operation of rewriting the user program area.
  • the transfer software is started
  • the CPU 51 transfers the new application program supplied from the microprocessor 31 via the ATAP I interface circuit 4 to the buffer RAM 16 and also executes an erase / damage control program. Is transferred to the work RAM 57 (S20).
  • 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.
  • the user program area 56 1 of the flash memory 56 is erased (S 22), and then the new application transferred to the buffer RAM 16
  • the content program is written into the user program area 561 of the flash memory 56 (S23).
  • a writing verification is performed for the writing operation (S24).
  • the rewriting process of the user program area 561 as described above can be carried out by the CD-R ⁇ M drive maker using the host device 3, but it is shown in FIG. 10 to FIG.
  • the CD-ROM drive device 2 when the CD-ROM drive device 2 is installed as a standard in the personal computer 30, when the personal computer manufacturer evaluates the CD-ROM drive device 2 on the personal computer 30, It can be positioned as a method to reinstall the bug-fixed abbreviated program into the user program area 561.
  • the PC board 37 of the personal computer 30 is used as a host device.
  • the application program of the CD-ROM drive device 2 can be rewritten via the PC board 37. Therefore, without removing the CD-ROM drive device 2 from the personal convenience device 30,
  • the processor 31 can be used to change all or part of an application program such as a re-control program and an interface control program of the CD-ROM drive device 2.
  • the cycle for changing the raw speed in the CD-ROM drive device 2 is extremely shortened, and the CD-ROM drive device II 2 is provided as standard equipment in the personal computer 30, whereby the CD-ROM drive power is reduced.
  • the CD-ROM drive device 2 can be evaluated while being incorporated into the personal computer 30 while receiving bug fixes and additional functions related to the application program.
  • measures are taken to streamline the rewriting process for the user program area 561, to quickly recover from an abnormal state during the rewriting process, and to return to the rewriting process.
  • the flash memory 56 built in the microcomputer 5 can be efficiently rewritten with the modified application program throughout the evaluation period of the CD-ROM drive device 2. Therefore, the PC manufacturer can shorten the evaluation period of the disk drive device.
  • the personal computer maker may use a personal computer with the faster CD-ROM drive 2 as a standard feature. 30 evenings will be able to be put on the market efficiently.
  • the above-mentioned abrication program is a communication step such as an Internet connection, etc., from the manufacturer or sales company of the CD-ROM drive equipment 2 to the personal computer manufacturer, or from the sales company to the personal computer manufacturer. It can also be used to supply computer end-users. According to this, the application program can be instantaneously sent to the end user of the computer or its sales company or personal computer. Therefore, if the personal computer 30 is provided with hardware and software for accessing the computer, a version-up or bug-corrected playback control program is required. It can be easily re-installed in the program area 561, reducing the time required for evaluation of the CD-ROM drive by the PC maker, as well as the end user's CD-: OM drive function. Changes can be facilitated.
  • the erase / write control program M3 is arranged in the reboot program area 561 of the flash memory 56, work is performed from there, and transferred internally to the RAM 57 so that the CPU 51 executes the program. .
  • the erase / write control program M 3 is not stored in the flash memory 56, and each time the user program area 56 1 is rewritten, the work RAM 5 7 Can be downloaded to According to this, since the flash memory 56 does not have the erase / write control program, the CPU 51 runs away and the program stored in the flash memory 56 becomes inadequate. Even if the flash memory 56 is executed as desired, there is no possibility that the flash memory 56 will be rewritten.
  • FIG. 17 to FIG. 22 show that the CD-ROM drive 2 is mounted on the personal computer 30 when the flash memory 56 does not have the erase program M3.
  • the operation of changing the application program is shown step by step. 17 to 22, the CD-ROM drive device 2 is shown in an enlarged form outside the housing 38 of the personal computer 30.
  • FIG. 17 shows an initial state, in which the CD-ROM drive device 2 is connected to the IDE interface controller 34 via an ATAPI node 35.
  • the erase / write control program M3 is not stored in the reboot program area 560.
  • the CD-ROM drive device 2 when rewriting the application program, for example, the CD-ROM drive device 2 is reset and the eject switch of the disc is pressed, and the CD-ROM drive device 2 is rewritten.
  • Set the forced reboot mode For example, the floppy disk FD contains an application program with a bug fixed or purged up, and an erasing / writing for the CPU 51 to rush to write the application program into the user program area 561.
  • a utility program that is executed by the microprocessor 31 and causes the CPU 51 to execute the rewriting process of the user program area 561.
  • 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. Insert the above floppy disk FD into the floppy disk drive of Personal Computer View 30 -Start the utility program.
  • the utility program may be stored in the hard disk device 36.
  • the microphone processor 31 of the personal computer 30 sends the flash memory 56 to the? ?
  • a write command (the vendor unique command) is output via the IDE interface controller 34.
  • the ATAP I interface circuit 4 sends an ATAP I interrupt signal 42 to the CPU 51.
  • the CPU 51 executes the input control program M1, and clears the contents of the buffer RAM 16 first.
  • the microphone port processor 31 of the personal computer 30 transmits a new abbreviated program (new application program) and an erase / write control program following the write command. Output via IDE interface controller 34.
  • the CPU 51 executes the input control program M1. As a result, the CPU 51 sequentially stores the application program and the erase / write control program supplied to the ATAP I interface circuit 4 in the buffer RAM 16.
  • the CPU 51 moves to the execution of 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 in the microphone opening convenience store 5.
  • the CPU 51 shifts to the execution of the erase / write control program M3 stored in the work RAM 57.
  • the erase block is specified in the erase / write control program M3. This is done accordingly.
  • the microcomputer 5 includes
  • 3 ⁇ 4 River high voltage is supplied.
  • the erase / write control program is executed, first, the user program area 561 of the flash memory 56 is erased and verified. Next, as shown in FIG. 22, the CPU 51 sequentially stores the new application programs stored in the RAM 16 into the user program area 561 of the flash memory 56. The write operation and the write verify operation are performed. 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.
  • Checksum for user program area >>
  • the setting of the forced reboot mode described above is based on the condition that the eject switch is operated.
  • a description will be given of the CD-ROM drive device 2 which can set an operation mode in which the user program area 561 can be rewritten in addition to the forced reboot mode.
  • the user program area 561 has a sum value storage area M 21 for storing a sum value of information held in another storage area in a part of the storage area. Is different from FIG. Writing of the sum value to the sum value storage area M 21 is performed for each write operation to the user program area 561.
  • the reboot program area 560 has a storage area for the reset vector BCT1, the reset processing program PGM1, and the like, as described with reference to FIG.
  • FIG. 24 shows an operation flow chart when the user program area 561 is made rewritable in consideration of the sum value at the time of reset.
  • the CPU 51 When there is a reset interrupt, the CPU 51 responds to the reset instruction. Then, by referring to the reset vector BCT1, the process shifts to the execution of the reset processing program PRG1 (S30), and the inside of the microcomputer overnight 5 and its peripheral circuits are initialized (S31).
  • the forced rib mode can respond to the rewrite command (S32). That is, if the eject switch is pressed, it is determined that the forced reboot mode is set.
  • a transition is made to the execution of the re-start command before waiting for the manual operation of the rewrite command. That is, a reboot flag is set (S33), the reboot program is started after the input of the rewrite command (S34), and a new user program area 561 is added as described above.
  • Write the application program (S35). At the end of this processing, the sum value of the data in the user program area is calculated, and the calculated value is stored in the sum value storage area M 21.
  • the CPU 51 calculates the sum value of the user program area 561 (S36), and the calculated value is stored in the sum value storage area M21. It is determined whether the value matches the sum value (S37).
  • step S37 If the result of the determination in step S37 is inconsistent, a transition is made to the execution of the reboot program after waiting for the input of the rewrite command. If the result of the determination in step 37 is a match, the secondary vector table is referenced (S38), and a transition is made to a state in which the program in the application program area 561 can be executed (S39).
  • the application program is the flash memory 5
  • the reboot program was located in the reboot program area 560.
  • the program arrangement in the CD-ROM drive device 2 can be changed as follows. For example, as shown in FIG. 25, a vector table may be arranged on the work RAM 57. If the vector table is converted to a RAM, it becomes easy to dynamically change the contents of the vector table according to the operation mode of the CPU 51 or the like.
  • FIG. 26 shows another example of the address map of the flash memory 56.
  • the reset processing program PRG1 specifies processing for checking the sum (SUM) value and detecting the operation of the forcible restart mode SW (eject switch).
  • the boot processing program M23 included in the application program area 561 specifies the same processing as the PRG2, M1, M3, and M4 programs in the reboot program area 560. That is, even in a state where the application program of the user program area 561 can be executed, the user program area 561 can be rewritten by accepting the rewrite command. In this case, there is no need to operate the eject switch or check the sum value.
  • FIG. 27 is a flowchart showing a manufacturing sequence of the CD-ROM drive 2 by the CD-: OM drive maker.
  • a port 581 (in Fig. 1) for connecting the internal bus 58 of the microcomputer 5 to the outside as shown in Fig. (Not shown) is connected to the E PROM writer 580.
  • a high write voltage is applied to the microcomputer 5 and the program mode is set to microcom 5.
  • Microcomputer 5 in which the program mode is set is regarded as the same as a single flash memory LSI for the EEPROM 582, and the EEPROM 582 uses the built-in flash memory 56 of the microcomputer 5. It becomes rewritable from outside. In this state, the reboot program and the like are initially written in the reboot program area 560 of the flash memory 56 by the EEPROM 580 (S41).
  • Microcomputer Evening Reboot Program After writing to the area 560, the microcomputer 5 is mounted on the wiring board of the CD-ROM drive device 2 (S44).
  • the same circuit blocks as those of FIG. 1 are denoted by reference numerals.
  • the microcomputer 5 If writing to the reset program area 560 of the microcomputer 5 has already been completed by the LSI maker (S42), the microcomputer 5 is connected to the CD-ROM drive 2 as described above. It is mounted on a wiring board (S45).
  • the control is performed by a host device 584 coupled via a serial port 583 such as RS23C.
  • the microcomputer 5 illustrated in FIG. 30 is different from the microcomputer 5 in FIG. 1 in that an SCIM path 585, a boot ROM 586, and a port 587 are added.
  • the CPU 51 starts the boot ROM. 5 Execute the 86 boot program.
  • the CPU 51 executes the boot program to erase the entire flash memory 56, initialize the SCI circuit 585, and enable the interface with the host device 584 via the serial port 583.
  • the CPU 51 writes and controls the program supplied from the host device 584 into the reboot program area 560 of the flash memory 56.
  • the reboot program described in FIG. 2 and the like are written in the reboot program area 560 of the flash memory 56.
  • the writing speed using the serial port 584 is generally slow in nature.
  • the circuit board of the CD-ROM drive device 2 must be specially provided with a serial port 583 that is not directly used for the disk access operation. It must be noted that the physical size of the circuit board of the device increases. If priority is given to reducing the physical size of the CD-ROM drive device, it is advisable not to provide a configuration for writing a program via such a serial port 583.
  • the microcomputer 5 is reset and the user program area 561 is written.
  • the forced repeat program mode is set (S47).
  • the reboot program is started, and an application program such as an application program is written in the user program area 561 (S48). It is determined whether the writing has been performed normally (S49), and if there is an error, the reboot program is started again (S50). If the data has been written normally, the written application program is executed on the micro computer view 5 to test the operation of the CD-ROM drive device 2 (S51). No abnormality found during operation test CD-ROM drive 2 is shipped to a PC manufacturer (S52).
  • step S41A shown in FIG. 29, all programs are written to the reboot program area 560 and the user program area 561 of the flash memory 56 using the EPROM write.
  • step S 4 2 A microcomputer 5
  • the LSI maker that manufactures the above writes all the programs.
  • step S43A the CD-ROM drive maker uses the boot mode of the microcomputer 5 to write all the programs.
  • FIG. 28 is a flowchart showing an example of the evaluation order of the personal computer by the PC maker using the CD-R ⁇ M drive device 2 shipped from the CD-R0M drive maker.
  • the PC maker incorporates the CD-R • M drive device 2 shipped from the CD-ROM drive maker into the corresponding personal computer 30 (S53).
  • the CD-ROM drive device 2 is connected to the IDE interface controller 34 of the PC board 37 via the ATAP I interface path 4.
  • the PC maker accesses the CD-ROM drive device 2 while causing the microprocessor 31 of the personal computer 30 to execute a required test program or an arbitrary application program, and accesses the CD-ROM drive device 2.
  • step S54 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 sent to the CD-ROM drive maker. Reportedly. At this time, the CD-ROM drive 2 itself is connected to a personal computer 30 It does not need to be removed from the CD-ROM and sent back to the CD-ROM drive maker.
  • CD—ROM drive maker modifies the application program accordingly (S56).
  • the corrected application program is transmitted to the PC maker via, for example, an internet (S57).
  • the transmitted patch program can be received at the part-nal console used for the actual evaluation.
  • the received corrected application program is written to 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 to the microcomputer 5 as described above. It is determined whether the teeth have been properly engaged (S59), and if there is an abnormality, the re-start program is started (S60). If the model is successfully incorporated, the evaluation of the personal computer for that model is completed.
  • the modified abbreviated program can be easily copied to the CD-ROM drive 2.
  • the CD-ROM drive device 2 can be evaluated in a short period of time after the CD-ROM drive device 2 is installed in the personal computer 30.
  • the CP maker When shipping a personal convenience store, the CP maker must re-install the modified application program on the CD-ROM drive device, and will do so.
  • the PC maker writes the CD (ROM drive ID (identification) information) to the flash memory 56, it does so. And the personal computer of that model goes to the end user. Will be shipped (S61).
  • the setting of the reboot mode is not limited to the above example, but can be set only by the vendor unique command.
  • the processing of the CPU is user-library using the decoding result of the vendor unique command.
  • -It can be transferred to a program for security.
  • a state in which nothing is stored in the secondary vector table at the beginning of the application program ( For example, all bit logical values 0 or 1) may be detected by software, and the mode may be shifted to the user-reboot mode.
  • the calculation for obtaining the sum value can be performed not only by simply adding the 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.
  • the disk drive device has a CD-ROM drive. It can be widely applied to other recording information reproducing devices and information recording / reproducing devices as well as live devices. Further, the computer device equipped with the disk drive device can be applied not only to a personal computer but also to various viewing devices such as workstations and office computers regardless of their names.

Description

明 細 書 ディスク ドライブ装置及びコンピュータ装置 技術分野
本発明は、 CD— ROM (Compact Disk-Read Only Memory) 、 D V D (Digital Versatile Disk, Digital Video Disk), DVD— ROMヽ DVD - RAMヽ CD I (Compact Disk-Interactive) , D V I (Digital Video Interactive) 、 又は MOD (Magneto Optical Disk) 等を媒体 として用いる記録情報再生装置、この記録情報再生装置を含む情報記録 再生装置、 そしてそれらを総称するディスク ドライブ装匿、 さらにはデ イスク ドライブ装置を搭載したコンビユー夕装置に関し、 例えば、 パー ソナルコンビュ一夕に標準搭載された CD— R OM ドライブ装置の記 録情報再生動作などを制御するプログラムの書き換えを容易化すると 共に書き換えの信頼性を向上するのに適用して有効な技術に関する。 背景技術
CD— ROM ドライブ装置などのディスク ドライブ装置は、パーソナ ルコンピュータやゲーム機などとィン夕フェースされる記録情報再生 装置として急速に普及してきた。この CD— R OMドライブ装置などは、 オーディォ用 C Dプレーヤの規格をベースにしているため、オーディオ 用に比べてデ一夕転送速度ゃデ一夕アクセス速度を向上させることが 要求される。 また、 データの誤り訂正不能な場合にデ一夕補間や前値保 持などの処理が可能なオーディオ用途に対してパーソナルコンピュー 夕のデ一夕にはそのような処理が無意味であるからデ一夕の誤り訂 iH 能力の強化も必要になる。 そこで、 デ一夕アクセス速度を高速化するために、 C D— R O Mドラ ィブ装置などでは、ディスクから読み取った情報を増幅するプリアンプ の^波数带域を上げ、 ピックアップサーボし路の強化を行い、 ディジ夕 ル信号処理回路の動作速度を向上させること等により、 C D— R O Mデ イスクを通常速度の 2倍又は 4倍などの速度で冋転させながら記録情 報を読み取って再生する技術を採用している。 更に、 2重^り訂正符合 に対し 4重の り訂正符合を付加して誤り,Π"正能力を向上させること も行われている。
しかしながら、 今日、 C D— R 0 Μドライブ装置に代表されるように、 記録情報再生速度は短期間で高速化に転換されているのが実状である。 過去においては、 2年以上の周期で標準速(オーディオ用の C D冉生時 のディスクの線速度) から倍速、 倍速から 4倍速へと転換されてきた^ 生速度は、 今 Ηでは、 6倍速から 8倍速、 8倍速以上へと数力月単位の 周期で急激に転換されようとしている。
このような状況においては、 再生速度の高速化に合わせて、 プリアン プの周波数帯域やゲインの変更、 ピックアップサ一ボ回路の強化、 ディ ジ夕ル信号処理回路の動作速度の向上、誤り訂正処理の最適化などのた めに、回路の制御態様若しくは问路定数などの変更をその都度短期問で 行わなければならない。
C D— R O M ドライブ装置等における記録情報再生制御にマイク口 コンビュー夕を利用する場合には、 その記録情報再生制御プログラム (定数テーブルなども含む) を変更しなければならない。 それらプログ ラムをマスク R O Mで提供する場合には、上記の極端に短い再生速度転 換サイクルすなわち製品サイクルでは、マスクパターンの変更が間に合 わなくなる。
特開平 6— 1 8 7 1 4 1号公報には、光磁気ディスク装置においてデ ィスクの記録情報を再生したりディスクに情報を記録したりするため の処理プログラムに対するバグの修正やバ一ジヨンアツブを容易化す るために、 ¾き換え可能な ROMにその処理プログラムを格納する構成 が示されている。
すなわち、 光磁気ディスク装置はホス ト装置に接続される S C S I
(Smal 1 Computer System Interface) コン 卜口一ラとこのコン卜ロー ラに接続された ドライバとを冇し、前記コン 卜ローラのファームウェア (処理プログラム) は書き換え可能な R 0Mに格納され、 ドライバのフ ア ー ム ウ ェ ア は E E P R O M ( Electrically Erasable and Programmable ROM) に格納されている。 コン トローラのファームウェア を書き換える場合は、ホス 卜装置がコン 卜ローラ内のバッファメモリに コン トロ一ラ用ファームウェアを転送すると共に、コン トローラ内の前 記 R OMに格納された書き換えプログラムをコン トローラ内の RAM に転送し、 次いで、 コントローラにコマン ドを発行する。 コン トロ一ラ はそのコマンドを受け取ると、前記 RAMに保持されている書き換えプ ログラムに従って前記 ROMをバッファメモリ内のコン ト口一ラ用フ アームウェアに書き換える。 この書き換えに際して、 それまで前記 R〇 Mに格納されていた書き換えプログラムも同時に更新する。 ドライバの ファームウェアを書き換える場合は、ホス ト装置がドライバに対する書 き換えプログラムをバッファメモリを介してコントローラの RAMに 転送し、 また、 ドライバのファームウェアをコントローラのバッファメ モリに転送する。そしてコン トローラの C P Uに前記 R A Mに格納され た書き換えプログラムを実行させる。コン トローラの CPUは書き換え プログラムに従って ドライバのファームウェアゃァドレスを ドライバ の RAMに設定した後、 ドライバの CPUにコマンドを発行する。 ドラ ィバは、通信及び基本的なコマン ドをサポートするマスク ROMを -し、 前記コマン ドを受け取った ドライバ内の C P Uはそのマスク ROMの プログラムを ¾行して、 E E PROMを RAM内のドライバ用ファーム ウェアに^き換える。
しかしながら、上 ^コン トローラ川フアームゥ Iァの き換えのよう に、 ROMに格納された書き換えプログラムもコン トローラ用ファーム ウェアと -緒に更新する構成では、 ROMを,? き換えている途中で異常 があった場合に、 RAM内の蜜き換えプログラムが破壊されてしまうと、 それ以降、コン トローラを ΪΗ常状態に復旧させるのに手問がかかること が子想される。
また、 ドライバのファームウェアを保有する E E P R QMとは別のマ スク ROMに、 E E P R OMの書き換え制御プログラムや書き換えのた めのインタフエース用のプログラムを格納する構成では、 E E P R OM の他にもマスク ROMが必要になり、システムの物理的な規模を増大さ せてしまう。 しかも、 マスク ROMは半導体集積回路化されたマイクロ コンビュ一夕若しくはマイクロプロセッサに外付けされることになる であろうが、 その場合には、 外付けメモリに対するチッブ選択制御等の ための論理が増え、この点においてもディスク ドライブ装置の物理的な 規模が増大すると子想される。
上記従来技術では、 ドライバとコントローラのファームウェアを別々 の書き換え可能な ROMと E E PROMに格納している。 ドライバ用フ アームウェアはドライバに含まれるサ一ボ制御回路などの特性に応じ た制御プログラムとされる。コン トロ一ラ用ファームウェアはホス 卜装 置に対応するィン夕フエース仕様を実現するための制御プログラムと される。 そのように光磁気ディスク装^の処理プログラムを、 書き換え 可能な R OMと E E P R OMに分割するのは、光磁気ディスク装置の製 造段階ではコン 卜ローラの制御プログラムを ドライバの調整作業に都 合のよいィン夕フエ一ス仕様にそろえて行うことができるようにし、 ド ライバの制御プログラムを設定した後、最後に 的のホス ト装置とのィ ン夕フェース仕様に応じてコン トローラの制御プログラムを書き換え できるようにするためである。 これは、 光磁気ディスク装置の調整作業 や製品管理などを簡略化し得るように考慮しているためである。しかし ながら、コン トローラと ドライバの制御プログラムを ROMと E E PR OMに分けて格納する構成では、制御プログラムの書き換え手順が複雑 で、書き換えにも時間を要することが本発明者によって明らかにされた。 また、コン トローラの ROMに対する書き換えプログラムは当該 RO Mが保冇し、 ドライバの E E PROMに対する書き換えプログラムはマ スク ROMが保有している。 このため、 光磁気ディスク装置の動作中に CPUが暴走すると、当該ディスク装置それ肉体に格納されている書き 換えプログラムが不所望に実行されて、 ROMや E E PROMの内容が 破壊される虡もある。
本発明者はディスク ドライブ装置の処理プログラムなどの変更を容 易化するために、 ディスク ドライブ装置それ自体に関する観点と、 ホス ト装置とのインタフエースの観点から更に検討を行った。
先ず第 1には、 ディスク ドライブ装置の制御に、 電気的に消去及び き込み可能な不揮発性メモリを内蔵したマイクロコンビュ一夕を採用 し、 その不揮発性メモリに、 ディスク ドライブ装置のためのアプリケ一 シヨンプログラムと共に、ダウンロードされたアプリケーションブログ ラムを取り込み制御する人力制御プログラムを格納し、更に必要な場合 には書き換え制御プログラムも格納することについて検討した。ここで、 前記アプリケ一ションプログラムは、ディスクアクセスのための処理プ ログラム (アクセス制御プログラム) と、 ディスク ドライブ装置のため の外部ィン夕フエース処理プログラム (インタフエース処理プログラ ム) とを含むプログラムである。
その場合、更に解決しなければならない幾つかの課題のあることが本 発明者によって明らかにされた。
その一つは、書き換え制御プログラム及び入力制御プログラムをディ スク ドライブ装置それ自体が保有する場合、アプリケーションプログラ ムの書込みに際して書き換え制御プログラム及び入力制御プログラム が、復旧不可能な状態に破壊若しくは消失することがあってはならない ということである。書き換え制御プログラム又は入力制御プログラムが 破壊若しくは消失すると、 その後、 アプリケーションプログラムの書き 換えを行うことが難しくなる。
また、マイクロコンピュー夕の不揮発性メモリそれ A体が保有してい る書き換え制御プログラム及び入力制御プログラムは信頼性が高くな ければならないということである。
第 2には、ディスク ドライブ装置がパーソナルコンビユー夕などのコ ンビュー夕装置に標準搭載される状況を考慮し、前記アプリケーシヨン プログラムなどを容易に変更できるようにすることについて検討した。 今曰パーソナルコンピュータ (単に P Cとも記す)等のコンビュー夕 装置におけるハー ドデ ィ ス ク イ ン夕 フ ェースの殆どは I D E ( Integrated Device Electronics)に準拠し、 P C (Personal Computer) ボード上に複数の I D Eインタフェースポート (例えば 4個) を持って いる。 I D Eについては日経エレク 卜ロニクス (闩絰 B P社 1 9 9 4年 6月 6日発行)第 6 7頁〜第 9 6頁に記載がある。この明細書では、 FAST ATA, Enhanced IDE, Extended IDEなどの呼称がある所謂拡張 IDEの 概念なども I D Eに含むものとして用いる。 I D Eィン夕フェース仕様 ではィン夕フェースケーブルの長さが極端に制限されており、通常は P Cの筐体内部に搭載した周辺機器とのィン夕フエースに利用できる程 度である。今日では P Cの拡張スロッ 卜若しくはドライブペイに CD— R OMドライブ装置が標準搭載されているものが殆どであるが、それ以 ½はオプションとして外付けされるのが一般的であり、 このため、 その ィン夕フェース仕様は当初、 S CS I若しくは S CS I 2に準拠されて ¾展してきた。
しかしながら、 S CS Iイン夕フェースはオプションとしての性格が 根強く、 SCS Iインタフェースによる CD— ROMドライブ装置の接 続には S CS Iインタフェースボード若しくは S CS Iインタフエ一 ス P C力一ドなどが特別に必要になり、全体としてコス 卜の上昇を招い て しまう。 一般的に、 I D Eコ ン ト ローラ L S I ( Large Scale Integrated circuits) は S CS Iコン トローラ LS Iに比べて安価で ある。
そこで登場するのが A TAP I (ATA Packet Interface)ィン夕フエ一 スであり、 P Cボードとのィン夕フェース仕様は I D E準拠で、 コマン ドは S C S I若しくは S C S I 2準拠とされる。 これにより、 P Cに C D— ROMドライブ装置を搭載するのにそれ専用の特別なィン夕フエ —ス回路を必要とせず、 更に、 S C S Iィン夕フヱース時代に標準的に 用いられてきた S C S I準拠のコマン ドをそのまま流用できる。即ち、 CD-ROMドライブ装置に関する過去のソフ トウエア資産を承継し ながら、 拡張 I D Eのような新しいイン夕フェースへ移行でき、 しかも コス トの低減を図ることができるようになる。 これにより、 PCに標準 搭載される CD— R OMドライブ装置のィンタフエース仕様のほとん ど全てが ATAP Iィン夕フヱ一ス仕様( I DEの拡張仕様) を採用す るに至っている。
多くの P Cメーカが上述のように ATAP Iイン夕フエ一スを利用 して CD— ROMドライブ装置を P Cに標準搭載する場合、 CD— RO M再生速度の転換サイクルが極端に短い状況では、 CD— ROMドライ ブ装置の評価期間が長くなると、 P Cメーカにとっては再生速度の速い CD— R OMドライブ装 ί貴を搭載した P Cを効率的に市場に投入でき なくなる。
P Cメーカにおける CD— R OMドライブ装置の評価期問が くな ると予想される原因は幾つかある。
第 1には、 A T A P I対応 C D— R 0 Mドライブ装置は P Cに標準搭 載されるから、 CD— ROMドライブ装置を取り外すには P Cの筐体を 分解することが必要になるからである。
第 2には、 極端に短い再生速度転換サイクル故に、 ドライブス一力に とっても CD— R OMドライブ装置の処理プログラムに対する開発期 間が短くなり、バグの修正が度重なる場^も多くなることが予想される からである。
第 3には、極端に短い再生速度転換サイクル故に、 ドライブメ一力は、 前記アプリケーシヨンプログラムの性能向上が間に合わないため、ハー ドウェアのみ先行させて P Cメーカに送り、後付けでアブリケ一シヨン プログラムを段階的に P Cメーカに送り、 ドライブを完成させることが 必要になるからである。例えば 24仿速の CD— ROMドライブの場合、 ドライブメーカは同一ハードウエアで 2 0倍速再生までのアプリケー シヨンプログラムを P Cメーカに送り、 次に、 24倍速でアクセス速度 の速いアプリケーシヨンプログラムを送り、 最後に、 そのアプリケーシ ョンプログラムの論理的に不十分な点を改善若しくはチューニングし た高い性能のアプリケ一ションプログラムを送る、というような段階的 な処置が施される。 或いは、 24倍速 CD— ROMドライブを想定する と、最低の 1倍速と最高の 24倍速再生のためのアプリケ一ションプロ グラムを送り、それらに対する中問の倍速に関しては段階的にアプリケ ーションプログラムを完成させて P Cメーカに提供するといつたこと が行われる。
第 4には、 A TAP Iィン夕フェースを採用した CD— ROMドライ ブ装!!が P Cに標準搭載されると、その CD— R OMドライブ装置は特 定の P Cに専用化されるので、当該 C D— : OMドライブ装 の前記ァ プリケーションプログラムの内容が P Cの機種若しくは P Cメーカ毎 に個別化される傾向が強くなるからである。例えば、 ドライブメーカは、 標準使用の CD— ROMドライブ装置を P Cメーカにサンプル出荷し てくる場合が多いが、 P Cメーカのドライブ仕様がメーカ毎に異なって いる場合には、 ドライブの仕様追加が必要になる。 P Cメーカ毎に異な る仕様の一例として、偏心や面ぶれなどを生じているディスクに対する 再生制御手法がある。偏心や面ぶれを生じているディスクに対して、 通 常 CD _R OMドライブ装置はディスクが読めるところまで、 ΰ動的に 再生速度を落とす。 しかし、 この後、 いつ再生速度を上げるかは、 PC メーカの仕様によって異なっており、次のリードコマンドを受信したと ころで、 再生速度を元に戻す場合もあれば、 そのディスクについては再 生速度を上げない場合もある。 更に、 ベンダ一ユニークコマン ドを利用 して再生速度を元に戻す場合もある。或いはディスクに対する線速度 - 定と角速度一定とを混在させて再生制御することも行われており、角速 度一定と線速度一定の制御を切り換える態様も区々になっている。
また、 AT AP I対応 CD— ROMドライブ装置を標準搭載した P C がエン ドユーザに渡った後、 再生速度の向上及び C D— R ( Compact disc-Recordable) ディスクの普及等により、 全てのディスクを再生で きるとは限らない状況も生じてくる。 このような場合にも、 エンドユー ザ側で前記アプリケーシヨンプログラムを効率的に更新できることが 望ましい。 このように、 C D— R O Mドライブ装置における再生速度の転換サイ クルが極端に短くされ、 また、 C D— R 0 M ドライブ装 ; が P Cに標準 搭載される状況下において、 ドライブメーカは P Cメーカ毎に相違する 仕様の前 アブリケーシヨンプログラムを短期^で作成しなければな らない。 P Cメ一力にとっては、 C D— R O Mドライブ装 の評価を短 期問で済まさなければならず、評価期間を通じて ドライブメーカからァ プリケ一ションプログラムのバグの修正を受けながら、 P C上で C D— R O Mドライブ装置の評価を効率的に行うことが絶対的に必要とされ る。 したがって、 C D— R O M ドライブ装置のァプリケーシヨンプログ ラムの修正を効率的に行えるようにするという要 t青は、極めて高くなつ ている。
本発明の目的は、ディスク ドライブ装置のディスクアクセス及びィン 夕フェース制御用の処理プログラムを含むアプリケーションプログラ ムの全部又は一部を効率的に修正できるようにすることである。
本発明の別の H的は、ディスク ドライブ装置の物理的な規模を増大さ せることなく前記アプリケ一ションプログラムの全部又は一部を容 に^き換えることができるディスク ドライブ装置を提供することにあ る。
本発明の更に別の目的は、前記アプリケ一シヨンプログラムの書き換 えの信頼性を向上できるディスク ドライブ装置を提供することにある。 本発明の更に別の目的は、記録情報再生装置やディスク ドライブ装置 のハ一ドウェアの量産を先行させ、出荷 ¾ί前まで前記アプリケ一シヨン プログラムの全部又は一部を修正でき、開発期間を短縮できるディスク ドライブ装置を提供することにある。
本発明のその他の目的は、同一ハードウエアによって他品種展開が容 易なディスク ドライブ装置を提供することにある。 本発明の更にその他の目的は、ディスク ドライブ装置が組み込まれた 状態でも (当該装置を取り外すことなく) 、 記録情報再生装置ゃデイス ク ドライブ装置の前記アプリケ一ションプログラムの全部又は一部を 変史できるパーソナルコンピュー夕等のコンビュー夕装置を提供する ことにある。
また、 木発明は、 再生速度の転換サイクルが極端に短い状況下でも、 再生速度の速いディスク ドライブ装置を標準搭載したコンピュータ装 置を効率的に市場に投入できるようにすることにある。
本発明の前記ならびにその他の目的と新規な特徴は本明細書の以下 の記述から明らかにされるであろう。 発明の開示
すなわち、 ディスク ドライブ装置の制御に、 電気的な消去及び書き込 み可能な不揮発性メモリを内蔵したマイクロコンピュー夕を採用し、そ の不揮発性メモリが、アプリケーションプログラム領域にディスクァク セス及びィン夕フエ一ス制御用の処理プログラムを含むアプリケ一シ ヨンプログラムを保有し、 また、 そのアプリケーションプログラムの全 部又は一部を更新するのに利用されるリブ一トプログラムをリブ一ト プログラム領域に保有する。
更に詳しくは、 ディスク ドライブ装置は、 回転駆動されるディスクを アクセスするアクセス手段と、前記アクセス手段に接続され外部とィン 夕フェースされるインタフエース回路と、前記アクセス手段の動作を制 御すると共に前記ィン夕フェース回路に結合されたマイクロコンビュ 一夕とを含む。前記マイクロコンピュータは、 電気的に書き換え可能な 不揮発性メモリと、この不揮発性メモリをアクセスする中央処理装置と を含む。前記不揮発性メモリはその記憶領域に、 リブ一トプログラム領 域とアプリケーションプログラム領域とを有する。前 ^アブリケ一ショ ンプログラム領域は、 ½記アクセス ΐ段及び前記ィン夕フヱ一ス冋路を 制御するために前記中央処理装置によって実行されるアプリケーショ ンプログラムの格納領域を有する。前 - リブ一卜プログラム領域は、 前 ,kl中央処理装置に、 |½記アプリケ一ションプログラム領域を書き換える ための処理を実行させる リブートプログラムが格納される領域を有す る。 前記中央処理装^は、 外部から前記ィン夕フェース 路に供給され るアプリケーションプログラム領域の書き換えコマン ドに応答して前 記リブ一卜プログラムを実行しアプリケーションプログラム領域の全 部又は -部の書き換えを行い、 また、 外部から前記イ ンタフェース回路 に供給されるディスクアクセスコマン ドに応答して前^アプリケ一シ ョンプログラム領域中の前 アブリケ一ションプログラムを実行し前 記アクセス手段及びィン夕フェース回路を制御する。
前記アプリケーションプログラムとは、記録情報再生制御プログラム などのアクセス制御プログラムとディスク ドライブ装置の外部ィン夕 フェース制御用のイン夕フェース制御プログラムとを含む動作プ口グ ラムを意味する。 アクセス制御プログラムは、 ディスクの速度制御や記 録情報の再生速度に応じた信号処理などを制御する。イン夕フェース制 御プログラムは、デイスクアクセスのための外部ィン夕フエース制御を 行う。前記アプリケ一ションプログラム領域の書き換えは、 アプリケ一 ションプログラムの一部(アクセス制御プログラム又はィン夕フェース 制御プログラムのいずれか一方) を対象にしても、 全部 (アクセス制御 プログラム及びィン夕フエース制御プログラムの双方)を対象にしても よい。 また、 アプリケ一ションプログラムが複数個のプログラムモジュ —ル (例えば複数個のサブルーチン) を含む場合に、 一部のプログラム モジュールを書き換えの対象にすることも可能である。例えば、 アプリ ケーシヨンプログラムを書きかえる (更新する) とき、 前記アクセス制 御プログラム乂はィン夕フェース制御プログラムにおいて、修^が施さ れた一-方のプログラムだけを書き換えるようにしてもよい。
上記により、ディスク ドライブ装置にマイクロコンビユー夕が実装さ れた後も、当該マイクロコンピュータ内蔵の前 S不揮発性メモリにアブ リケ一シヨンプログラムを書き込み、或いはアプリケーションプログラ ムの一部又は全部を書き換えることができる。 これにより、 今後極めて 短いサイクルで生ずるであろう、 再生速度転換時期等に応じてに、 冉生 速度の向上に応じ必要な修正を加えたアプリケーショ ンプログラムの 全部又は一部を ¾き換えるだけで、ディスク ドライブ装置における ¾牛: 速度の転換に即座に若しくはタイムリーに対応できる。
前記不揮発性メモリの書き換え対象はアプリケーションプログラム 領域とされる。 リブートプログラム領域は書き換え対象ではないから、 不揮発性メモリの書き換え動作途中で異常があった場合にも、再度リブ —卜プログラムを実行すれば、すぐにアプリケーションプログラム領域 に対する再書き込み動作に移行でき、書き換え途中における異常状態か らの復旧に手間取ることはない。ディスク ドライブ装置における処理プ 口グラムの書き換え対象は前 gci不揮発性メモリだけであるから、書き換 えの制御手順を簡素化でき、 しかも書き換え時間も短縮できる。 更に、 半導体集積回路化されたはマイクロコンビュー夕に、ディスク ドライブ 装置の処理プログラムを保有する前記不揮発性メモリがに内蔵されて いる場合、ディスク ドライブ装置の物理的な規模が増大するのを抑えて、 上記作用を得ることができる。
前記リブ一卜プログラムは、 入力制御プログラム、 書き換え制御プ口 グラム及び転送制御プログラムを含むことができる。 このとき、 前記書 き換えコマン ドに応答する前記中央処理装置は、前記入力制御プログラ ムを実行することにより外部から前 ^ィン夕フエース回路に供給され る全部又は一部のアプリケーションプログラムをバッファ R A Mなど に取り込み、前記転送制御プログラムを実行することにより前記 き換 え制御プログラムを前記リブートプログラム格納領域から前記マイク 口コンピュータの内蔵 R A Mに転送する。 中央処理装置は、 前記内蔵 R A Mに転送された書き換え制御プログラムを実行することにより前記 取り込まれた全部又は 部のアプリケーションプログラムを前記アブ リケ一シヨンプログラム領域に書込み制御する。 これによれば、 アブリ ケーシヨンプログラム領域の更新に当たって、ホス ト装置は前記不揮発 性メモリに対する書込みコマン ドに続けてアプリケーションプログラ ム領域に書き込むべき全部又は一部のアプリケ一シヨンプログラムを ディスク ドライブ装置に転送すればよく、書き換え制御プログラムを転 送する必要はないから、アプリケ一ションプログラム領域を更新する処 理時間を更に短縮することができる。
前記リブートプログラムは、入力制御プログラム及び転送制御プログ ラムを含むことができる。 このとき、 前記書き換えコマンドに応答する 前記中央処理装置は、前記入力制御プログラムを実行することにより外 部から前記ィン夕フェース回路に供給される前記アプリケ一シヨンプ ログラム及び書き換え制御プログラムを取り込み、前記転送制御プログ ラムを実行することにより前記取り込まれた書き換え制御プログラム をマイクロコンピュー夕の内蔵 R A Mに転送する。前記中央処理装置は、 前記内蔵 R A Mに転送された書き換え制御プログラムを実行すること により、前記取り込まれた全部又は一部のアプリケーションブログラム を前記アプリケーションプログラム領域に書込み制御する。これによれ ば、不揮発性メモリはその書き換え制御プログラムを保有しないから、 中央処理装置が暴走して不揮発性メモリに格納されているプログラム を不所望に実行することがあっても、当該不揮発性記憶装置が誤ってか ¾き換えられる虞は全くない。
前記リブートプログラム領域は、ベクタテーブルとリセヅ ト処理プロ グラムの格納領域とを更に有することができる。 このとき、 前,]己中央処 理装置は、 リセッ 卜の指示に応答して前記べクタテーブルを参照するこ とにより前記リセッ ト処理プログラムの実行に移行し、 リセッ 卜処理プ 口グラムの実行途上では前記書き換えコマン ドに応答し得る強制リブ ―卜状態か否かを判定する。強制リブート状態のとき、 中央処理装置は、 前記書き換えコマン ドの入力を待って前記リブートプログラムの ¾行 に遷移する。強制リブート状態でないとき、 中央処理装置は前記アブリ ケ一シヨンプログラム領域のプログラムを実行可能な状態に遷移する。 これによれば、 不揮発性メモリの書き換えに際して異常が起きても、 リ セッ トをかけて強制リブ一ト状態の指示を行えば、その異常から容易に 復旧して、 不揮発性メモリを書き換える処理に戻ることができる。 この 点においても、アブリケーシヨンプログラム領域を更新する処理時間の 短縮に寄与できる。
前記アプリケーションプログラム領域は、 その一部の記憶領域に、 そ の他の記憶領域が保有する情報のサム値を格納するサム値格納領域を 有することができ、 前記リブ一トプログラム領域は、 ベクタテーブルと リセッ ト処理プログラムの格納領域とを更に有することができる。この とき、 前記中央処理装置は、 リセッ トの指示に応答して前記べクタテ一 ブルを参照することにより前記リセッ ト処理プログラムの実行に移行 し、 リセヅ ト処理プログラムの実行途上では前記書き換えコマン ドに応 答し得る強制リブ一ト状態か否かを判定する。強制リブ一ト状態のとき、 中央処理装置は、前記書き換えコマンドの入力を待って前記リブートプ ログラムの実行に遷移する。強制リブート状態でないとき、 中央処理装 置は、 前記サム値格納領域に格納されているサム値が、 前記その他の記 憶領域が保有する情報のサム値に一致するかを判定する。中央処理装置 は、判定結果が不 致の場合には ι¾記書き換えコマン ドの人力を待って 前記リブー卜プログラムの突行に遷移し、前記判定結果が一致の ί 合に は前記アプリケーションプログラム領域のプログラムを実行 pj能な状 態に遷移する。 これによれば、 ホス ト装置や、 ディスク ドライブ装置の 異常によって前記アブリケーシヨンプログラム領域のプログラムが不 所望に書き換えられたとき、 強制リブ一卜状態が指示されなくても、 リ セッ 卜されるだけで、 自己診断的に、 中央処理装置の動作を、 アプリケ —シヨンプログラム領域に対する書き換え可能な状態に遷移させるこ とができ、ディスク ドライブ装置の誤動作を未然に防止することができ る。
前記不揮発性メモリとして、一括消去単位とされる複数個のメモリブ ロックを有するフラッシュメモリを採用することができる。このとき、 前記リブートプログラム領域と前記アプリケーションプログラム領域 とを相 Sに異なるメモリプロヅクに割り当てることにより、アプリケー シヨンプログラム領域に対する消去動作を効率化できる。
m リブートプログラム領域に対するプログラムの初期的な書込み 動作の信頼性は、そのプログラムの性質上良好であることが望ましく、 それを保証するには、前記マイクロコンビユー夕の製造工程でリブート プログラム領域にプログラムを書き込むことができる。
リブートプログラムの不所望な消失防止に万全を期するには、前記リ ブー卜プログラム領域の書き換えを禁止する手段を設ければよい。 前記ィン夕フェース回路に、 A T A P Iイン夕フェース仕様を採用す ることができる。 これによれば、 S C S Iィン夕フェース仕様等のディ スク ドライブ装置に関して蓄積された過去のソフ トウェア資産を承継 W
17 しながら、拡張 I D Eのような新しいィン夕フェースへ容易に移行でき、 しかもコス 卜の低減を図ることができる。
そのようなディスク ドライブ装置を備えたコンピュータ装置は、バス に接続されたマイクロプロセッサと周辺ィン夕フェースコン トローラ とを含むメインボードを有し、前記ィン夕フ Iースコントローラにディ スク ドライブ装置のィン夕フエ一ス回路が接続されている。 ·記バスに 例えば P C Iバスを採用し、前記ィン夕フェースコン トローラに I D E インタフェースコン トローラを含む、パーソナルコンピュータのような コンビユー夕装置に、 ディスク ドライブ装置を標準搭載する場合、 ディ スク ドライブ装置のイ ンタフエース回路に前記 A T A P Iイン夕フエ ース回路を採用することができる。コンビユー夕装置にディスク ドライ ブ装置が標準搭載される場合、メインボードとディスク ドライブ装置は 殆どの場合一つの筐体に組み込まれる。
ディスク ドライブ装置のアブリケーションプログラム領域の書き換 えにおいては、 コンビュ一夕装置のメインボードをホス ト装置とし、 こ のホス ト装置を介してディスク ドライブ装置のアプリケーションプロ グラムを全部又は一部だけ書き換えることができる。 したがって、 ディ スク ドライブ装置をコンビュ一夕装置から取り外すことなく、前記マイ クロプロセッサを利用して、ディスク ドライブ装置のアプリケーシヨン プログラムを変更できる。
したがって、ディスク ドライブ装置における再生速度の転換サイクル が極端に短くされ、ディスク ドライブ装置がコンピュー夕装置に標準搭 載され、それによつて ドライブメ一力はコンピュー夕装置メーカ毎に相 違する仕様でディスク ドライブ装置のデイスクアクセス及びインタフ エース制御用のアプリケ一ションプログラムを作成しなければならな い状況下において、 コンビュ一夕装 :メーカは、 ディスク ドライブ装置 の評価期間を通じて ドライブメーカからアプリケーションプログラム に関するバグの修正や追加機能を受けながらコンピュータ装置に組み こまれたままの状態でディスク ドライブ装置の評価を行うことができ る。前述のディスク ドライブ装置は、 アプリケ一ションプログラム領域 に対する書き換え処理の能率化、書き換え処理中における異常状態から 速やかに復 I Uして書き換え処理に戻れるなどの手段が講じられている から、 ディスク ドライブ装置の評価期間を通じて、 マイクロコンピュー 夕に内蔵された不揮発性メモリに、修正されたアプリケ一シヨンブログ ラムを効率的に再ィンス トールすることができる。 よって、 コンビュ一 夕装置メーカはディスク ドライブ装置の評価期間を短期できる。
これにより、ディスク ドライブ装置における再生速度の転換サイクル が極端に短くされている状況下において、コンピュー夕装置メーカは、 より再生速度の速いディスク ドライブ装置を標準搭載したコンビユー 夕装置を効率的に巿場に投入できるようになる。
また、記録情報再生制御プログラムのようなアクセス制御プログラム やイン夕フェース制御プログラムを含むアプリケーションプログラム はイン夕ネッ ト等の通信手段でディスク ドライブ装置の製造又はその 販売会社からコンビュー夕装置メーカ又はその販売会社に、或いはコン ビュー夕装置メーカ又はその販売会社からコンビユー夕装置の使用者 に供給することも可能である。 これによれば、 コンピュータ装置メーカ 又はその販売会社或いはコンビュー夕装置の使用者に瞬時に前記アブ リケ一シヨンプログラムを送ることができる。 このとき、 上記ディスク ドライブ装置やこれを搭載したコンピュー夕装置を使用すれば、その使 用者側で、それら装置の記録情報再生速度などの機能を即座にバージョ ンアップすることができる。 すなわち、 使用者側での製品の機能変更が 容易になる。 ¾面の簡単な説明
第 1図は本発明の一例に係る C D— R O Mドライブ装置を示すプロ ック図である。
第 2図はフラッシュメモリの記憶領域を示す説明図である。
第 3図はリセッ ト処理の一例を示すフ口一チヤ一トである。
第 4図は A T A P I割込み処理の一例を示すフローチヤ一トである。 第 5図はフラッシュメモリの一括消去単位ブロックとリブートプロ グラム領域との関係を示す説明図である。
第 6図はフラッシュメモリ内蔵マイクロコンピュー夕の製造工程を 概略的に示すフローチヤ一トである。
第 7図はリブートプログラム領域に対する不所望な消去を阻止する ためのハードゥエアプロテク 卜の一-例を示すブロック図である。
第 8図はリブートプログラム領域に対する不所望な消去を阻止する ためのハードゥヱァプロテク 卜の別の例を示すプロック図である。 第 9図は C D— R O Mドライブ装置を内蔵するパーソナルコンビュ 一夕の一例ブロック図である。
第 1 0図はパーソナルコンピュー夕に C D— R O Mドライブ装置が 搭載された状態で当該ドライブ装置にアプリケーシヨンプログラムを 書込む動作の初期状態を示す説明図である。
第 1 1図はパーソナルコンビュ一夕に C D— R 0 M ドライブ装置が 搭載された状態で当該ドライブ装置にアプリケ一シヨンプログラムを 書込む動作における動作開始時の状態を示す説明図である。
第 1 2図は第 1 1図に状態に続くアプリケ一ションプログラムの転 送状態を示す説明図である。
第 1 3図は第 1 2図の状態に続く消去/書き込み制御プログラム起 動状態を / j '、す説明図である。
第 1 4図は第 1 3図の状態に続く消去/ き込み制御プログラムに よるフラッシュメモリの消去動作状態を示す説明図である。
第 1 5図は第 1 4図の状態に統く消去/書き込み制御プログラムに よるフラッシュメモリの^き込み動作状態を示す説明図である。
第 1 6図は第 1 0図〜第 1 5図で説明した書き込み処理の全体的な フローチヤ一 卜である。
第 1 7図は第 1 0図に対して消去/書込み制御プログラムを C D— R O M ドライブ装置の外部から受け取って当該ドライブ装置にアブリ ケーシヨンプログラムを ¾込む動作の初期状態を示す説明図である。 第 1 8図は第 1 0図に対して消去/書込み制御プログラムを C D― R O Mドライブ装置の外部から受け取って当該ドライブ装置にアプリ ケーシヨンプログラムを書込む動作における動作開始時の状態を示す 説明図である。
第 1 9図は第 1 8図の状態に続くアプリケ一ションブログラムの転 送状態を示す説明図である。
2 0図は第 1 9図の状態に続く消去/書き込み制御プログラム起 動状態を示す説明 ¾である。
第 2 1図は第 2 0図の状態に続く消去/書き込み制御プログラムに よるフラッシュメモリの消去動作状態を示す説明図である。
第 2 2図は第 2 1図に状態に続く消去/書き込み制御プログラムに よるフラッシュメモリの書き込み動作状態を示す説明図である。
第 2 3図はサム値格納領域が割り当てられたフラッシュメモリの記 憶領域の説明図である。
第 2 4図はリセッ 卜時にサム値を考慮してユーザプログラム領域を 書き換え可能にするときの動作フローチャートである。 第 2 5図はべクタテーブルをマイクロコンピュー夕のワーク RAM に配置した状態を示す説明図である。
第 2 6図はフラッシュメモリのアドレスマツプの別の例を示す説明 図である。
第 2 7図は CD— ROMドライブメーカによる CD— R OMドライ ブ装置の製造手順の一例を示すフローチヤ一トである。
第 2 8図は CD— ROMドライブメーカから出荷された CD— R 0 Mドライブ装置を用いた P Cメーカによるパーソナルコンピュータの 評価 ΐ順の一例を/丁くすフローチャートである。
第 2 9図は第 2 7図に対してリブ一トプログラム領域とユーザプロ グラム領域とに処理プログラムを一緖に書き込む場合の一例フローチ ヤートである。
第 30図は CD— R OMドライブ装置がシリアルポ一トを持つ場合 に当該ポートを介して処理プログラムをマイクロコンピュー夕に書き 込むときの状態を示す CD— ROMドライブ装置のプロック図である。 第 3 1図は E PR OMライ夕を用いてマイクロコンピュ一夕の処理 プログラムを書き込む時の状態を示すマイクロコンピュー夕のブロッ ク図である。 発明を実施するための最良の形態
《 CD— ROMドライブ装置》
第 1図には本発明の一例に係る CD— R OMドライブ装置がホス 卜 装置と共に示されている。 第 1図において 1で示されるものは、 CD— ROMディスク (単にディスクとも称する) であり、 記録密度を hげる ため、 信号の記録速度がディスクの内周、 外周の位置にかかわらず -定 である C LV (Constant Liner Velocity) 方式によって情報が記録さ れている。 このディスク 1は、 特に制限されないが、 1シンボル ( 1シ ンボル = 1バイ ト) のサブコード情報、 24シンボルのデータ及び 8シ ンボルのパリティ一を 1フレームとし、 このフレーム fiiに [π期 が付 加されて構成されている。そのようなフレームの^報は特に制限されな いが、 E FM (Eight to Fourteen Modulation) 変調されている。 EF M変調は、 1シンボル 8ビヅ トのデ一夕を 14ビッ 卜に変換する処理で ある。更に変換後の直流成分を除去するために 3ビッ トのマ一ジンビッ トが付加され、 NR Z I変調が行われている。 また、 フレームはィン夕 リーブされている。
第 1図に示される CD— ROMドライブ装置 2は、ホス 卜装 ί¾3から のアクセス若しくはデ一夕転送要求を A T AP Iイン夕フェース回路 4から受けると、 マイクロコンビユー夕 5が、 その要求に応ずるための 制御を行う。マイクロコンピュー夕 5によって制御される CD— ROM ドライブ装置 2の動作の概略は次の通りとされる。 すなわち、 ディスク 1から光学的に情報が読み取られ、読み取られた情報はディジ夕ル β · 処理回路 7で復号及びエラ一訂正などが行われ、復号及びエラー訂正さ れた情報は、 CD— ROMや CD— Iなどの所定のフォーマツ 卜に従つ て、ディジ夕ル信号処理回路 7からバス 8を介して CD— ROMデコー ダ 9に与えられる。 CD— ROMデコーダ 9はこれに与えられた情報に 対して同期信号検出、 ディン夕リ一ブ、 付加 E C C誤り訂正等の処理を 施し、ホス ト装置が要求するデ一夕を AT AP Iイン夕フェース回路 4 を介してホス ト装置 3に出力する。
次に、 CD— ROMドライブ装置 2の各部について詳細に説明する。 前記デイスク 1はディスクモー夕 10によって回転駆動される。ピヅ クアップ 1 1は、 回転駆動されるディスク 1にレーザ光を照射し、 その 反射光をフォ トダイォードから成る受光部で受光して光電変換し、これ によって、 ディスク 1に記録されている情報を読み出す。 スレツ ドモー 夕 1 2はピックアップ 1 1をディスク 1の半 方向に移動させる。ロー デイ ングモー夕 1 3はディスク 1が載^される図示しないトレ一を移 動させる。
前記ディジ夕ル信 -処理回路 7は、その動作プログラムに従ってディ ジ夕ルフィル夕、 E F M復調、 C I , C 2 り訂 LE、 ディジタルサーボ、 速度制御等の機能を実現する。 ディジタルサ一ボの機能は、 スレ、ソ ドモ 一夕 1 2を制御してビックアップ 1 1の位置を制御する。速度制御の機 能はディスクモ一夕 1 0の回転速度を制御する。 C 1, C 2誤り訂正機 能は、 C 1, C 2の 2系列のリ一ドソロモン符号を組み合わせた C I R C ( Cross Interleaved Read-Solomon Code) という誤り訂正符^を用 いて行うエラ一訂正であり、その誤り訂正符号は前記フレームのパリテ ィ一に対応される。
ビックアップ 1 1から読み出された信号 (高周波信号) はプリアンプ 1 4により増幅され、 ディジ夕ル信号処理回路 7に供給される。 この読 み出し信号は、ディジタル信号処理回路 7によって実現されるディジ夕 ルフィル夕によって 2値化され、 ディジ夕ル信号とされる。 このディジ タル化された読み出し信号は、速度制御及び E F M復調機能によって順 次処理される。 速度制御機能は、 ディスク 1の回転速度を検出し、 所定 の速度でディスク 1を回転させるようにディスクモー夕 1 0を制御す ることである。 また、 速度制御の機能は、 読み出し信号から同期信号を 検出する機能を含む。 E F M復調機能は、 速度制御機能で検出された同 期信号をもとに、 E F M変調されている読み出し信号を復調することで ある。 また、 復調された読み出し信号の各フレームに含まれるサブコー ドは、 信号 7 0 0によってマイクロコンビュ一夕 5の S C I (シリア ル -コミュニケーション 'インタフェース) 回路 5 0に与えられる。 マ ィクロコンビュー夕 5は、入力されたサブコ一ドに対してその動作プロ グラムによりサブコード信号処理を行う。すなわち、 与えられたサブコ 一ドを例えば 98フレーム分を一単位として組み立てて、それに含まれ る時間情報ゃィンデックス情報などを認識し、ディスクモー夕 10ゃス レツ ドモ一夕 12などを制御するための制御情報をディジタル信号処 理回路 7に与える。
ディジタル信号処理回路 7で復調され且つ C 1, C 2訂正が行われた 記録情報はバス 8を介して CD— ROMデコーダ 9に与えられる。 CD 一 ROMデコーダ 9に与えられるデ一夕は、例えば 2336パイ ト毎の 物理セクタで区切られた物理フォーマツ トが規格化されている。例えば CD— ROM規格では、 各セクタは、 同期信号 12バイ ト、 ヘッダ 4バ ィ ト、 及びユーザデータから成る。ユーザデータの領域に対しては、 C 1, C 2誤り訂正によっても訂正できない誤りを訂正可能にするための E C Cのような付加誤り訂正符号を有する規格がある。 CD— ROMデ コーダ 9は、 RAMコン トローラ 90、 誤り訂正回路 9 1、 及び同期信 号検出 'ディン夕リーブ回路 92を備え、 バッファ; AM 16に接続さ れている。 RAMコントローラ 90は、 バッファ RAM I 6に対するメ モリコントローラである。 同期信号検出 'ディン夕リーブ回路 92はバ ス 8から順次供給されるセクタ毎のデ一夕から同期信号を検出してデ イン夕リーブ処理を行う。 誤り訂正回路 90は、 C l, C 2訂正によつ ても訂正しきれない誤りのあるデータに対して付加誤り訂正符号によ り誤り訂正を行う。ディン夕リーブされ、 また誤り訂正されたデータは、 RAMコントローラ 90の制御によって逐次バッファ RAM I 6に保 持される。バッファ RAM 16に保持された読み出しデータは、 単数若 しくは複数セクタ単位で A T A P Iィン夕フェース回路 4からホス ト 装置 3に与えられる。 ATAP Iイ ンタフエース回路 4は、コマン ドバッファ 40及びプロ トコルシーケンス制御回路 4 1を備える。プロ 卜コルシーケンス制御回 路 4 1は ATAP Iィ ン夕フェースの規格に準拠したィン夕フェース 制御を行う。 AT AP Iイ ン夕フェースは、 パーソナルコンピュータの 主体を成すマイクロプロセッサにハードディスク装 {Hなどをインタフ エースするのに用いられている既存の I DEイン夕フェースコン ト口 ーラを介して CD— R OMドライブ装置を制御可能にするためのィ ン 夕フェース仕様である。 この ATAP Iイン夕フェースにおいては、 S C S I 2の仕様に準拠したコマン ドがバケツ 卜として CD— ROMド ライブ装置に ^えられ、 これによつて、 CD— ROMドライブ装置が制 御される。 このような ATAP Iィン夕フェースの仕様の詳細は、 米国 の外部記憶装置の業界団体 SSF (Small Form Factor) Committeeの所属 会社によって策定された 「ATA Packet Interface for CD-ROM Revision 1.2」 などがある。 前記コマン ドバッファ 40はホス ト装置 3から送ら れてくるコマン ドを保持する。
《マイクロコンビュ一夕》
前記マイクロコンビュー夕 5は、 中央処理装置 (CPU) 5 1、 8ビ ッ ト夕イマ 52, 53、 1 6ビッ ト夕イマ 54、 A/D変換器 55、 S C I回路 50、 フラッシュメモリ 56、 RAM 57及び入出力ポート 5 9を単結晶シリコンのような 1個の半導体基板に備え、特に制限されな いが、 それら回路モジュールが内部バス 58を共有して成る。電 的消 去及び書き込み可能な不揮発性半導体メモリ としての前記フラッシュ メモリ 56は前記 C P U 5 1の動作プログラムや定数デ一夕を格納す るためのメモリとされ、 CPU 5 1はその動作プログラムに従って、 前 記プリアンプ 14、 ディジタル信号処理回路 7、 CD— ROMデコーダ 9、 及び A TAP Iィン夕フェース回路 4などを制御する。 RAM 57 は C P U 5 1のワーク領域等に利用されるワーク R A Mとされる。 フラッシュメモリ 5 6は、 その記惊領域が所定のブロック (メモリブ ロック) 単位で一括消 -可能にされ、 プロック単位でデ一夕を害き換え 可能な構成を有する。そのようなフラッシュメモリは公知であるから、 詳細な説明は省略するが、 そのメモリセルトランジスタは、 浮遊ゲート と制御ゲートを持つ 2層ゲ一卜構造の絶縁ゲ一ト型電界効果トランジ ス夕により構成される。メモリセルトランジスタへの情報の書込み動作 は、 例えば制御ゲ一ト及びドレインに高圧電圧を印加して、 アバランシ ェ注入により ドレイ ン側から浮遊ゲ一卜に電子を注人することで突現 でき、 この書込み動作によりメモリセルトランジスタは、 その制御ゲ一 トからみたしきい値電圧力 書込み動作を行わなかった消去状態のメモ リセル卜ランジス夕に比べて高くされる。 一方消去動作は、 例えばソー スに高圧電圧を印加して、 トンネル現象により浮遊ゲ一卜からソース側 に電子を引き抜くことによって実現され、それによつてメモリセル卜ラ ンジス夕は、 その制御ゲートからみたしきい値電圧が低くされる。書込 み並びに消去状態の何れにおいてもメモリセルトランジス夕のしきい 値電圧は ΐΠの電圧レベルにされる。すなわちヮ一ド線から制御ゲートに 与えられるワード線選択レベルに対して、書込み状態のしきい値^圧は 高くされ、 消去状態のしきい値電圧は低くされる。 双方のしきい値電圧 とヮ一ド線選択レベルとがそのような関係を持つことによって、選択ト ランジス夕を採用することなく 1個のトランジスタでメモリセルを構 成することができる。メモリセルトランジスタに対する消去動作並びに 書込み動作のための制御手法は、 現在種々の態様が実現されており、 ソ ースが共通接続されたメモリセルトランジス夕に対して一括消去を行 うもの、 或いは、 制御ゲ一トが共通接続されたメモリセルトランジスタ に対して一括消去を行うものがある。そのような態様によってプロック 単位での一括消去が可能にされている。消去プロックの指定は消去プロ ック指; ά£レジス夕に対する制御デ一夕の設定で指示することができる。 また、 フラッシュメモリに対する動作、 すなわち、 消去、 消去べリ ファ ィ、 害き込み、 ¾き込みべリファイ、 読み出し等の動作は、 フラッシュ メモリのモ一ドレジス夕に対する制御情報の設定で指示される。それら 設;^は、 中央処理装 ¾5 1がその動作プログラムに従って行う。
前^内部バス 58は、 ァドレス、 デ一夕及び制御信号のためのバスを 総称する。内部バス 8に含まれるデ一夕バスゃァドレスバスは前記 CD 一 ROMデコーダ 9及び ATAP Iインタフエース问路 4に接続され る。 また、 C P U 5 1が前記 C D— R 0 Mデコーダ 9及び A T A P Iィ ン夕フェース回路 4をアクセスするためのアクセス制御信号 5 10は、 特に制限されないが、中央処理装置 5 1から直接出力されるように図示 されており、 そのようなアクセス制御信号 5 10は、 リ一ド信号、 ライ ト信号、 チップィネーブル信号などとされる。 これによつて C P U 5 1 は、 コマン ドバッファ 40をアクセスし、 また、 RAMコントローラ 9 0に制御情報を設定し、また RAMコン トローラ 90を介し或いは直接、 ノ ソファ RAM I 6をアクセスすることができる。
前記 16ビヅ ト夕イマ 54はディスク 1に対するビックアップ 1 1 の線速度を学習するための情報を得る。
第 1図において 93で示されるものは C D— R 0 Mデコーダ 9から
CPU 5 1に与えられる割込み信号であり、例えば前記付加誤り訂正コ ―ドによっても訂正不能な誤りを生じたことを通知する割込み信号な どとされる。 42で示されるものは ATAP Iィン夕フェース回路 4力 ら CPU5 1に与えられる割込み信号であり、 例えば、 ホス ト装置 3か らコマン ドバッファ 40にコマン ドが供給されたことを通知する割込 み信号である。信号 50 1で示されるものはプリアンプ 14の特性を制 御するための制御情報であり、 5 0 2で示されるものはデイジ夕ル信号 処理回路 7におけるディジタルフィル夕、 C 1 , C 2誤り訂正、 ディジ タルサーボ、及び速度制御の各機能を制御するための制御情報である。 それら情報は入出力ポート 5 9から出力される。
《冉生速度の転換に応じた回路特性の変更》
C D - R O M ドライブ装置 2において、 記録情報再生速度(即ちディ スク 1からの記録情報の読み取り速度)の高速化は、 C D— R O Mドラ ィブ装置 2の内部回路の特性変更を伴う。 即ち、 第 1には、 ディスクモ 一夕 1 0ゃスレツ ドモ一夕 1 2の回転速度などを高速化しなければな らない。第 2に、 それに応じてディジタルサ一ボゃディジ夕ルフィル夕 の係数を変更しなければならない。第 3に、 読み取り速度の高速化によ つて C I , C 2誤り訂正に費やせる時間が短くされるので、 C I , C 2 り訂正能力を変更(低下) したプログラムを採用しなければならない。 例えば 4倍速のとき最大 6シンボル訂正まで可能なとき、 6倍速ではそ れを最大 4シンボル訂正まで訂正能力を下げるようにする。第 4に、 読 み取り速度の高速化によって読み取り信号周波数が高くなるのでプリ アンプ 1 4のゲインゃ周波数帯域等の特性を変更しなければならない。 第 1乃至第 3の変更点に対しては、当然ディジ夕ル信号処理「nJ路 7の動 作周波数も 速化しなければならない。第 1乃至第 3の修正点に対する 対処はハ一ドウエアの変更によらず、 C P U 5 1の動作プログラムの変 更によつて容易に対処できる。第 4の修正点に対しては、 プリアンプ 1 4が有する図示しない加算及び波形等化器の周波数特性を 4倍速、 6倍 速、 8倍速そしてそれ以上に最適に対応できるよう切り換える回路を予 め持つことにより、その特性を C P U 5 1の動作プログラムによって切 り換えて対処できる。斯る周波数特性の切換えは、 加算及び波形等化さ れた信号の 2値化精度を向上させるために必要とされる。例えば、 オペ アンプを主体とする加算回路の帰還系に配置した波形等化フィル夕の 抵抗及び容量の値をスィ ツチを介して選択する構成によって、周波数特 性を最適に切り換えることができる。
C D— R O M ドライブ装置 2における記録情報 ¾生動作及び外部ィ ン夕フェース動作は、 C P U 5 1がアプリケ一ションブログラムに含ま れる記録情報再生制御プログラム及びインタフヱース制御プログラム を実行して制御する。例えば記録情報再生速度を 4倍速とする場合には 4倍速用の記録情報再生制御プログラムを採用し、記録情報再生速度を 8倍速とする場合には 8倍速用の記録情報再生制御プログラムを採用 する。 この説明において、 記録情報再生制御プログラムとは、 ディスク モ一夕などに対するサーボ制御、ディジタル信号処理回路 7に対する動 作制御、 C D— R 0 Mデコーダ 9等のための動作プログラムを総称する。 前記ィン夕フェース制御プログラムとは、 A T A P Iイン夕フエ一ス回 路 4に対するコマン ドゃデ一夕のィン夕フェース制御などを実現する 処理プログラムを総称する。 したがって、 C D— R O Mドライブ装置 2 において、 アプリケ一シヨンプログラムは、 ディスクに記録された情報 を再生してホス ト装置 3に再生情報を与えるための処理プログラムを 総称する。
《ユーザプログラム領域の書き換えによる再生速度転換への対処》 第 2図に例示されるように、前記フラッシュメモリ 5 6はその記憶領 域にリブ一トプログラム領域 5 6 0とアプリケ一ションプログラム領 域 (以下ユーザプログラム領域とも称する) 5 6 1 とを有する。 ユーザ プログラム領域 5 6 1はアプリケーションプログラム M 2を格納する ための領域とされる。前記りブートプログラム領域 5 6 0は、 入力制御 プログラム M 1、 消去/書込み制御プログラム M 3 , 転送制御プログラ ム M 4などを格納する領域とされる。 入力制御プログラム M 1は、外部から A TAP Iイン夕フェース回路 4に供給された胄込み若しくは書き換え対象とされる全部又は一部の アプリケーションプログラムを例えばバッファ R A M 1 6に取り込む ために前記 C P U 5 1が実行するイン夕フェース用のプログラムとさ れる。消去/書込み制御プログラム M 3は、 バッファ RAM 16に取り 込まれた前記全部乂は -部のアプリケーションプログラムを前記ユー ザプログラム領域 56 1に書込み制御するために C P U 5 1が'夫'行す る書き換え制御プログラムとされる。 転送制御プログラムは、 リブート プログラム領域 560に格納されている消去ノ *込み制御プログラム M3を CPUがワーク RAM57に転送制御するプログラムとされる。 C P U 5 1はワーク R AM 57に転送された消去/書込み制御プログ ラム M 3を実行して、ユーザプログラム領域 56 1にバッファ RAM 1 6内の全部又は一部のアプリケ一シヨンプログラム M2を書き込みす ることになる。
前記リブ一トプログラム領域 560は更に、ベクタァドレスが格納さ れるべク夕テーブル 560 Aとそのベクタテーブル 56 OAのべクタ アドレスによって参照される所定のプログラムの格納領域 560 Bと を含む。前記べクタテーブル 56 OAは、 リセッ トベクタ B C T 1及び ATAP I割込みべクタ BCT 2などを含む。プログラムの格納領域 5 60 Bはリセッ ト処理プログラム PRG 1及び A TAP I割込み処理 プログラム P R G 2などを含む。
前記リセッ ト処理プログラム PRG 1は前記リセッ 卜べクタ B CT 1によって参照される。即ち、 パワーオンリセッ ト又はハ一ドウエア若 しくはソフ トウェアリセッ トの指示があると、 C P U 5 1は前記リセヅ トベクタ B C T 1を読込み、それによつて指示される前記リセッ ト処輝- プログラム PRG 1の先頭ァドレスにその処理を分岐させる。 第 3図にはリセッ ト処理のフ口一チヤ一卜が示される。 リセッ 卜処理 では先ず内部の初期化若しくは内部回路の初期設定が行われる (S 1 ) 。 特にマイクロコンピュー夕 5はその後、ァプリケ一ションプログラムの オンボ一ド書き込み若しくは^き換えを行うか否か、即ちュ一ザリブー トモ一ドか否かを判定する ( S 2 )。 この例では、 ユーザリブートモ一 ドの起動条件は、 特に制限されないが、 CD— ROMドライブ装置 2の 電源投入時に所定のスィ ツチ例えばディスクのイジェク トスィ ツチを 押すこととされる。ィジェク トスィ ツチなどを操作して指示されるユー ザリブートモ一ドを、 特に強制リブ一トモードとも称する。前記強制リ プ一トモ一ドでなければ、前記アプリケーションプログラム M 2の実行 に移る ( S 3 ) 。 前記ユーザリブートモ一ドの場合には、 リブ一トフラ グがセッ ト状態にされ (S 4)、 その後、 ATAP I割込みを待つこと になる ( S 5 )。 リブ一トフラグは例えば C P U 5 1に含まれる図示を 省略するフラグ若しくはコン トロールレジス夕の所定の 1ビッ トが割 り当てられる。
前記 A TAP I割込み処理プログラム PRG 2は前記 A TAP I割 込みべク夕 B C T 2によって参照される。 すなわち、 AT AP Iプロ ト コルにおいて ATAP Iイン夕フェース回路 4に供給される 連の情 報の先頭にはコマンドが配置されている。コマンドはコマン ドバヅファ 40に取り込まれる。コマン ドがコマンドバッファ 40に取り込まれる と、 A TAP Iィン夕フェース回路 4は割込み信号 42によってその旨 を CPU 5 1に通知する。 CPU 5 1は ATAP I割込みを受け付ける と、 A T A P I割込みべクタ B C T 2を参照して AT AP I割込み処理 プログラム PRG2にその処理を分岐させる。
第 4図には A T AP I割込み処理プログラムのフローチャートが示 される。 CPU 5 1は、 ATAP I割込みがあると、 コマンドバッファ 4 0からコマン ドをリードし、 それを解^する ( S 1 0 ) 。 そして、 前 記リブ一トフラグを検査する。リブー卜フラグがセッ ト状態でない場合 には、 そのコマン ドの解読結果に従つて、 アプリケーションプログラム M 2に含まれる所定の処理ルーチンを^行し、例えばディスク 1から記 録情報を^み出すための記録情報 生制御を閲始する ( S 1 2 ) 。 前記 リブートフラグがセッ ト状態の場合に、そのコマン ドが所定のコマン ド (ペンダーユニークコマン ド) である場合には、 記録情報再生制御プロ グラムをオンボ一ド き込みするためのリブートプログラムが実行さ れる。
この例において、 f½記リブートプログラムの実行とは、 前記 C P U 5
1が、 前記入力制御プログラム M 1を実行して、 ホス ト装置 3から A T A P Iィン夕フヱ一ス回路 4に供給された記録情報再生制御プログラ ムをバッファ R A M 1 6に格納すると共に、前 ¾転送制御プログラム M 4を実行して消去/書込み制御プログラム M 3を前記ワーク R A M 5 7に転送した後、ワーク R A M 5 7が保ィ: ίする消去/書込み制御プログ ラム Μ 3を実行して、バッファ R A M 1 6内の全部又は一部のアプリケ —シヨンプログラムをユーザプログラム領域 5 6 1に害き込み制御す ることである。 尚、 前記ベンダーユニークコマン ドは、 特に制限されな いが、 A T A P Iインタフエース仕様において規格化されていない (若 しくは未使用の) コード情報とされる。
第 2図において、ユーザプログラム領域 5 6 1に格納されるアブリケ ーシヨンプログラム M 2は、メインプログラムとサブルーチンに分けら れた処理プログラム及び分岐先サブルーチンのプログラムアドレスを 与える 2次べクタテーブルなどによって構成されている。第 3図の S 2 においてユーザリブ一卜モードでないことが判定された後、 C P U 5 1 の図示しないプログラムカウン夕は、アプリケーションプログラム M 2 における処理プログラムの先頭ァドレスに強制され、 これによつて、 そ のプログラムア ドレスを起点にアプリケーショ ンプログラムを実行す る o
前記フラッシュメモリ 5 6は、 第 5図に例示されるように、 一括消去 単位とされる複数個のメモリブロック (B L K 0〜; B L K n )を冇する。 このとき、前記リブートプログラム領域 5 6 0及びュ一ザプログラム領 域 5 6 1を、 相互に異なるメモリプロックに割り当てる。 例えば、 メモ リブロック B L K 0がリブ一トプログラム領域 5 6 0に割り当てられ ている。
消去/書込み制御プログラム M 3はュ一ザプログラム領域 5 6 1だ けを書込み対象とする。 即ち、 第 5図に従えば、 消去/書込み制御プロ グラム M 3は、 その制御動作上、 消去/書込みプロック指定レジス夕に 対して、 メモリブロヅク B L K 0を消去 ·書込み対象とすることはない。 換言すれば、 消去/書込み制御プログラム M 3は、 リブートプログラム 領域 5 6 0を書込み対象とはしない。 この意味において、 リブートプロ グラム領域 5 6 0の書き換えが阻止されている。
前記リブ一トプログラム領域 5 6 0が保有しているプログラムは、 A T A P Iイン夕フェース回路 4を介して書き換えすることができない から、 初期的な書込みの信頼性が高くなければならない。 それを保証す るには、 特に制限されないが、 マイクロコンピュー夕の製造工程でそれ らプログラムを書き込むことが望ましい。
第 6図にはマイクロコンピュ一夕の製造工程が概略的に示される。例 えば多数のマスクパターンを利用して単結晶シリコンゥェ一ハ上にマ ィクロコンピュー夕を構成する回路を集積したゥェ一ハを製作する(ス テツプ P 1 ) 。 製作されたゥエーハに対してゥェ一ハ検査が行われ (ス テツプ P 2 )、 そしてゥエーハ上の回路機能に対するプローブ検杏が行 われ、ゥェ一ハ上のマイクロコンピュー夕チップに対する良否が判定さ れる (ステップ P 3 ) 。 プロ一ブ検杏の後、 ダイシングによってゥェ一 ハから複数個のマイクロコンビュー夕チッブが切り出され、良品チップ がボンディングゃパッケ一ジングのェネ¾を経て組み立てられる(ステツ プ Ρ 4 ) 。 組み立て後、 雰囲気温度や動作電圧を許容限度の上限として マイクロコンビュー夕を動作させ、近い将来に生ずるであろう不良を予 じめ顕在化させるためのエージングを行なう (ステツプ Ρ 5 ) 。 エージ ングの後、テス夕を使ってマイクロコンビュー夕 L S Iの選別を行なう (ステップ P 6 ) 。 この選別工程には、 内蔵フラッシュメモリ 5 6に対 する消去、 書込みテス トが含まれる。 この工程を利用して、 リブートプ 口グラム領域に前記消去 Z書込み制御プログラム等のリブートプログ ラムの書込みを行なう。書込みされたリブ一卜プログラムに対しては、 その動作テス トを併せて行なうことも容易である。選別工程を経た後、 マイクロコンビュ一夕 L S Iはス トックされ、出荷前に出荷検査が行な われ (ステヅプ P 7 ) 、 検査で不都合のないものが出荷される (ステツ ブ S 8 ) 。
ヒ述の様に、消去/書込み制御プログラム M 3はリブートプログラム 領域 5 6 0を消去/書込み対象とはしない。 これは所謂、 ソフ トウェア プロテク トである。 C P Uが暴走したり或いはユーザプログラムの不備 によって、 リブートプログラム領域 5 6 0が不所望に消去 '書込みされ ないようにするために、ハードウェアプロテク トの手段を備えることが できる。
第 7図にはハードウエアプロテク 卜のための- -例が示される。第 7図 において 5 6 2は一括消去対象とするメモリブロックを指定する消去 ブロック指定レジス夕である。例えば第 5図に対応させれば、 消去プロ ック指定レジス夕 5 6 2は、メモリブロック B L K 0〜B L K nに 1対 1対応される制御ビッ ト E S 0〜 E S nを有し、制御ビッ ト E S 0〜 E S nは論理値 1によって対応メモリブロックの消去をフラッシュメモ リ 56に指示する。 563は、 消去ブロック指 レジス夕 562による 消去指示に拘らず消 を禁止するメモリプロックを指定するための消 去禁止ブロック指定レジス夕である。例えば第 5図に対応させれば、 消 去¾止ブロック指定レジス夕 563は、メモリブロック B L K 0〜 B L K nに 1対 1対応される制御ビ ヅ ト I H 0〜 I H nを有し、制御ビッ ト I H 0〜 I H nは論理値 0によって対応メモリブロックの消去を禁止 する。消去ブロック指定レジス夕 562と消去禁止ブロック指定レジス 夕 563との対応ビッ トは夬々 2入力アン ドゲート AND 0~AND nに供給され、 アン ドゲ一 卜 AND 0〜ANDnの出力が、 フラッシュ メモリ 56に対する消去プロック指示情報として供給される。消去プロ ヅク指定レジス夕 56 2及び消去禁止ブロック指定レジス夕 563の 双方に対するデ一夕設定は CPU5 1が行なう。特に、 消去禁止ブロッ ク指定レジス夕 563に対するデータ設定はイニシャライズリセヅ 卜 で行なうことができる。 例えば、 I H 0を論理値 0に設定する。 この構 成によれば、消去/書込み制御プログラム M 3の実行中に CPU 5 1が 暴走したとき、 レジス夕 563の値が不所望に書き換えられない限り、 レジス夕 562の値が変化されても、ブートプログラム領域 560は消 去されない。
第 8図にはハードウェアプロテク トを実現するための別の例が示さ れている。第 8図において 562は第 7図と问じ消去ブロック指定レジ ス夕である。 564は、 マイクロコンビュ一夕 5の外部端子 T 0〜T i から供給されるデ一夕をデコードして、メモリブ口ック単位の消去禁止 信号を出力する。前記消去プロック指定レジス夕 562は内部バス 58 を介し CPU 5 1によってデ一夕設定される。内部バス 58と消去プロ ヅク指定レジス夕 5 6 2の入力との問には、 2入力アン ドゲ一卜 A N D 0〜AND nが配置されている。アン ドゲ一ト AND 0〜AND nの一 方の入力には、 内部バス 5 8の信号線がビッ ト毎に供給され、 他方の入 力には前記消去禁止信 ¾がビッ 卜毎に供給される。 したがって、 論理値 0の消去禁止信号が供給されるアン ドゲートの出力は常時論理^ 0に されるから、そのアン ドゲ一トの出力に対応される消去プロック指定レ ジス夕の制御ビッ 卜は論理値 1 (消去指示レベル)にされることはない。 例えば、メモリブロック: B L K 0がリブー卜プログラム領域に割り当て られるとき、アン ドゲート AND 0の出力が常時論理値 0になるように 外部端子 T 0 ~T iをプルアップ又はブルダウンしておけば、 C PU 5 1が暴走した場合もリブートプログラム領域 5 6 0が き換えられる 虞は全くない。
以上説明したように、前記マイクロコンビュー夕 5が ATAP Iイン 夕フエ一ス回路 4や C D— R 0 Mデコーダ 9などと一緒に配線基板(ボ —ド)に実装されて構成された CD— R OMドライブ装置 2において、 リセッ 卜時に前記強制リブ一トモ一ドを設定することにより、 該マイ クロコンビュー夕 5の C P U 5 1は内蔵フラッシュメモリ 5 6のリブ ―トプログラムを実行して、ユーザプログラム領域の 5 6 1のアブリケ —ションプログラム M 2の全部又は 部を、ホス 卜装置 3から AT A P Iィン夕フエ一ス回路 4に供給される新たなプログラムに更新するこ とができる。 これにより、 今後極めて短いサイクルで生ずるであろう、 再生速度転換時期に、再生速度の向上に応じて必要な修正を加えたァプ リケーシヨンプログラム M 2の全部又は一部を書き換えるだけで、 CD — ROMドライブ装置 2におけるそのような再生速度の転換に即座に 若しくは夕イムリーに対応できることになる。アプリケーションプログ ラムの書き換え しくは更新は、アプリケーションプログラムの全部で あることに限定されず、 その一部であってもよい。 アプリケーションブ 口グラムに含まれる再生制御プログラムだけ ¾き換え対象としてもよ い。 要するに、 必要な修正がアプリケ一ションプログラムの全体に及べ ばその全体を、 また、 必要な修正がアプリケーションプログラムの -部 で済めば当該一部を害き換えればよい。
このとき、前記フラッシュメモリ 5 6の書き換え対象はユーザプログ ラム領域 5 6 1 とされる。リブ一トプログラム領域 5 6 0は書き換え対 象ではないから、フラッシュメモリ 5 6の書き換え動作途中で異常があ つた場合にも、 再度リブートプログラムを実行すれば、 すぐにユーザプ ログラム領域 5 6 1に対する再書き込み動作に移行でき、書き換え途中 における異常状態からの復旧に手間取ることはない。
C D— R O Mドライブ装置 2においてアブリケ一シヨンプログラム M 2を格納しているのは前記フラッシュメモリ 5 6だけであるから、 * き換えの制御手順を簡素化でき、 しかも書き換え時間も短縮できる。更 に、アプリケーションプログラムとリブ一トプログラムは一緒にフラヅ シュメモリ 5 6に格納されるから、夫々のプログラムが別々のメモリに 格納される場合に比べて、 C D— R O Mドライブ装置 2の物理的な規模 の増大を極力抑制して上記効果を得ることができる。
上記の例ではリブートプログラムは、 入力制御プログラム、 書き換え 制御プログラム及び転送制御プログラムを含んでいる。 したがって、 ュ 一ザプログラム領域 5 6 1の更新に当たって、ホス ト装置 3は前記フラ ッシュメモリ 5 6に対する書込みコマン ドに続けてユーザプログラム 領域 5 6 1に書き込むべきアプリケ一ションプログラムを C D— R O Mドライブ装置 2に転送すればよく、書き換え制御プログラムを転送す る必要はないから、ユーザプログラム領域 5 6 1を更新する処理時間を 更に短縮することができる。 前記リブートプログラム領域 5 6 0は、 リセッ トベクタ B C T 1 とリ セッ ト処理プログラム P R G 1の格納領域とを有している。このとき、 前記 C P U 5 1は、 リセッ 卜の指示に応答して前記リセッ 卜べクタ B C T 1を参照することにより前記リセヅ 卜処理プログラム P R G 1の突 行に移行する。リセッ ト処理プログラム P G R 1の実行途上ではィジェ ク トスィツチが押されたか否かによって、ホス 卜装置 3からの Wき換え コマン ドに応答し得る強制リブートモ一ドであるか かを判定する。強 制リブー卜モードのときは、前記書き換えコマン ドの入力を待って前記 リブ一トプログラムの実行に遷移し、強制リブート状態でないときは前 記ュ一ザプログラム領域のアブリケーションプログラムを実行可能な 状態に遷移する。 したがって、 フラッシュメモリ 5 6の書き換えに際し て異常が起きても、 リセッ トをかけて強制リブートモ一ドの指示を行え ば、 その異常から容易に復旧して、 フラッシュメモリ 5 6を IIき換える 処理に戻ることができる。 この点においても、 ユーザプログラム領域を 更新する処理時間を短縮することができる。
前記フラッシュメモリ 5 6は一括消去単位とされる複数個のメモリ ブロック B L K 0〜 B L M nを有している。 このとき、 前記リブー卜プ 口グラム領域と前記ユーザプログラム領域とを相互に異なるメモリブ 口ックに割り: 1てているから、ユーザプログラム領域 5 6 1に対する消 去動作を効率化できる。換言すれば、 ュ一ザプログラム領域 5 6 1に書 き換えに当たって当該領域の消去動作を一緒に行うことができる。 ホス ト装置 3とのインタフェースに A T A P Iイ ン夕フェース回路 4を採用するから、 C D— R O Mドライブ装置 2は、 S C S Iインタフ エース仕様等のディスク ドライブ装置に関して蓄積された過去のソフ トウエア資産を承継しながら、拡張 I D Eのような新しいイン夕フエ一 スを採用でき、 しかもコス 卜の低減を図ることができる。前記 A T A P Iィンタフェース仕様は、パーソナルコンビ 夕等の分野で広く普及 している I DEインタフエースに準拠しているから、ユーザプログラム 領域 56 1の書き換えに際して、 CD— ROMドライブ装 iメーカはそ の生産ライン上のホス 卜システムを利用できる。 また、 パーソナルコン ピュー夕のセッ トメ一力は、 CD— ROMドライブ装置をパーソナルコ ンピュー夕に組み込んだままの状態で、当該パーソナルコンビュー夕を 利用して再生制御プログラムの書き換えを行うことができる。
《パーソナルコンピュー夕》
第 9図には前記 CD— ROMドライブ装置 2を内蔵したパーソナル コンピュー夕 30の一例が示されている。このパーソナルコンビ 夕 30において、 マイクロプロセッサ 31は、 特に制限されないが、 P C I (Peripheral Component Interconnect) スコン 卜ローラ 32を介 して P C Iバスの規格に準拠した内部バス (P C Iバス) 33に接続さ れている。前記内部バス 33には周辺コントローラとして代表的に示さ れた IDEイン夕フエ一スコントローラ 34が結合され、前記 CD— R 0Mドライブ装置 2は、イン夕フエ一スケ一ブルとしての ATAP I ス 35を介して前記 I D Eィン夕フ スコン トローラ 34に結合さ れている。前記 IDEインタフエ一スコン トローラ 34はハ一ドデイス ク装置 36と内部バス 33とのィン夕フ ス制御も行う。前記マイク 口プロセッサ 3 1 PC Iパスコン トローラ 32、 内部バス 33及び I DEインタフェースコン トローラ 34は PCボード (メインボード) 3 7を構成する。前記 P Cボード 37 CD-ROMドライブ装置 2及び ハードディスク装置 36は共通のケース (筐体) に内蔵されいる。 尚、 図示は省略するが、前記 P Cボード上にはその他の周辺コン トロ一ラと して、 グラフィ ックァクセラレー夕、 プリン夕などとのパラレルイン夕 フェースを行うセン 卜ロニクスイン夕フェースコントロ一ラ、及びフロ ッピーディスク ドライブ装置とのィン夕フエース制御を行うフロッピ —ディスクコン トローラ が内部バス 33に接続されて実装されてい る。 第 9図を第 1図に対応させると、 第 1 1のホス ト装置 3は、 第 9図 のパーソナルコンビユー夕 30において C D _ R OMドライブ装^ 2 を除いた部分になる。
前記パーソナルコンピュータ 30においては、 CD— ROMドライブ 装置 2と I DEイン夕フェースコン トローラ 34との接続状態を変更 することなく、若しくは C D— R〇 Mドライブ装置 2をパーソナルコン ビュー夕 30の筐体から取り外すことなく、前記マイクロプロセッサ 3 1にュ一ティ リティ一プログラムを夹行させて、 CD— ROMドライブ 装置 2に書き換えコマン ドゃ新しいアブリケ一ションプログラムを転 送してやれば、 上記同様、 CD— ROMドライブ装置 2の 牛制御プロ グラムを簡単に更新することができる。
《ユーザプログラム領域の書き換え動作》
第 1 0図〜第 1 5図は第 9図に示されるパーソナルコンビユー夕 3
0に搭載された状態で CD— ROMドライブ装置 2のアプリケ一ショ ンプログラムを害きかえる動作を順を追って示している。第 10 1〜第 1 5図において CD— ROMドライブ装 2はパーソナルコンピュー 夕 30の筐体 38の外に拡大して図示してある。
第 10図は初期状態を示し、 CD— ROMドライブ装置 2は AT AP
Iバス 35を介して前記 I D Eイン夕フェースコン トローラ 34に接 続されている。前記入力制御プログラム M 1、 消去/書き込み制御プロ グラム M 3、転送制御プログラム M 4が格納されているリブ一トプログ ラム領域 560は、アプリケ一ションプログラム M 2が格納されるュ一 ザプログラム領域 56 1とは、相互に異なるメモリブ口ックに割り当て られている。 第 1 1図に示されるように、アプリケーションプログラムを書き換え るときは、例えば CD— R OMドライブ装置 2をリセッ 卜すると共に、 ディスクのイジェク トスイッチを押して、 CD— ROMドライブ装置 2 に前記強制リブートモードを設定する。例えばフロッピーデイスク F D には、バグの修正された或いはパージヨンアップされたアプリケ一ショ ンプログラムと、そのアプリケーションプログラムを CD— ROMドラ ィブ装^: 2に書き込むためのュ一テイ リティ一プログラムが格納され ている。 このュ一ティ リティ一プログラムは、 アプリケーションプログ ラムを CD— ; OMドライブ装置 2に転送するための転送ソフ トウェ ァである。前記フ口ッビ一ディスク F Dをパ一ソナルコンピュ一夕 30 のフロッビーディスク ドライブに挿入して起動する。ュ一ティ リティー プログラムはハードディスク装置 3 6に格納されていてもよい。
起動された転送ソフ トウェアの指示に従ってパーソナルコンピュー 夕側でキ一操作等が行われると、パーソナルコンビユー夕 30のマイク 口プロセッサ 3 1は、フラッシュメモリ 5 6に対する書き込みコマンド (前記ベンダ一ユニークコマンド)を I D Eイン夕フェースコン トロー ラ 34を介して出力する。 ATAP Iイン夕フェース回路 4は、 前記書 き込みコマン ドを認識すると、 AT A P I割込み信号 42を CPU 5 1 に与える。 これによつて CPU 5 1は、 入力制御プログラム M 1を実行 し、 先ず最初にバヅファ RAM 1 6の内容をクリアする。
第 1 2図に示されるように、パーソナルコンピュータ 30のマイクロ プロセッサ 3 1は、 前記書き込みコマンドに続いて、 新たなアプリケ一 ションプログラム (新アプリケ一ションプログラム) を I D Eイン夕フ エースコントローラ 34を介して出力する。 CPU 5 1は入力制御プロ グラム M 1を実行する。 これにより CPU 5 1は、 ATAP Iインタフ エース回路 4に供給されたアプリケーションプログラムをバッファ R AM 1 6に順次格納していく。 AT AP Iィン夕フェース回路 4に順次 供給されてくる惜報にパリティ一が付加されている場合には、パリティ —チェックを行い、エラ一のあるデータプロヅクに対して再送が要求さ れる。
第 1 3図に示されるように、新アプリケ一ションプログラムがバッフ ァ RAM 1 6に格納された後、 C P U 5 1は転送制御プログラム M 4の 実行に移る。 これによつて C P U 5 1は、 消去/書き込み制御プログラ ム M 3をマイクロコンビュ一夕 5のワーク RAM 57に転送制御する。 第 1 4図に示されるように、消去/書き込み制御プログラム M 3がヮ —ク RAM 57に転送完了された後、 CPU 5 1はそのワーク RAM 5 7に格納された消去/書き込み制御プログラム M 3の実行に移る。この ときの消去プロックの指定は消去ノ書き込み制御プログラム M 3に従 つて行われる。 また、 マイクロコンピュー夕 5には、 書き込み及び消去 用の高電圧が供給されている。消去/書き込み制御プログラムが実行さ れることにより、 先ず、 フラッシュメモリ 56のュ一ザプログラム領域 56 1が消去 ·消去ベリフアイされる。次に第 1 5図に示されるように、 C P U 5 1は、バッファ RAM 1 6に格納されている新たな再牛-制御プ ログラムとしての新アプリケーションプログラムを順次フラッシュメ モリ 5 6のユーザプログラム領域 5 6 1に書き込む動作と書き込みべ リフアイ動作とを行っていく。特に制限されないが、 書き込みァドレス 等は消去/書き込みプログラムによって規定されている。
書き込み動作終了後、 CD— ROMドライブ装置 2がリセッ 卜される ことにより、 CD— ROMドライブ装置 2は、 更新されたアプリケーシ ョンプログラムに従って CD— ROMの再生制御を行うことができる。 第 1 6図には前記ユーザプログラム領域を書き換える動作のフロー チヤ一トが概略的に示されている。前記転送ソフ トウエアが起動される と、 CPU 5 1は、 マイクロプロセッサ 3 1から ATAP Iイン夕フエ —ス回路 4を介して供給される前記新アブリケーシヨンプログラムを バッファ RAM 1 6に転送すると共に、消去/害き込み制御プログラム をワーク RAM 5 7に転送する (S 20) 。 転送に際してはパリティ一 チェック若しくはサムチェヅクを行い、 転送異常があるかを監視する ( S 2 1 ) 。転送異常がある場合にはそのアプリケーションプログラム を再送する。バッファ RAM I 6及びワーク RAM 5 7への転送が完了 されると、フラッシュメモリ 5 6のユーザプログラム領域 5 6 1が消去 され ( S 22 ) 、 次いで、 バッファ RAM 1 6に転送された新アプリケ ーシヨンプログラムがフラッシュメモリ 5 6のユーザプログラム領域 5 6 1に^き込まれる ( S 2 3 ) 。 書き込みデ一夕に対しては書き込み ベリフアイが行われる ( S 24 ) 。
上述のようなユーザプログラム領域 5 6 1の書き換え処理は、 CD— R〇Mドライブメーカがホス ト装置 3を用いて実施できることは言う までもないが、 第 1 0図〜第 1 6図に示した処理は、 例えば CD— RO Mドライブ装置 2がパーソナルコンピュー夕 3 0に標準搭載されると き、 パソコンメーカが、 パーソナルコンビユー夕 30上で CD— ROM ドライブ装置 2を評価する期間に、バグの修正されたアブリケ一ション プログラムをユーザプログラム領域 5 6 1に再インス ト一ルする手法 として位置付けることができる。
第 1 0図〜第 1 6図に基づいて説明したように、 CD— ROMドライ ブ装置 2のユーザプログラム領域 56 1の書き換えでは、パーソナルコ ンピュー夕 30の P Cボード 37をホス ト装置とし、この P Cボード 3 7を介して CD— ROMドライブ装置 2のアプリケーションプログラ ムを書き換えることができる。 したがって、 CD— ROMドライブ装置 2をパーソナルコンビユー夕 30から取り外すことなく、前記マイク口 プロセッサ 3 1を利用して、 C D— R 0 Mドライブ装置 2の再牛制御プ ログラム及びィ ン夕フェース制御ブログラムなどのアプリケーション プログラムの全部又は一部を変 ¾できる。
したがって、 CD— ROMドライブ装置 2における 生速度の転換サ ィクルが極端に短くされ、 CD— ROMドライブ装 II 2がパーソナルコ ンピュ一夕 30に標準搭載され、それによつて CD— ROMドライブメ —力はパソコンメーカ ffiに相違する仕様で C D— R 0Mドライブ装置 2のアプリケーションプログラムを作成しなければならない状況下に おいて、 バソコンメ一力は、 CD— ROMドライブ装置 2の評価期間を 通じて ドライブメ一力からアプリケーションプログラムに関するバグ の修正や追加機能を受けながらパーソナルコンビュー夕 30に組みこ まれたままの状態で C D— R OMドライブ装置 2の評価を行うことが できる。 前述の通り、 CD— ROMドライブ装置 2は、 ユーザプログラ ム領域 56 1に対する書き換え処理の能率化、書き換え処理中における 異常状態から速やかに復旧して書き換え処理に戻れるなどの手段が講 じられているから、 CD— ROMドライブ装置 2の評価期間を通じて、 マイクロコンピュー夕 5に内蔵されたフラッシュメモリ 56を、修正さ れたアプリケーションプログラムに効率的に書き換えることができる。 よって、パソコンメーカはディスク ドライブ装置の評価期問を短期でき る。
これにより、 CD— ROMドライブ装置 2における再生速度の転換サ ィクルが極端に短くされている状況下において、 パソコンメーカは、 よ り再生速度の速い CD— R OMドライブ装置 2を標準搭載したパーソ ナルコンビュー夕 30を効率的に市場に投入できるようになる。
また、パーソナルコンピュ一夕の OS (Operating System)が変更(バ 一ジョンアップ) されるような場合に、 変更された 0 Sに対応されるコ マン ドを処理するイ ン夕フエ一ス機能をアプリケーションプログラム のインタフヱ一ス制御プログラムに反映するような修正にも即座に対 応することができる。
前記アブリケ一シヨンプログラムはィン夕ネッ 卜等の通信 段で C D— R O Mドライブ装誇 2の製造又は販売会社からパソコンメーカ乂 はその販売会社に、或いはバソコンメ一カ乂はその販売会社からパーソ ナルコンピュータのェン ドュ一ザに供給することも口 Ϊ能である。これに よれば、バソコンメ一力又はその販売会社或いはパーソナルコンビュー 夕のエン ドユーザに瞬時に前記アプリケーションプログラムを送るこ とができる。 したがって、 前記パーソナルコンピュ一夕 3 0がィン夕一 ネヅ 卜にアクセスするハードウエア及びソフ トウエアを備えたもので あれば、バ一ジョンアップ若しくはバグが修正された再生制御プログラ ムをュ一ザプログラム領域 5 6 1 に簡単に再ィンス トールすることが でき、パソコンメーカによる C D— R O Mドライブ装^の評価期問の短 縮はもとより、 ェンドユーザに対しても、 C D— : O Mドライブ装置の 機能変更を容易化することができる。
《消去/書き込み制御プログラムのダウンロード化》
上記構成ではフラッシュメモリ 5 6のリブートプログラム領域 5 6 1に消去/書き込み制御プログラム M 3を配置し、そこからワーク; R A M 5 7に内部転送して当該プログラムを C P U 5 1が実行するように した。 これに対し、 消去/書き込み制御プログラム M 3をフラッシュメ モリ 5 6には格納せず、ユーザプログラム領域 5 6 1を書き換える度に、 前記ホス ト装置 3若しくは P Cボード 3 7を介してワーク R A M 5 7 にダウンロードするようにできる。 これによれば、 フラッシュメモリ 5 6はその消去/書き込み制御プログラムを保有しないから、 C P U 5 1 が暴走してフラッシュメモリ 5 6に格納されているプログラムを不所 望に実行することがあっても、当該フラッシュメモリ 56が^ってか書 き換えられる虞は全くなくなる。
第 17図〜第 22図には、フラッシュメモリ 56がその消去ノ き込 み制御プログラム M 3を保有しな場合において、パーソナルコンピュー 夕 30に搭載された状態で CD— R OMドライブ装置 2のアプリケー ションプログラムを ¾きかえる動作を順を追って示している。第 17図 〜第 22図において CD— R OMドライブ装^ 2はパーソナルコンビ ュ一夕 30の筐体 38の外に拡大して図示してある。
第 17図は初期状態を示し、 CD— R OMドライブ装置 2は A T AP Iノ ス 35を介して前記 I DEイン夕フェースコン トローラ 34に接 続されている。リブートプログラム領域 560には前記消去/書き込み 制御プログラム M 3は格納されていない。
第 18図に示されるように、アプリケーションプログラムを書き換え るときは、例えば CD— R OMドライブ装置 2をリセッ トすると共に、 ディスクのイジェク トスイ ッチを押して、 CD— ROMドライブドライ ブ装置 2に前記強制リブートモ一ドを設定する。例えばフロッピーディ スク F Dには、バグの修正された或いはパージヨンアツプされたアプリ ケーシヨンプログラムと、 CPU 5 1が突行してそのアプリケーション プログラムをユーザプログラム領域 56 1に書き込むための消去/書 き込み制御プログラムと、 ¾記マイクロプロセヅサ 3 1が実行して CP U 5 1にユーザプログラム領域 56 1の書き換え処理を実行させるた めのユーティ リティープログラムとが格納されている。このュ一ティ リ ティ一プログラムは、アプリケ一ションプログラム及び消去/書き込み 制御プログラムを CD— ROMドライブ装置 2に転送するための転送 ソフ トウェアとすることができる。前記フロ ヅビーディスク F Dをパ一 ソナルコンビュー夕 30のフロッピーディスク ドライブに挿入してュ ーテイ リティ一プログラムを起動する。ュ一ティ リティープログラムは ハードディスク装置 36に格納されていてもよい。
起動された転送ソフ トゥヱァの指示に従ってパーソナルコンピュー 夕側でキ一操作等が行われると、パーソナルコンピュー夕 30のマイク 口プロセッサ 3 1は、フラッシュメモリ 56に対する??き込みコマンド (前記ベンダ一ユニークコマンド)を I DEインタフェ一スコン トロ一 ラ 34を介して出力する。 ATAP Iイン夕フェース回路 4は、 前記書 き込みコマン ドを認識すると、 ATAP I割込み信号 42を CPU 51 に与える。 これによつて C P U 5 1は、 入力制御プログラム M 1を実行 し、 先ず最初にバヅファ RAM 16の内容をクリアする。
第 19図に示されるように、パーソナルコンピュ一夕 30のマイク口 プロセッサ 3 1は、 前記書き込みコマン ドに続いて、 新たなアブリケ一 シヨンプログラム (新アプリケーションプログラム)及び消去/書き込 み制御プログラムを I DEイン夕フ ェースコン トローラ 34を介して 出力する。 C P U 5 1は入力制御プログラム M 1を実行する。 これによ り CPU5 1は、 ATAP Iィン夕フェース回路 4に供給されたアプリ ケ一シヨンプログラム及び消去/書き込み制御プログラムをバッファ RAM 1 6に順次格納していく。
第 20図に示されるように、新アプリケ一ションプログラム及び消去 /書き込み制御プログラムがバッファ: AM 16に格納された後、 C P U 5 1は転送制御プログラム M 4の実行に移る。これによつて C PU 5 1は、消去/書き込み制御プログラム M 3をバッファ RAM 16からマ イク口コンビュ一夕 5のワーク RAM57に内部転送する。
そして、 第 2 1図に示されるように、 CPU5 1はそのワーク RAM 57に格納された消去/書き込み制御プログラム M 3の実行に移る。こ のときの消去プロックの指定は消去/書き込み制御プログラム M 3に 従って行われる。 また、 マイクロコンピュータ 5には、 街き込み及び消
¾川の卨電圧が供給されている。消去/書き込み制御プログラムが実行 されることにより、 先ず、 フラッシュメモリ 5 6のユーザプログラム領 域 5 6 1が消去 '消去べリファイされる。次に第 2 2図に小されるよう に、 C P U 5 1は、 パ、ソファ R A M 1 6に格納されている新アプリケ一 シヨ ンプログラムを順次フラッシュメモリ 5 6のユーザプログラム領 域 5 6 1に書き込む動作と書き込みベリ フアイ動作とを行っていく。書 き込み動作終了後、 C D— R O Mドライブ装置 2がリセッ 卜されること により、 C D— R O M ドライ ブ装置 2は、 更新されたアプリケーション プログラムに従って C D— R O Mの再生制御を行うことができる。 《ユーザプログラム領域に対するチェックサム》
上記説明した強制リブートモードの設定はイジェク 卜スィッチを操 作することが条件とされる。 ここでは、 前記強制リブートモードのほか に、ユーザプログラム領域 5 6 1を書き換えることができる動作モード を設定可能にした C D— R O Mドライブ装置 2を説明する。
第 2 3図に示すように、 前記ユーザプログラム領域 5 6 1は、 その一 部の記憶領域に、その他の記憶領域が保有する情報のサム値を格納する サム値格納領域 M 2 1を有する点が第 2図と相違する。前記サム値格納 領域 M 2 1に対するサム値の書き込みは、ユーザプログラム領域 5 6 1 に対する書き込み動作毎に行うことになる。前記リブートプログラム領 域 5 6 0は、 第 2図に基づいて説明したのと同様に、 リセッ トベクタ B C T 1及びリセッ ト処理プログラム P G M 1等の格納領域を有する。 第 2 4図にはリセッ ト時に前記サム値を考慮してュ一ザプログラム 領域 5 6 1を書き換え可能にするときの動作フローチヤ一トが示され る。
リセヅ ト割り込みがあると前記 C P U 5 1は、 リセッ 卜の指示に応答 して前記リセッ トベクタ B C T 1を参照することにより前記リセッ ト 処理プログラム P R G 1の実行に移行し ( S 3 0) 、 マイクロコンビュ 一夕 5内部やその周辺回路を初期化する (S 3 1 ) 。
そして、前記書き換えコマン ドに応答し得る強制リブ一トモ一ドか^ かを判定する ( S 32 ) 。 即ち、 イジェク トスィ ツチが押されていれば 強制リブートモ一ドと判定される。強制リブートモードのときは、 前記 第 2図及び第 3図で説明した通り前記書き換えコマン ドの人力を待つ て前; リブ一トプログラムの実行に遷移する。即ち、 リブートフラグを セッ トし ( S 3 3 ) 、 前記書き換えコマンドの入力を待って前記リブー トプログラムを起動し ( S 34) 、 今まで説明したようにユーザプログ ラム領域 5 6 1に新たなアプリケーションプログラムを書き込む( S 3 5 ) 。 この処理の最後には、 ユーザプログラム領域のデータのサム値を 演算し、 その値を前記サム値格納領域 M 2 1に保存しておく。
ステップ S 32の判断で強制リブートモードでないとき、 C P U 5 1 はユーザプログラム領域 5 6 1のサム値を演算し (S 36 ) 、 演算した 値が前記サム値格納領域 M 2 1に格納されているサム値に一致するか を判定する (S 37 ) 。
ステップ S 3 7の判定結果が不一致の場合には前記書き換えコマン ドの入力を待って前記リブートプログラムの実行に遷移する。ステップ 37の判定結果が一致の場合には 2次べクタテ一ブルを参照して( S 3 8 ) , 前記アプリケーションプログラム領域 5 6 1のプログラムを実行 可能な状態に遷移する ( S 39) 。
このように、 ホス ト装置 3や、 CD— ROMドライブ装置 2などの異 常によつて前記アプリケーションプログラム領域 5 6 1のプログラム が不所望に書き換えられたときは、強制リブートモードが指 されなく ても、 リセッ トされるだけで、 自己診断的に、 CPU 5 1の動作を、 ァ プリケ一シヨンプログラム領域 5 6 1に対する書き換え uj能な状態に 遷移させることができ、 CD— ROMドライブ装置 2の誤動作を未然に 防止することができる。
《プログラム配置のその他の例》
以上の説明ではァプリケーシヨンプログラムはフラッシュメモリ 5
6のユーザプログラム領域 5 6 1に配置した。 また、 リブートプログラ ムはリブートプログラム領域 5 6 0に配置した。 CD— ROMドライブ 装置 2におけるプログラム配置は、次のように変更することができる。 例えば、第 2 5図に示されるようにべクタテーブルをワーク R A M 5 7 に配置してもよい。 ベクタテーブルを RAM化すれば、 CPU 5 1の動 作モ一ドなどに応じてべクタテーブルの内容を動的に変更することが 容易になる。
第 2 6図には前記フラッシュメモリ 5 6のアドレスマツブの別の例 が示されている。第 2 6図の例においてリセッ ト処理プログラム PRG 1はサム (SUM)値チェックと強制リブ一トモ一ド SW (イジェク ト スィヅチ)の操作を検出する処理などを規定する。 アプリケ一ションプ ログラム領域 5 6 1に含まれるブート処理プログラム M 2 3は、 リブー トプログラム領域 5 6 0の PRG 2 , M 1 , M3, M 4の各プログラム と同じ処理を規定するものである。 すなわち、 ユーザプログラム領域 5 6 1のアプリケーションプログラムを実行可能な状態においても、書き 換えコマン ドを受け付けてユーザプログラム領域 5 6 1の書き換えを 行うことができる。 この場合には、 イジェク トスィツチの操作やサム値 のチェックは要しないものとされる。
《フラッシュメモリに対する書き込み態様》
以上説明してきたフラッシュメモリのリブートプログラム領域 5 6
0及びユーザプログラム領域 5 6 1に対する書き込み動作を、 CD— R OMドライブメ一力 (ドライブメ一力) 及び P Cメーカ (パソコンメ一 力) の処理に対応付けて説明する。
第 2 7図は CD— : OMドライブメーカによる CD— ROMドライ ブ装置 2の製造 -順を示すフローチャートである。
CD— ROMドライブメーカは、マイクロコンピュータ 5を L S Iメ
—力から購入して CD— ROMドライブ装置 2を組み立てる。特にその 路部分は配線基板(P C B )上に構成する ( S 40 ) 。 この時マイク口 コンビュ一夕 5に内蔵されたフラッシュメモリ 5 6のリブ一トプログ ラム領域 5 6 0に対するプログラムの書き込み態様は、 CD— ROMド ライブメーカが E P R 0 Mライ夕によって行う場合 ( S 4 1 ) 、 t.導体 メ一力によるマイクロコンピュー夕 5の製造工程で行う場合( S 42 )、 或いは、 前記配線基板にマイクロコンピュー夕 5を実装し ( S 43 ) た 後で当該マイクロコンビュ一夕 5にブートモードを設定して行う場合 ( S 46 ) がある。
E PROMライ夕で書き込みを行う場台には、第 3 1図に例示するよ うにマイクロコンビュ一夕 5の内部バス 5 8を外部とィン夕フェース させるポート 5 8 1 (第 1図には図示を省略してある) を E PROMラ イタ 5 82に接続して行う。 £ 1 01\1ラィ夕 5 82は、 書き込み高電 圧をマイクロコンビュ一夕 5に印加して、プログラムモードをマイクロ コンビユー夕 5に設定する。プログラムモードが設定されたマイクロコ ンピュー夕 5は、 E PROMライ夕 58 2にとつてフラッシュメモリ単 体 L S Iと同様にみなされ、 E PROMライ夕 582はマイクロコンビ ユー夕 5の内蔵フラッシュメモリ 56を外部から書き換え可能になる。 この状態で、 E PROMライ夕 5 82によってフラッシュメモリ 5 6の リブートプログラム領域 5 6 0に前記リブ一トプログラムなどを初期 的に書き込む ( S 4 1 ) 。 マイクロコンピュー夕のリブー卜プログラム 領域 5 60に対する書き込み後、当該マイクロコンピュータ 5は C D-ROMドライブ装置 2の配線^板に実装される ( S 44 ) 。 尚、 第 3 1図において第 1図と同 -の回路ブロックには —参照符号を付し てある。
マイクロコンピュー夕 5のリブ一トプログラム領域 5 6 0に対する 書き込みが L S Iメーカによって既に完了されている場合には ( S 4 2 )、 当該マイクロコンピュー夕 5が CD— ROMドライブ装置 2の前 記配線基板に実装される (S 4 5 ) 。
プリン 卜配線基板にマイクロコンビュー夕 5を実装した後、マイク口 コンピュータ 5にブー トモー ドを設定してリブートプログラム領域 5 6 0にプログラムを書き込む ( S 4 6 )場合には、 例えば第 30図に例 示されるように、 R S 2 3 Cのようなシリアルポート 5 8 3を介して結 合されたホス ト装置 5 84で制御する。第 30図に例示されるマイクロ コンピュータ 5は第 1図のマイクロコンピュー夕 5に対して S C I M 路 5 85、 ブート ROM 5 8 6及びポ一ト 5 87が追加されている。 ホ ス ト装置 5 8 5から書き込み用高電圧 5 8 8とブートモード信号 5 8 9がポ一卜 5 8 7を介してマイクロコンビュー夕 5に供給されると、 C P U 5 1はブート R OM 5 86のブ一卜プログラムを実行する。 CPU 5 1はブートプログラムを実行することにより、フラッシュメモリ 5 6 を全面消去し、 S C I回路 58 5を初期設定し、 シリアルポート 5 83 を介してホス ト装置 5 84とインタフエース可能にする。 C P U 5 1は ホス ト装置 5 84から供給されるプログラムをフラッシュメモリ 5 6 のリブートプログラム領域 5 6 0に書き込み制御する。これによって、 フラッシュメモリ 5 6のリブートプログラム領域 5 6 0に第 2図で説 明したようなリブートプログラムなどが書き込まれる。 尚、 シリアルポ ート 5 83を利用して書き込む動作速度は、その性質上一般的に遅い。 その場合には、 CD— ROMドライブ装置 2の回路ボードには、 デイス クアクセス動作には直接用いられないシリアルポート 5 8 3を特別に 配置しなければならならず、それによつて CD— ROMドライプ装' の 回路ボードの物理的な規模が大きくなることに注意しなければならな い。 CD— R OMドライブ装置の物理的な規模を小さくすることを優先 させるならば、そのようなシリァルポ一ト 5 8 3を介するプログラム書 込みのための構成を設けないことが得策である。
前記ステップ S 44、 S 4 5又は S 4 6によってフラッシュメモリ 5 6のリブートプログラム領域 5 6 0が初期設定され後、マイクロコンビ ユー夕 5がリセッ トされ、ユーザプログラム領域 5 6 1に書き込みを行 うために前記強制リプ一トプログラムモードが設定される ( S 4 7 )。 そして、前記ホス ト装置 3から書き込みコマンドを発行することにより、 リブートプログラムを起動し、ユーザプログラム領域 5 6 1にアプリケ ーシヨンプログラムなどのアプリケーションプログラムを書き込む( S 4 8 ) 。 正常に書き込みできたかが判定され ( S 4 9 ) 、 異常があった 場合には再度リブートプログラムが起動される ( S 5 0 ) 。 正常に書き 込まれた場合には、当該書き込まれたアプリケーションプログラムをマ ィクロコンビュー夕 5に実行させて CD— R OM ドライブ装置 2の動 作テス トを行う ( S 5 1 ) 。 動作テス 卜で異常が発見されなかた CD— R 0 Mドライブ装置 2が P Cメ一力に出荷される ( S 5 2 ) 。
尚、フラッシュメモリ 5 6のリブ一卜プログラム領域 5 6 0とュ一ザ プログラム領域 5 6 1に対する書込みを別々に行わず、第 2 9図に例 されるように一緒に行ってもよい。即ち、 第 2 9図に示されるステップ S 4 1 Aでは E PR OMライ トを用いてフラッシュメモリ 5 6のリブ —トプログラム領域 5 6 0及びユーザプログラム領域 5 6 1に全ての プログラムを書き込む。ステヅプ S 4 2 Aではマイクロコンピュータ 5 を製造する L S Iメーカが前記全てのプログラムを書き込む。ステップ S 4 3 Aでは CD— R OMドライブメーカがマイクロコンピュー夕 5 の前記ブー卜モードを利用して前記全てのプログラムを書き込む。
第 2 8図は C D— R 0 Mドライブメーカから出荷された CD— R〇 Mドライブ装置 2を用いた P Cメーカによるパーソナルコンピュータ の評価 順の一例を示すフローチャートである。
P Cメーカは、 CD— ROMドライブメーカから出荷された CD— R ◦ Mドライブ装置 2を対応するパーソナルコンビュー夕 3 0に組み込 む ( S 53 ) 。 このとき、 CD— ROMドライブ装置 2は ATAP Iィ ン夕フェ一ス冋路 4を介して P Cボ一ド 37の I D Eイ ン夕フエ一ス コン トローラ 34に接続される。この状態で P Cメーカはパーソナルコ ンピュー夕 3 0のマイクロプロセッサ 3 1に所要のテス トプログラム や任意のアプリケーションプログラムなどを実行させながら CD— R OMドライブ装置 2をアクセスして当該 CD— R OMドライブ装置 2 の評価を行う。 この評価に際して、 CD— ROMドライブ装置 2のアブ リケーシヨンプログラムにバグがあるかを調べ ( S 54) 、 また、 アブ リケ一シヨンプログラムに対して P Cメ一力側からの仕様変更すべき 個所があるかを調べる (S 5 5 ) 。 バグも仕様変更もなければその機種 のパーソナルコンピュータは CD— ROMドライブ装置 2に関し何ら 支障のないものとして評価を終わり、当該機種のパーソナルコンビユー 夕は CD— R OMドライブ装置 2を搭載してェン ドユーザへ出荷され ることになる ( S 6 1 ) 。
一方、 前記ステップ S 54でバグの発生が明らかにされ、 また、 ステ ッブ S 5 5で仕様変更が明らかにされたとき、当該バグの情報や仕様変 更に関する情報が CD— ROMドライブメーカに伝えられる。このとき、 CD -ROMドライブ装置 2それ自体をパーソナルコンピュータ 30 から取り外して C D— ROM ドライブメーカに送り返すことを要しな い。
CD— R OM ドライブメーカはそれに従ってアプリケーションプロ グラムを修正する ( S 5 6 ) 。 修正されたアプリケ一シヨンプログラム は例えばインタ一ネヅ 卜などを介して P Cメーカに送信される ( S 5 7 ) 。 送信された修正プログラムは、 実際の評価に用いているパーツナ ルコンビュー夕で受信することができる。 そして、 受信した修正済みの アプリケーションプログラムを CD— R OM ドライブ装置 2のフラッ シュメモリ 5 6に書き込む ( S 5 8 ) 。 書込み動作の詳細は前述の通り マイクロコンピュー夕 5に強制リブートモー ドを設定してパーソナル コンピュータ 3 0それ自体で即座に行うことができる。正常に齒き込み できたかが判定され ( S 5 9 ) 、 異常があった場合には洱度リブ一トプ ログラムが起動される (S 6 0 ) 。 正常に ¾き込まれた場合には、 その 機種のパーソナルコンビュ一夕の評価が終わる。 このように、 アブリケ —ションプログラムにバグがあっても、或いは P Cメーカ側からアブリ ケーシヨンプログラムの仕様変更を行う場合にも、修正されたアブリケ —シヨンプログラムを C D— R OMドライブ装置 2に簡単に再ィンス トールすることができるから、パーソナルコンピュー夕 3 0に組み込ん だ状態で CD— ROM ドライブ装置 2を短期間に評価することが可能 になる。
パーソナルコンビユー夕の出荷に当たって、 C Pメーカ側で C D— R OM ドライブ装置に前記修正されたアプリケーションプログラムを再 インス トールしなければならないものに対してはそれを行い、 また、 P Cメーカ独自の情報 (CD— ROMドライブの I D (identification) 情報)を P Cメーカ自らがフラッシュメモリ 5 6に書き込む場合にはそ れを行う。そして当該機種のパーソナルコンピュー夕はェン ドュ一ザへ 出荷されることになる ( S 6 1 ) 。
以上本発明者によってなされた発明を実施例に ¾づいて 体的に説 明したが、 本発明はそれに限定されるものではなく、 その要 を逸脱し ない範囲において種々変更可能であることは言うまでもない。
例えば、 リブートモードの設定は上記の例に限定されず、 ベンダ一ュ ニークコマンドだけで設定することも可能である。 その場合には、 ベン ダーユニークコマン ドの解読結果を用いて、 C P Uの処理をユーザリブ
―卜用のプログラムに移行させることができる。 また、 記憶情報再生装 置の量産ライン上で初めてアプリケ一シヨンプログラムを不揮発性メ モリに書き込む場合には、アプリケ一ションプログラムの先頭にある 2 次べクタテーブルに何も記憶されていない状態(例えば、 全ビッ ト論理 値 0又は 1 ) をソフ トウエアで検出して、 ユーザリブ一トモ一ドに移行 するようにしてもよい。 また、 フラッシュメモリの所定のブロックを 2 バンク構成とし、 一方のバンクを書き換え禁止領域として用いることが 可能である。 このときのバンク切換えは、 ュ一ザリブ一トモ一ドの設定 に連動され、ユーザリブートモ一ドにおいては書き換え禁止側のプロッ クが用いられる。 また、 前記サム値を求める演算はユーザプログラム領 域のデ一夕を単に加算するだけでなく、適当な論理を通して加算するこ とも可能である。
尚、 リブートプログラムは、 前記アプリケーションプログラムを書き 込み若しくは再書き込みするためのイニシャルプログラムを意味して いる。 したがって、 前記リブートプログラム領域には、 前記イニシャル プログラムが記憶されていると解することもできる。 産業上の利用可能性
以上のように、本発明に係るディスク ドライブ装置は C D— R O Mド ライブ装^はもとより、その他の記録情報再生装置や情報記録再生装置 などに広く適用することができる。 また、 ディスク ドライブ装置を搭載 したコンピュータ装置はパーソナルコンピュータだけでなく、ワークス テ一シヨン、オフコンなどその名称に拘わらず種々のコンビュー夕装置 に適用することができる。

Claims

求 の 範 囲 . 回転駆動されるディスクをアクセスするアクセス手段と、 前記ァク セス手段に接続され外部とインタフヱ一スされるインタフヱ一ス问 路と、 前記アクセス丁ニ段の動作を制御すると共に前記ィン夕フェース 回路に結合されたマイク口コンピュータとを含み、
前 マイクロコンピュー夕は、電¾的に書き換え可能な不揮発性メ モリと、 この不揮究性メモリをアクセスする中央処理装置とを 1個の 半導体基板に含み、
前記不揮発性メモリはその記憶領域に、 リブ一卜プログラム領域と アプリケーションプログラム領域とを有し、
前記アプリケ一シヨンプログラム領域は、前記アクセス手段と前記 ィン夕フェース回路とを制御するために前記中央処理装置によって 実行されるアプリケーションプログラムの格納領域を し、
前記リブー卜プログラム領域は、 前記中央処理装置に、 前 ffiアプリ ケ一シヨンプログラム領域を書き換えるための処理を実行させる リ ブートプログラムが格納される領域を有し、
前記中央処理装置は、外部から前記ィン夕フェース回路に供給され るアプリケーションプログラム領域の書き換えコマン ドに応答して 前記リブ一卜プログラムを実行しアプリケーションプログラム領域 の全部又は一部の書き換えを行い、外部から前記ィン夕フェース回路 に供給されるディスクアクセスコマン ドに応答して前記アプリケ一 シヨンプログラム領域中の前記アブリケ一シヨンプログラムを実行 し前記アクセス亍.段及びィン夕フヱ一ス回路を制御するものである ことを特徴とするディスク ドライブ装置。
. 前記リブ一卜プログラムは、 入力制御プログラム、 書き換え制御 プログラム及び転送制御プログラムを含み、
前記書き換えコマンドに応答する前記中央処理装置は、 前記入力制 御プログラムを突行することにより外部から前記ィンタフヱース回 路に供給される全部又は一部の前 アプリケーシヨンプログラムを 取り込み、 |¾記転送制御プログラムを実行することにより前記 ¾き換 え制御プログラムを ^記リブートプログラム格納領域から前記マィ クロコンピュー夕の内蔵 R A Mに転送し、前 ¾内蔵 R A Mに転送され た書き換え制御プログラムを実行することにより前記取り込まれた 全部又は一部のアプリケーションプログラムを前記アブリケ一ショ ンプログラム領域に書込み制御するものであることを特徴とする請 求の範囲第 1項記載のデイスク ドライブ装置。
. 前記リブートプログラムは、 入力制御プログラム及び転送制御プロ グラムを含み、
前記書き換えコマン ドに応答する前記中央処理装置は、前記入力制 御プログラムを実行することにより外部から前記インタフェース冋 路に供給される全部又は一部の前記アプリケ一シヨンプログラム及 び書き換え制御プログラムを取り込み、前記転送制御プログラムを実 行することにより前記取り込まれた書き換え制御プログラムをマイ クロコンビュー夕の内蔵 R A Mに転送し、前記内蔵 R A Mに転送され た書き換え制御プログラムを実行することにより、前記取り込まれた 全部又は一部のアプリケーションプログラムを前記アプリケ一ショ ンプログラム領域に書込み制御するものであることを特徴とする請 求の範囲第 1項記載のデイスク ドライブ装置。
. 前記リブ一トプログラム領域は、 ベクタテーブルとリセヅ ト処理プ ログラムの格納領域とを更に有し、
前記中央処理装置は、 リセッ 卜の指示に応答して前記べクタテープ ルを参照することにより前記リセッ 卜処理プログラムの実行に移行 し、 リセッ 卜処理プログラムの実行途上では前記^き換えコマンドに 応答し得る強制リブート状態か否かを判定し、強制リブー卜状態のと きは、前記書き換えコマン ドの入力を待って前記リブートプログラム の実行に遷移し、強制リブ一ト状態でないときは前記アブリケ一ショ ンプログラム領域のァプリケ一シヨンプログラムを実行可能な状態 に遷移するものであることを特徴とする請求の範囲第 2項乂は第 3 項記載のディスク ドライブ装置。
. 前記アプリケーションプログラム領域は、 その一部の記憶領域に、 その他の記憶領域が保有する情報のサム値を格納するサム値格納領 域を更に有し、
前記リブートプログラム領域は、ベクタテ一ブルとリセッ ト処理プ 口グラムの格納領域とを更に有し、
前記中央処理装置は、 リセッ トの指示に応答して前記べクタテ一ブ ルを参照することにより前記リセッ ト処理プログラムの実行に移行 し、 リセッ ト処理プログラムの実行途上では前記書き換えコマン ドに 応答し得る強制リブ一ト状態か否かを判定し、強制りブート状態のと きは、前記書き換えコマン ドの入力を待って前記リブートプログラム の実行に遷移し、 強制リブート状態でないときは、 前記サム値格納領 域に格納されているサム値が、前記その他の記憶領域が保有する情報 のサム値に一致するかを判定し、判定結果が不一致の場合には前記書 き換えコマン ドの人力を待って前記リブートプログラムの実行に遷 移し、前記判定結果が一致の場合には前記アプリケーシヨンプログラ ム領域のアプリケーショ ンプログラムを実行可能な状態に遷移する ものであることを特徴とする請求の範囲第 2項又は第 3項記載のデ イスク ドライブ装置。
. 前記不揮発性メモリは、 一括消去単位とされる複数個のメモリブ口 ヅクを有するフラッシュメモリであり、前記リブートプログラム領域 と前 ^アプリケーションプログラム領域とは相互に異なるメモリブ ロックに割り当てられて成るものであることを特徴とする請求の範 囲第 1 ¾¾記載のディスク ドライブ装^。
7 . 前記リブ一卜プログラム領域は、 前記マイクロコンピュータの製造 工程で^き込まれたプログラムを保有するものであることを特徴と する請求の範囲第 1項記載のディスク ドライブ装置。
8 .前記リブートプログラム領域の書き換えを禁止する手段を更に備え て成るものであることを特徴とする請求の範囲第 1項 tld載のディス ク ドライブ装置。
9 . 前記ィン夕フェース回路は、 A T A P Iィン夕フェース仕様を有す るものであることを特徴とする請求の範囲第 1項記載のディスク ド ライブ装置。
1 0 .バスに接続されたマイクロプロセッサと周辺ィン夕フエ一スコン トローラとを含むメインボードと、請求の範囲第 1項記載のディスク ドライブ装置とを含み、前記ディスク ドライブ装置はそれに含まれる 前記ィン夕フェース回路を介して前記周辺ィン夕フエ一スコン ト口 —ラに接続されて成るものであることを特徴とするコンピュー夕装 置。
1 1 . P C Iバスに接続されたマイクロプロセッサと I D Eイン夕フエ —スコン トローラとを含むメインボードと、請求の範囲第 9項記載の ディスク ドライブ装置とを含み、前記ディスク ドライブ装置はそれに 含まれる前記ィン夕フエ一ス回路を介して前記 I D Eイン夕フエ一 スコン トローラに接続されて成るものであることを特徴とするコン ピュー夕装置。
2 .前記メィンボードと前記ディスク ドライブ装置は一つの箧体に組 み込まれて成るものであることを特徴とする詰求の範囲第 1 1項記 載のコンビュー夕装置。
3 .バスに接続されたマイクロプロセッサと周辺ィン夕フェースコン トローラとを含むメインボードと、前記周辺ィン夕フエ一スコン ト口
—ラに接続されたディスク ドライブ装置とを一つの笸体に内蔵して 成るコンビュ一夕装置であって、
前記ディスク ドライブ装置は、回転駆動されるディスクから記録情 報を読み取って再生する再生手段と、前記 生手段で爯生された情報 を前記周辺ィン夕フェースコン トローラに出力すると共に、前記周辺 イン夕フェースコン トロ一ラを介して供給される情報を受け取るィ ン夕フェース回路と、前記再生手段と前記ィ ン夕フヱース [π|路とに接 続されたマイクロコンピュ一夕とを含み、
前記マイクロコンビユー夕は、 中央処理装置と、 電気的に消去及び 書込み可能な不揮発性メモリとを 1個の半導体基板に含み、
前記不揮発性メモリはその記憶領域に、 リブートプログラム領域と アプリケーションプログラム領域とを有し、
前記アブリケ一シヨンプログラム領域は、前記再生手段と前記ィン 夕フエース回路とを制御するために前記中央処理装置によって実行 されるアプリケ一ションプログラムの格納領域を有し、
前記リブートプログラム領域は、前記中央処理装置に前記アブリケ ーシヨンプログラム領域を書き換えるための処理を実行させるリブ ートプログラムが格納される領域を有し、
前記中央処理装置は、前記周辺ィン夕フェースコントローラを介し 前記ィン夕フエース回路に供給されるアプリケ一シヨンプログラム 領域の書き換えコマン ドに応答して前記リブートプログラムを実行 しアプリケ一ションプログラム領域の全部又は一部の書き換えを行 い、前記周辺イン夕フエ一スコン トローラを介し前記ィン夕フエ一ス 回路に供給されるディスクアクセスコマン ドに応答して前記アプリ ケーションプログラムを実行し ½記再生手段及びィン夕フエース 路を制御するものであることを特徴とするコンピュータ装; S:。
4 .バスに接続されたマイクロプロセッサと I D Eイ ン夕フエ一スコ ントローラとを^む P Cボードと、前記 I D Eィン夕フヱ一スコン ト ローラに接続されたディスク ドライブ装置とを一つの筐体に内蔵し て成るコンピュー夕装置であって、
前^ディスク ドライブ装置は、问転駆動されるディスクをアクセス するアクセス手段と、前記アクセス手段に結合され前記 I D Eイン夕 フエ一スコン トローラに接続される A T A P I イ ン夕フェース回路 と、前記アクセス手段の動作を制御すると共に前記 A T A P Iイン夕 フェース回路に接続されるマイクロコンビュー夕とを含み、
前記マイクロコンビユー夕は、電気的に書き換え可能な不揮発性メ モリと、 この不揮発性メモリに格納されているプログラムを実行する 中央処理装置とを 1個の半導体基板に含み、
前記不揮発性メモリはその記憶領域にリブー卜プログラム領域と アプリケ一ションプログラム領域とを有し、
前記アプリケーションプログラム領域は前記アクセス手段及び A
T A P Iィン夕フェース回路を制御するために前記中央処理装置に よって実行されるアプリケーションプログラムの格納領域を有し、 前記リブ一トプログラム領域は、 ベクタテーブル、 リセッ ト処理プ 口グラム及び前記中央処理装置に前記アブリケーションプログラム 領域の全部又は一部を書き換えるための処理を実行させる リブート プログラムが夫々格納される領域を有し、 前 中央処理装 fSは、 リセッ 卜の指示に応答して前記べクタテープ ルを参照することにより前記リセッ ト処理プログラムの実行に移行 し、 リセッ ト処理プログラムの突行途上では前記 I D Eイン夕フエ一 スコン トローラを介し前記 A T A P Iィン夕フヱ一ス冋路に供給さ れるアプリケーションプログラム領域の ¾き換えコマン ドに応答し 得る強制リブー卜状態か かを判定し、強制リブート状態のときは、 前記書き換えコマン ドの入力を待って前記リブ一トプログラムの実 行に遷移し、強制リブ一ト状態でない時は前記アプリケーションプロ グラム領域のアプリケ一ションプログラムを実行可能な状態に遷移 するものであることを特徴とするコンピュータ装置。
5 .バスに接続されたマイクロプロセッサと I D Eイン夕フェースコ ン トローラとを含む P Cボードと、 ½記 I D Eイン夕フェースコン ト ローラに接続されたディスク ドライブ装置とを一つの筐体に内蔵し て成るコンビュ一夕装置であって、
前記ディスク ドライブ装置は、回転駆動されるディスクをアクセス するアクセス手段と、前記アクセス手段に結合され前記 I D Eイン夕 フェースコン トローラに接続される A T A P I イ ン夕フェース回路 と、前記アクセス手段の動作を制御すると共に前記 A T A P Iイン夕 フエ一ス回路に接続されるマイクロコンビュー夕とを含み、
前記マイクロコンビュー夕は、電気的に書き換え可能な不揮発性メ モリと、 この不揮発性メモリに格納されているプログラムを実行する 中央処理装置とを 1個の半導体基板に含み、
前記不揮発性メモリはその記憶領域にリブートブログラム領域と アプリケーションプログラム領域とを有し、
前記アプリケ一ションプログラム領域は前記アクセス手段及び A
T A P Iインタフヱース回路を制御するために前記中央処理装置に よって実行されるアプリケーションプログラムの格納領域を有し、前 1 ^アプリケーションプログラム領域はその -部の記憶領域に、その他 の記憶領域が保有する情報のサム倘を格納するサム値格納領域を有 し、
前記リブ一トプログラム領域は、 ベクタテ一ブル、 リセヅ ト処理プ ログラム及び前記中央処理装置に前記アプリケーションプログラム 領域の全部又は -部を書き換えるための処理を実行させる リブ一ト プログラムが夫々格納される領域を有し、
前記屮央処理装置は、 リセッ トの指示に応答して前記べクタテープ ルを参照することにより前記リセッ ト処理プログラムの実行に移行 し、 リセッ ト処理プログラムの実行途上では前記 I D Eイン夕フエ一 スコン トローラを介し前記 A T A P Iイン夕フエ一ス回路に供給さ れるアプリケーションプログラム領域の書き換えコマン ドに応答し 得る強制リブー卜状態か否かを判定し、強制リブ一ト状態のときは、 前記書き換えコマン ドの入力を待って前記リブートプログラムの実 行に遷移し、 強制リブート状態でないとき、 前記サム値格納領域に格 納されているサム値が、前記その他の記憶領域が保有する情報のサム 値に一致するかを判定し、 この判定結果が不一致の場合には前記書き 換えコマン ドの入力を待って前記リブ一トプログラムの実行に遷移 し、前記判定結果が一致の場合には前記アプリケーシヨンプログラム 領域のプログラムを実行可能な状態に遷移するものであることを特 徴とするコンビユー夕装置。
6 .回転駆動されるディスクから記録情報を読み取って再生する再生 手段と、前記再生手段に接続されホス ト装置とイン夕フェースされる ィン夕フェース回路と、前記再生手段の動作を制御すると共に前記ィ ン夕フェース回路に接続されたマイクロコンビュー夕とを含み、 前記マイクロコンピュータは、 中央処理装置と、 ¾気的に消 及び 書込み可能な不揮究性メモリとを含み、
前記不揮発性メモリは前記再生手段による再牛動作と前 ¾イ ン夕 フェース回路の動作とを制御するためのプログラムが格納されるァ プリケーションプログラム領域と、記憶' 報の書き換えが禁止された リブ一トプログラム領域とを有し、
前記中央処理装置は、 リセッ 卜の指示に応答して前記リブートプロ グラム領域のプログラムを実行することにより、前記ホス 卜装置から 指示されるアプリケーションプログラム領域の書き換えコマン ドに 応答し得る強制リブート状態か かを判定し、強制リブート状態のと きは、 前記書き換えコマン ドの入力を待って、 前記アプリケーション プログラム領域の全部又は一部を、 該書き換えコマン ドの後に続い てインタフヱース回路に供給されるプログラムに害き換え制御し、強 制リブ一ト状態でないときは前 己アプリケーショ ンプログラム領域 のプログラムを実行可能な状態に遷移するものであることを特徴と するディスク ドライブ装置。
7 .回転駆動されるディスクから記録情報を み取って再 する再生 手段と、前記再生手段に接続されホス ト装 ίδとイン夕フェースされる インタフエース回路と、前記再生手段の動作を制御すると共に前記ィ ン夕フエース回路に接続されたマイクロコンビュー夕とを含み、 前記マイクロコンビユー夕は、 中央処理装置と、 電気的に消去及び 書込み可能な不揮発性メモリとを含み、
前記不揮発性メモリは前記再生手段による再生動作と前記ィン夕 フエ一ス回路の動作とを制御するためのプログラムが格納されるァ プリケーシヨンプログラム領域と、記憶情報の書き換えが禁 1卜-された リブ一トプログラム領域とを有し、前記アプリケ一ションブログラム 領域は、 その一部の記憶領域に、 その他の記憶領域が保有する情報の サム値を格納するサム値格納領域を有し、
ι¾記中央処理装^は、 リセッ トの指示に応答して前記リブー卜プロ グラム領域のプログラムを実行することにより、前記ホス ト装^から 指/ されるアプリケーションプログラム領域の書き換えコマン ドに 応答し得る強制りブ一ト状態か否かを判定し、強制リブ一ト状態のと きは、 前記 Sき換えコマン ドの人力を待って、 前 アブリケ一シヨン プログラム領域の全部乂は一部を、 当該書き換えコマン ドの後に続い てィン夕フェース回路に供給されるプログラムに書き換え制御し、強 制リブ一ト状態でないときは、前記サム値格納領域に格納されている サム値が、前記その他の記憶領域が保有する情報のサム値に ·致する かを判定し、判定結果が不一致の場 には前記 き換えコマン ドの入 力を待って前記アプリケ一ションプログラム領域の全部又は -部を、 ¾該書き換えコマン ドの後に続いて供給されるプログラムに書き換 えを制御し、前記判定結架が一致の場合には前記アプリケーションプ ログラム領域のプログラムを実行可能な状態に遷移するものである ことを特徴とするディスク ドライブ装置。
8 . 前記不揮発性メモリは、 一括消去単位とされる複数個のメモリブ 口ヅクを有するフラッシュメモリであり、前記リブートプログラム領 域と前記アプリケーショ ンプログラム領域とは相 に異なるメモリ ブロックに割り当てられて成るものであることを特徴とする請求の 範囲第 1 6項又は第 1 7項記載のディスク ドライブ装置。
9 . 前記リブー卜プログラム領域は、 前記マイクロコンビュー夕の製 造工程で書き込まれたプログラムを保有するものであることを特徴 とする請求の範囲第 1 8頃記載のディスク ドライブ装置。
0 .バスに接続されたマイク口プロセッサと周辺ィン夕フェースコン トローラとを含むメィンボードと、請求の範囲第 1 6 ¾¾又は第 1 7項 に記載のディスク ドライブ装置とを一つの筐休に含み、 前記ディスク ドライブ装置はそれに含まれる前記ィン夕フェース回路を介して前 記周辺ィ ン夕フエ一スコン 卜ローラに接続されて成るものであるこ とを特徴とするコンビユー夕装置。
PCT/JP1997/001204 1996-04-11 1997-04-09 Unite de disques et ordinateur WO1997038367A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW086104531A TW409240B (en) 1996-04-11 1997-04-09 Disk drive device and computer device
US09/171,002 US6393561B1 (en) 1996-04-11 1997-04-09 Disk drive computer with programmable nonvolatile memory capable of rewriting a control program of the disk drive
AU25212/97A AU2521297A (en) 1996-04-11 1997-04-09 Disk drive and computer
EP97916631A EP1008928A4 (en) 1996-04-11 1997-04-09 DISK UNIT AND CALCULATOR
US10/765,170 US7076649B2 (en) 1996-04-11 2004-01-28 Disk drive and computer

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP8/89613 1996-04-11
JP8961396 1996-04-11
JP8/240401 1996-09-11
JP24040196 1996-09-11

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US09/171,002 A-371-Of-International US6393561B1 (en) 1996-04-11 1997-04-09 Disk drive computer with programmable nonvolatile memory capable of rewriting a control program of the disk drive
US09171002 A-371-Of-International 1997-04-09
US10/023,660 Continuation US20020059515A1 (en) 1996-04-11 2001-12-21 Disk drive and computer

Publications (1)

Publication Number Publication Date
WO1997038367A1 true WO1997038367A1 (fr) 1997-10-16

Family

ID=26431029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/001204 WO1997038367A1 (fr) 1996-04-11 1997-04-09 Unite de disques et ordinateur

Country Status (7)

Country Link
US (3) US6393561B1 (ja)
EP (1) EP1008928A4 (ja)
KR (2) KR100568642B1 (ja)
CN (2) CN1178129C (ja)
AU (1) AU2521297A (ja)
TW (1) TW409240B (ja)
WO (1) WO1997038367A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998059296A2 (en) * 1997-06-21 1998-12-30 Koninklijke Philips Electronics N.V. A method of updating program code for an optical disc drive microcontroller and an optical disc drive
US6356942B1 (en) 1998-05-13 2002-03-12 Axis Ab Integrated circuit and method for bringing an integrated circuit to execute instructions
CN100337186C (zh) * 2002-12-03 2007-09-12 松下电器产业株式会社 接口电路、盘控制器、盘驱动装置和接口控制方法
WO2008041337A1 (fr) * 2006-10-04 2008-04-10 Pioneer Corporation Dispositif, procédé et programme de traitement d'informations et support d'enregistrement lisible par ordinateur
US7403957B2 (en) * 1997-12-27 2008-07-22 Canon Kabushiki Kaisha Image forming apparatus having control codes and rewrite control method for the same
JP2018077835A (ja) * 2016-10-07 2018-05-17 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag システムオンチップの完全性検証の方法及びシステム

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
JP2000242440A (ja) * 1999-02-25 2000-09-08 Alps Electric Co Ltd ディスク装置
US6636922B1 (en) * 1999-03-17 2003-10-21 Adaptec, Inc. Methods and apparatus for implementing a host side advanced serial protocol
US6718415B1 (en) 1999-05-14 2004-04-06 Acqis Technology, Inc. Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers
US6643777B1 (en) * 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
US6557058B1 (en) * 1999-12-01 2003-04-29 Iomega Corporation Method and apparatus of sustained sequential data transfer in a media drive
KR100367295B1 (ko) * 2000-03-13 2003-01-09 엘지전자 주식회사 광디스크 구동장치의 지역정보 기록장치 및 기록방법
JP2001357023A (ja) * 2000-06-14 2001-12-26 Seiko Epson Corp 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
CN1459105A (zh) * 2000-08-23 2003-11-26 西加特技术有限责任公司 智能数据存储设备
JP2002073425A (ja) 2000-08-31 2002-03-12 Hitachi Ltd 媒体再生装置
JP2002182941A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd 情報記録再生装置及びコンピュータ読取り可能な記録媒体
US20020114457A1 (en) * 2001-01-26 2002-08-22 Takahiro Sato LSI having interpreter function and information recording/reproducing apparatus using the same
JP2002278906A (ja) * 2001-03-21 2002-09-27 Nec Corp アップデート管理システム、アップデート・クライアント装置、アップデート・サーバ装置及びプログラム
WO2002084484A2 (en) * 2001-04-18 2002-10-24 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
JP3719966B2 (ja) * 2001-09-14 2005-11-24 松下電器産業株式会社 光ディスク記録再生方法および記録再生装置
US20030063896A1 (en) * 2001-09-28 2003-04-03 Gonzalez Tovar Victor Manuel System utility interface for software upgrades and system diagnostics in automotive or portable DVD players
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards
CN1288658C (zh) * 2002-04-25 2006-12-06 三洋电机株式会社 数据处理装置
EP1372068A3 (en) 2002-06-11 2006-02-08 Seiko Epson Corporation System, method and program for rewriting a flash memory
JP3708914B2 (ja) * 2002-07-30 2005-10-19 株式会社東芝 ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
JP2004272393A (ja) * 2003-03-05 2004-09-30 Matsushita Electric Ind Co Ltd Cpu内蔵型lsiおよびこれを用いた光ディスク装置並びにlsi装置
JP4193585B2 (ja) * 2003-05-26 2008-12-10 ティアック株式会社 光ディスク装置を備えた処理システム
SG139519A1 (en) * 2003-07-28 2008-02-29 Seagate Technology Llc Dynamic mask-rom register patching
US7424603B2 (en) * 2003-12-18 2008-09-09 Intel Corporation Method and apparatus to store initialization and configuration information
JP4479324B2 (ja) * 2004-04-19 2010-06-09 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置
JP4720140B2 (ja) * 2004-10-01 2011-07-13 船井電機株式会社 情報処理装置
JP4759983B2 (ja) * 2004-11-04 2011-08-31 船井電機株式会社 ディスク装置のファームウェア書き換え方法、及びファームウェア書き換えプログラム
KR100652386B1 (ko) * 2004-11-16 2006-12-06 삼성전자주식회사 호스트와 하드디스크 드라이브 사이의 어플리케이션공유에 의한 작업 효율 증대방법 및 장치
KR100622892B1 (ko) * 2004-12-09 2006-09-19 엘지전자 주식회사 저 전력소비형 이동통신 단말기
TW200634532A (en) * 2005-03-23 2006-10-01 Realtek Semiconductor Corp Apparatus and method of utilizing interface to load program code
US7543287B2 (en) * 2005-06-30 2009-06-02 Intel Corporation Using a block device interface to invoke device controller functionality
US7739487B2 (en) * 2006-01-17 2010-06-15 Nokia Corporation Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from
JP2007219571A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd 記憶制御装置及びストレージシステム
US7990724B2 (en) 2006-12-19 2011-08-02 Juhasz Paul R Mobile motherboard
KR100866962B1 (ko) * 2007-03-08 2008-11-05 삼성전자주식회사 Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법
JP2009076172A (ja) * 2007-09-25 2009-04-09 Hitachi Ltd データ伝送方法、光ディスク記録方法及び光ディスク記録装置
CN101868827A (zh) * 2008-01-11 2010-10-20 松下电器产业株式会社 光盘控制装置
JP2012068814A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶装置およびメモリ制御装置
JP5825887B2 (ja) * 2011-07-05 2015-12-02 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
CN103679064A (zh) * 2012-08-31 2014-03-26 联想(北京)有限公司 设置装置及方法、非易失性存储器和电子设备
JP6478486B2 (ja) 2013-11-20 2019-03-06 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
JP6255282B2 (ja) * 2014-02-28 2017-12-27 ルネサスエレクトロニクス株式会社 半導体装置
US9372635B2 (en) * 2014-06-03 2016-06-21 Ati Technologies Ulc Methods and apparatus for dividing secondary storage
EP3701440A1 (en) * 2017-10-25 2020-09-02 Telefonaktiebolaget LM Ericsson (PUBL) Operation of an electronic device during maintenance
US10824376B2 (en) 2017-12-08 2020-11-03 Sandisk Technologies Llc Microcontroller architecture for non-volatile memory
US10622075B2 (en) 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
US10908826B2 (en) * 2018-09-24 2021-02-02 Salesforce.Com, Inc. Controlling access to memory cells
US10777240B1 (en) 2019-03-07 2020-09-15 Sandisk Technologies Llc Efficient control of memory core circuits
US10971199B2 (en) 2019-06-20 2021-04-06 Sandisk Technologies Llc Microcontroller for non-volatile memory with combinational logic
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
US11507498B2 (en) 2020-03-05 2022-11-22 Sandisk Technologies Llc Pre-computation of memory core control signals

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281130A (ja) * 1988-09-19 1990-03-22 Hitachi Ltd マイクロプログラム更新方式
JPH06175829A (ja) * 1991-05-29 1994-06-24 Dell Usa Lp コンピュータ・システムを動作させる方法
JPH0764795A (ja) * 1993-08-30 1995-03-10 Toshiba Corp コンピュータシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979055A (en) 1987-06-02 1990-12-18 Conner Peripherals, Inc. Disk drive system controller architecture utilizing embedded real-time diagnostic monitor
EP0489204B1 (en) * 1990-12-04 1995-08-16 Hewlett-Packard Limited Reprogrammable data storage device
EP0489227B1 (en) * 1990-12-06 1998-12-23 Tandberg Data Asa Data storage system having removable media and equipped to download a control program from the removable media
IT1254937B (it) 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JPH06161929A (ja) 1992-11-27 1994-06-10 Seiko Epson Corp コンピュータ
JPH06187141A (ja) 1992-12-17 1994-07-08 Sony Corp データ処理装置
US5481713A (en) 1993-05-06 1996-01-02 Apple Computer, Inc. Method and apparatus for patching code residing on a read only memory device
JPH06324857A (ja) 1993-05-13 1994-11-25 Toshiba Corp コンピュータシステム
US5522076A (en) 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
JPH0830450A (ja) 1994-07-13 1996-02-02 Sharp Corp 情報処理装置
US5737748A (en) 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281130A (ja) * 1988-09-19 1990-03-22 Hitachi Ltd マイクロプログラム更新方式
JPH06175829A (ja) * 1991-05-29 1994-06-24 Dell Usa Lp コンピュータ・システムを動作させる方法
JPH0764795A (ja) * 1993-08-30 1995-03-10 Toshiba Corp コンピュータシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INTERFACE, Vol. 21, No. 8, August 1995, (Tokyo), SHOICHI WATANABE, YOSHIYUKI SATO, "Utilization of Microcomputer With Built-In Flash Memory (in Japanese)", pages 175-185. *
See also references of EP1008928A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998059296A2 (en) * 1997-06-21 1998-12-30 Koninklijke Philips Electronics N.V. A method of updating program code for an optical disc drive microcontroller and an optical disc drive
WO1998059296A3 (en) * 1997-06-21 1999-04-01 Koninkl Philips Electronics Nv A method of updating program code for an optical disc drive microcontroller and an optical disc drive
US7403957B2 (en) * 1997-12-27 2008-07-22 Canon Kabushiki Kaisha Image forming apparatus having control codes and rewrite control method for the same
US6356942B1 (en) 1998-05-13 2002-03-12 Axis Ab Integrated circuit and method for bringing an integrated circuit to execute instructions
CN100337186C (zh) * 2002-12-03 2007-09-12 松下电器产业株式会社 接口电路、盘控制器、盘驱动装置和接口控制方法
WO2008041337A1 (fr) * 2006-10-04 2008-04-10 Pioneer Corporation Dispositif, procédé et programme de traitement d'informations et support d'enregistrement lisible par ordinateur
JPWO2008041337A1 (ja) * 2006-10-04 2010-02-04 パイオニア株式会社 情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータに読み取り可能な記録媒体
JP5016604B2 (ja) * 2006-10-04 2012-09-05 パイオニア株式会社 情報処理装置および情報処理方法
JP2018077835A (ja) * 2016-10-07 2018-05-17 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag システムオンチップの完全性検証の方法及びシステム
US10198332B2 (en) 2016-10-07 2019-02-05 Infineon Technologies Ag System on chip integrity verification method and system

Also Published As

Publication number Publication date
AU2521297A (en) 1997-10-29
TW409240B (en) 2000-10-21
KR100568641B1 (ko) 2006-04-07
EP1008928A1 (en) 2000-06-14
KR20030097586A (ko) 2003-12-31
US20020059515A1 (en) 2002-05-16
EP1008928A4 (en) 2007-08-08
US20040186952A1 (en) 2004-09-23
US7076649B2 (en) 2006-07-11
CN1218562A (zh) 1999-06-02
CN1549111A (zh) 2004-11-24
CN100543667C (zh) 2009-09-23
US6393561B1 (en) 2002-05-21
KR100568642B1 (ko) 2006-04-07
KR20030097587A (ko) 2003-12-31
CN1178129C (zh) 2004-12-01

Similar Documents

Publication Publication Date Title
WO1997038367A1 (fr) Unite de disques et ordinateur
US8341337B1 (en) Data storage device booting from system data loaded by host
US7376943B2 (en) Safe method for upgrading firmware of optical disk product
US7669046B2 (en) Data processing apparatus and firmware update method
KR20020018115A (ko) 매체 재생장치
JP3643367B2 (ja) ディスクドライブ装置
KR100359200B1 (ko) 펌웨어 운용방법
US20080301358A1 (en) Electronic device that Downloads Operational Firmware from an External Host
KR100573639B1 (ko) 디스크드라이브장치
JP3930344B2 (ja) ディスクドライブ装置
US6785762B2 (en) Recording/reproducing device having plural disk units which access an information recording medium including a computer readable recording medium
JP2006244517A (ja) ディスクドライブ装置
US20050027966A1 (en) Device and method for digital signal processor code downloading
JP4023137B2 (ja) ファームウェアの変更方法
JP3393512B2 (ja) データ処理装置
KR100280972B1 (ko) Ata/ide인터페이스를 통한 광학디스크드라이브용펌웨어 코드의 업그래이드 방법 및 장치
JP4095767B2 (ja) ディスクドライブ装置
JP2010205379A (ja) 光ディスク装置及び計算機システム
JP2004030742A (ja) ファームウェアに関するデータを記憶する光ディスク記憶媒体、光ディスク情報記録再生装置、及び、ファームウェア更新プログラムを記憶する記憶媒体
JP2001229028A (ja) ディスク再生装置
KR20100039504A (ko) 광디스크 드라이브와 그에 따른 멀티 펌웨어 설정 방법
JP2001195260A (ja) ブートプログラム書き換えシステム
JP2001243691A (ja) ディスクドライブ装置
JPH09106391A (ja) 制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97194586.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AU BA BB BG BR CA CN CU CZ EE GE GH HU IL IS JP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK TR TT UA US UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1997916631

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1019980708019

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 09171002

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: CA

WWP Wipo information: published in national office

Ref document number: 1019980708019

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1997916631

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1019980708019

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1997916631

Country of ref document: EP