CN100543667C - 盘驱动器 - Google Patents

盘驱动器 Download PDF

Info

Publication number
CN100543667C
CN100543667C CNB2003101138612A CN200310113861A CN100543667C CN 100543667 C CN100543667 C CN 100543667C CN B2003101138612 A CNB2003101138612 A CN B2003101138612A CN 200310113861 A CN200310113861 A CN 200310113861A CN 100543667 C CN100543667 C CN 100543667C
Authority
CN
China
Prior art keywords
mentioned
program
area
disk drive
rom drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2003101138612A
Other languages
English (en)
Other versions
CN1549111A (zh
Inventor
萩原光夫
高桥博政
大和敏
芝崎信雄
四谷三男
石井努
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co 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 ULSI Systems Co Ltd filed Critical Hitachi Ltd
Publication of CN1549111A publication Critical patent/CN1549111A/zh
Application granted granted Critical
Publication of CN100543667C publication Critical patent/CN100543667C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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

Abstract

本发明提供一种盘驱动器(2)和计算机(5),该微型计算机(5)包括电可擦除可编程的非易失半导体存储器(56)和中央处理单元(51)。非易失半导体存储器在应用程序区(561)中存储记录信息再生控制程序等应用程序,并在再引导程序区(560)中保持用于修改应用程序的再引导程序。中央处理单元响应从外部提供的应用程序重写命令,执行再引导程序以将应用程序全部地或部分地重写。因此,即使微型计算机安装在盘驱动器上,也可以重写非易失半导体存储器中的全部或部分应用程序。这时,由于再引导程序区不是重写区域,即使在非易失半导体存储器的重写期间发生了异常,也可以通过再执行再引导程序立即将控制转换到对应用程序区进行重写的操作上去。

Description

盘驱动器
本申请是申请号为97194586.1,申请日为1997年4月9日的发明的分案申请。
技术领域
本发明涉及一种记录信息再现装置,该装置使用例如CD-ROM(致密只读存储器),DVD(数字万用盘,数字视频盘),DVD-ROM,DVD-RAM,CDI(密致盘交互),DVI(数字视频交互)或MOD(磁光盘)等介质,本发明还涉及一种包括这种记录信息再现装置的信息记录/再现装置,及作为这些装置的通称的一种盘驱动器,及安装有这种盘驱动器的计算机,本发明还涉及一种适于重新写入用于控制例如作为标准设备安装在个人计算机上的CD-ROM驱动器的记录信息再现操作等的程序及应用于用于改善重新写入的可靠性的应用的一种方法。
背景技术
当记录信息再现装置与个人计算机,游戏机等交互时,CD-ROM驱动器等盘驱动器具有很快的速度。由于这种CD-ROM驱动器等是基于音频CD播放器标准的,它们的数据传输速度和数据访问速度与音频CD播放器相比需要增加。另外,与音频CD播放器的处理,即如果数据错误不能被校正时可以使用数据插值处理或保持当前值处理相反,这种处理对于用于个人计算机的数据毫无意义,必须提高CD-ROM驱动器的数据校错能力。
为了提高数据访问速度,CD-ROM驱动器等通过提高用于放大从盘读出的信息的前置放大器的频带,强化拾取伺服电路,或提高数字信号处理电路的操作的速度,已经采用了一种在以例如速度为通常速度的两倍或四倍的一定的速度旋转CD-ROM盘时读取和再现记录信息的方法。而且,还实现了通过把四倍校错码加到两倍校错码上的方法来改善这种CD-ROM驱动器校错能力。
但是,今天的事实是,由CD-ROM驱动器所表示的记录信息的再现速度在短时间内正在被改变为更快的速度。过去,再现速度以两年或更多年的周期从标准速度(再现时音频CD的线速度)改变为双倍速,然后从双倍速改变为四倍速。但是今天,再现速度正在以几个月的周期飞快地从六倍速改变为八倍速。
在这种情况下,每当再现速度被增加时,电路控制的方式,电路常数等必须在短时间内改变以改变频带或前置放大器的增益,以增强拾取伺服电路,提高数字信号处理电路的操作速度,优化校错处理等。
如果将微型计算机应用到CD-ROM驱动器等的记录信息再现控制中,则必须改变它们的记录信息再现控制程序。如果以掩摸ROM的形式提供这种程序,则如果没有延时掩摸图样不能在上所述如此极短的再现速度变化周期内,即在极短的生产周期内改变。
日本公开专利No.6-187141公开了一种方法,其中用于再现磁光盘驱动器中盘上的记录信息或往盘上记录信息的处理程序存储在可重写ROM中以方便修改错误或升级处理程序。
具体而言,磁光盘驱动器包括一个与一个主机相连的SCSI(小型计算机系统接口)控制器及一个与该处理器相连的驱动器,并且用于该控制器的固件(处理程序)存储在一个可重写ROM中,用于驱动器的固件存储在一个EPROM(电可擦除可编程ROM)。如果重写控制器的固件,主机将用于该控制器的固件传输到控制器中的缓冲存储器中,并且将存储在控制器的ROM中的写入程序传输到控制器中的RAM,然后向控制器发布命令。接收到命令后,控制器根据保持在RAM中的重写程序将存储在缓冲存储器中的控制器固件写入ROM。在重写的同时,也修改存储在ROM中的写入程序。如果修改用于驱动器的固件,主机将用于该驱动器的固件通过缓冲存储器传输到控制器中的RAM中,并且将用于驱动器的固件传输到控制器的缓冲存储器中。然后使控制器的CPU执行存储在RAM中的重写程序。控制器的CPU根据重写程序设置驱动器固件及驱动器RAM中的地址,然后向驱动器的CPU发布命令。驱动器具有支持通信及基本命令的掩摸ROM,具有接收的命令的驱动器CPU执行掩摸ROM的程序并将存储在RAM中的驱动器固件写入EEPROM。
但是,在上述的在重写控制器的固件期间修改存储在ROM中的重写程序及用于控制器的固件的方法中,如果在ROM的重写期间发生异常并且RAM中的程序被中断,则需要花费时间来将控制器恢复到正常状态。
在上述用于EEPROM的重写控制程序及用于重写的接口程序存储在掩摸ROM中的方法中,其中该掩摸ROM与保持用于驱动器的固件的EEPROM分离,除了EEPROM还需要掩摸ROM,从而增加了系统的物理规模。另外,尽管掩摸ROM是从外部附加到一个微计算机或本身为一个半导体集成电路的微处理器,用于外部附加的存储器的芯片选择控制等所需要的逻辑总数增加,在这个方面,可以预料盘驱动器的物理规模增加了。
在上述现有技术中,用于驱动器的固件及用于控制器的固件分别存储在可重写ROM及EEPROM中。用于驱动器的固件是一个与包括在驱动器中的饲服控制电路等的特性相对应的控制程序。用于控制器的固件是一个用于实现与主机对应的接口规格的控制程序。用于磁光盘的处理程序单独存储在可写入ROM及EEPROM中的原因在于:用于控制器的控制程序可以在磁光盘驱动器制造期间根据便于驱动器调整操作的接口规格执行,设置完用于该驱动器的控制程序后,最后根据目的主机的接口规格重写用于控制器的控制程序。这是为了简化磁光盘驱动器的调整操作及产品控制。但是,当前的发明人使得如下的事实很明显:即在用于控制器的控制程序与用于驱动器的控制程序分别存储在ROM和EEPROM的方法中,重写控制程序的顺序是复杂的并且需要花费时间去重写控制程序。
控制器ROM的重写程序保持在ROM自身中,驱动器EEPROM的重写程序保持在掩摸ROM中。因此如果在磁光盘的操作期间CPU失控(run away),存储在磁光盘驱动器中自身中的重写程序不可能执行,从而ROM或EEPROM的内容也可能中断。
为了便于盘驱动器的处理程序等的改变操作,当前的发明人还从盘驱动器本身的观点及从与主机接口的观点进一步地进行了调查。
首先,当前发明人调查了如下一案例:一个内部设置有电可擦除及可编程非易失存储器的微型计算机被用于控制盘驱动器,并且非易失存储器中存储一个用于盘驱动器的应用程序和一个用于控制下载的应用程序的读取的输入控制程序,如果需要的话,也可以在其中存储重写控制程序。在该案例中,应用程序包括一个用于盘访问的处理程序(访问控制程序)和一个用于盘驱动器的外部接口处理程序(接口处理程序)。
在上述案例中,当前发明人发现有若干个很明显的问题待解决。
一个问题是如果盘驱动器自身保持写入控制程序和输入控制程序,写入控制程序和输入控制程序在应用程序的写入期间必须不能被不可恢复地中断。如果写入控制程序或输入控制程序被中断或丢失,则很难接着重写应用程序。
另一个问题是保持在微型计算机自身的非易失存储器中的写入控制程序和输入控制程序必须是很可靠的。
其次,当前发明人调查表明,当个人计算机等计算机具有作为标准设备的盘驱动器时有可能容易地改变应用程序等。
今天,几乎所有用于个人计算机(以后简称PCs)等计算机的硬盘接口都遵守IDE(集成器件电子技术),PC(个人计算机)板具有多个(例如4个)IDE接口。有关IDE的描述请见NIKKEIELECTRONICS,67-96页(Nikkei Business Publications,Inc.,June6,1994)。术语“IDE”不仅包括IDE,而且还包括称为“FAST ATA”,“Enhanced IDE”,或“Extended IDE”的所谓增强IDE的概念。在IDE接口规格中,接口电缆的长度是极其有限的,接口电缆通常被用作与安装在一个PC盒中的外围设备之间的接口。今天,几乎所有的PCs在其扩展槽或驱动器底版上都具有CD-ROM驱动器作为标准设备,但是在过去,CD-ROM驱动器通常是作为外部的一个可选部件。因此,最初的CD-ROM接口标准是根据SCSI或SCSI2而制做的。
但是,SCSI接口一般被认为是一个可选接口,如果CD-ROM驱动器被通过SCSI接口连接,则尤其需要一个SCSI接口板或一个SCSI接口PC卡,从而提高了整体上的成本。一般地,IDE控制器LSIs(大规模集成电路)与SCSI控制器LSIs相比是便宜的。
为解决这个问题,ATAPI(ATA Packet Interface)被采用,并且遵守IDE规格的PC板接口也已被实现,而且也采用了遵守SCSI或SCSI2的命令。由于采用了ATAPI,不需要专用的特殊接口电路就可以把CD-ROM驱动器安装到PC上。另外,在使用SCSI接口时期作为标准命令集的遵守SCSI的命令不需改变就可以使用。尤其是,ATAPI使得在继承CD-ROM驱动器的过去的软件特性的同时可能采用新的例如增强IDE接口,另外也可能实现降低成本。因此,今天几乎所有被作为标准设备安装在PCs上的CD-ROM驱动器所采用的接口规格都是ATAPI接口规格(IDE的扩展规格)。
许多PC制造商使用ATAPI接口将CD-ROM驱动器做为标准设备安装到PCs上,但是在现在的这种CD-ROM再现速度的改变周期尤其短的情况下,由于CD-ROM驱动器的评价周期变得更长,因此对于PC制造商来说更难高效地销售具有更快再现速度的CD-ROM驱动器的PCs.
在PC制造厂,有几种原因可能增加CD-ROM驱动器的评价周期。
首先,由于ATAPI CD-ROM驱动器是作为标准设备安装在PC上,当拆下CD-ROM驱动器时,需要拆开PC机箱。
其次,由于再现速度改变的周期极短,因此要求驱动器制造商开发CD-ROM驱动器的周期也变短,从而经常要修正错误。
第三,由于再现速度改变的周期极短,驱动器制造商不能立即改善应用程序的性能,需要采取分步的方式先仅将硬件事发送到PC制造商,然后再把应用程序发送给PC制造商,从而完成CD-ROM驱动器。例如以24XCD-ROM驱动器为例,执行以下的分步处理:驱动器制造商将可以运行在同一硬件上的用于20X再现速度的应用程序发送给PC制造商,然后再把用于更快的24X访问速度的应用程序发送给PC制造商,最后再发送逻辑上不完善的部分已经被改善或调整的高性能应用程序。或者是,以24XCD-ROM驱动器为例的情况下,驱动器制造商将向PC制造商发送用于最小1X再现速度及最大24X再现速度的应用程序,然后分步完成用于中间速度的应用程序并将其提供给PC制造商。
第四,如果采用ATAPI接口的CD-ROM驱动器作为标准设备安装到PC中,则CD-ROM驱动器将被作为专用于某一PC的设备,从而CD-ROM驱动器的应用程序的内容将趋向于越来越适应每个PC类型或PC制造商的需要。例如,许多驱动器制造商将标准速度CD-ROM驱动器作为产品样品发送给PC制造商,但是如果各个PC制造商具有不同的驱动器规格,则驱动器制造商需要准备另外的驱动器规格。PC制造商之间的规格不同的一个例子是用于盘的再现控制方法,其中这种盘存在偏心、表面不均匀等问题。对于盘存在偏心、表面不均匀问题的盘,CD-ROM驱动器通常自动地将其再现速度降低到CD-ROM驱动器可以读取盘的程度。但是,当将再现速度从因各PC制造商不同而不同的降低的程度提高时,则可能会出现当接收下一个读取命令时才恢复再现速度或是相对于这种盘的再现速度根本不提高。另外,也可能是通过使用厂商独特命令来恢复再现速度。此外,还有一种方法,它通过结合线速度恒定控制和角速度恒定控制对盘进行再现控制,并且根据不同的方式在线速度恒定控制和角速度恒定控制之间切换。
另外,当具有作为标准设备的ATAPI CD-ROM的PC被提供给最终用户之后,由于再现速度的提高或CD-R(可记录致密盘)的使用,可能会发生CD-ROM盘驱动器不能再现所有盘的现象。在这种情况下,最终用户最好可以更新应用程序。
通过以上描述可知,当CD-ROM驱动器的再现速度的改变周期极短并且CD-ROM驱动器作为标准设备安装在个人计算机上时,CD-ROM驱动器制造商必须在短时间内为各个PC制造商准备不同规格的应用程序。每个PC制造商可以在短时间内鉴定CD-ROM驱动器,并且在整个鉴定期间从CD-ROM驱动器制造商接到应用程序的错误修正时完全需要充分地在PC上鉴定CD-ROM驱动器。因此极其需要对CD-ROM驱动器的应用程序进行充分的修改。
发明内容
本发明的一个目的是使得可能有效地修改应用程序的全部或部分,其中该应用程序包括用于盘访问控制的处理程序和盘驱动器的接口控制。
本发明的另一个目的是提供一种盘驱动器,该驱动器使得不需增加盘驱动器的物理规模就可以容易地重写全部或部分应用程序。
本发明的另一个目的是提供一种可以提高重写应用程序的可靠性的盘驱动器。
本发明的又一个目的是提供一种盘驱动器,该驱动器使得可能先完成例如记录信息再现装置或盘驱动器等硬件的大量生产,然后在交付之前的一段时间内修改全部或部分应用程序,从而可以降低盘驱动器的开发周期。
本发明的再一个目的是提供一种盘驱动器,该驱动器可以扩展为基于相同硬件的不同产品。
本发明的另一个目的是提供一种例如个人计算机等的计算机,该计算机使得即使将盘驱动器已安装到计算机中时(即不需拆卸盘驱动器)也可以修改记录信息再现装置的全部或部分应用程序。
本发明再一个目的是使得即使在再现速度的改变周期极其短时也可能有效地销售将具有快速再现速度的盘驱动器作为标准设备安装进去的计算机。
通过以下描述将更清楚本发明的以上及其他目的和新颖特征。
本发明提供了一种盘驱动器,包括访问被旋转驱动的盘的访问单元;用于连接上述访问单元和主机的接口电路;控制上述访问单元的动作,并且被耦合到上述接口电路的微型计算机,其中上述接口电路接收从上述主机提供的命令,上述微型计算机构成为在一个半导体基板上包含电可擦除非易失性存储器、访问上述非易失性存储器的中央处理装置、连接到上述接口电路第一端口和第二端口以及存储了自引导程序的ROM,进行按照上述接口电路从上述主机接收的命令的处理,对从上述盘读取的信息实施处理后所生成的数据经由上述接口电路被输出到上述主机,上述非易失性存储器具有禁止重写区域和可重写区域,上述可重写区域为了控制上述访问单元存储由上述中央处理装置所执行的访问控制程序,上述禁止重写区域存储ATAPI中断处理程序和输入控制程序,上述中央处理装置通过执行ATAPI中断处理程序,判断从上述主机供给上述接口电路的命令是否是规定的命令,并且在从上述主机供给的命令是上述规定的命令情况下,作为根据上述规定的命令的处理,通过执行上述输入控制程序,获取经由上述接口电路从上述主机被供给的被写入到上述可重写区域的程序,被写入到上述禁止重写区域的程序,可根据存储在上述ROM中的自引导程序,经由上述第二端口写入。
本发明提供了一种微型计算机,它包括一个内置的电可擦除可写入非易失存储器以控制盘驱动器,非易失存储器具有应用程序区,用于保持包括进行盘访问和接口控制的处理程序,及再引导程序区,用于保持用于修改全部或部分应用程序的再引导程序。
具体地,本发明提供了一种盘驱动器,包括:访问装置,用于访问被旋转驱动的盘;接口电路,与所述访问装置相连并与外部相接口;微型计算机,用于控制所述访问装置的操作并与所述接口电路相连。所述微型计算机包括一个具有电可擦除可编程非易失半导体存储器及访问所述非易失半导体存储器的中央处理单元的半导体基底。所述非易失半导体存储器的存储区中具有再引导程序区和应用程序区。所述应用程序区具有存储应用程序的区域,该应用程序由所述中央处理单元执行以控制所述访问装置和所述接口电路。所述再引导程序区具有用于存储再引导程序的区域,该再引导程序使所述中央处理单元执行重写所述应用程序区的处理。所述中央处理单元响应从外部供给所述接口电路的重写所述应用程序区的重写命令,执行所述再引导程序以部分或全部地重写所述应用程序区,或是响应从外部提供给所述接口电路的盘访问命令执行存储在所述应用程序区中的所述应用程序以控制所述访问装置和所述接口电路。
应用程序是包括例如用于控制盘驱动器的外部接口的记录信息再现控制程序和接口控制程序的操作程序。访问控制程序执行例如根据记录信息的再现速度进行盘和信号处理的速度控制等控制。接口控制程序执行用于盘访问的外部接口控制。应用程序区的重写可以用于寻址应用程序的全部或部分(访问控制程序和接口控制程序两者或其中之一)。如果应用程序包括多个程序模块(例如多个子程序),也可以重写部分程序模块。例如当重写(修改)应用程序时,可以仅重写访问控制程序和接口控制程序之一。
根据上述特征,即使微型计算机安装到了盘驱动器上,应用程序可以写入位于微型计算机内部的非易失存储器中,或重写全部或部分应用程序。因此,有可能在将来当再现速度等可能在极短的周期内发生改变时,根据再现速度方面的改进,仅根据所需要的修改,通过重写应用程序的全部或部分就可以临时地或定时地应付CD-ROM驱动器2的再现速度上的改变。
非易失存储器的被重写的区域是应用程序区。由于再引导程序区不是重写区域,即使在非易失存储器的重写操作期间发生了异常,也可以在再引导程序执行之后立即对应用程序区进行重写操作,从而使得在重写期间从异常状态进行恢复不会占用太多时间。由于盘驱动器中的被重写的处理程序仅是存储在非易失存储器中的处理程序,可以简化重写的控制程序,从而缩短用于重写所需的时间。另外,由于保持盘驱动器的处理程序的非易失存储器位于微型计算机的内部,其中微型计算机也是一个半导体集成电路,因此可以减小盘驱动器的物理规模以获得上述效果。
再引导程序包括输入控制程序,重写控制程序和传输控制程序。响应控制执行所述输入控制程序及获取从外部全部地或部分地提供给所述接口电路的所述应用程序的重写命令的所述中央处理单元,执行所述传输控制程序并将所述重写控制程序从所述再引导程序区传输到所述微型计算机内部的RAM中,并执行传输给所述内部RAM的所述重写控制程序,将所获得的所述全部或部分应用程序写入所述应用程序区。根据该控制,当修改应用程序区时,主机仅需向盘驱动器传输全部或部分待写入用户程序区的应用程序,而不需传输写入控制程序。因此修改用户程序区所需的处理时间可以进一步地缩短。
再引导程序可以包括输入控制程序和传输控制程序,响应控制执行所述输入控制程序及获取从外部全部地或部分地提供给所述接口电路的所述应用程序和重写控制程序的重写命令并执行所述传输控制程序并将所述获得的重写控制程序传输到所述微型计算机内部的RAM中的所述中央处理单元,执行传输给所述内部RAM的所述重写控制程序,将所获得的所述全部或部分应用程序写入所述应用程序区。因此,由于非易失存储器不保持重写控制程序,即使中央处理单元失控并意外地执行了存储在非易失存储器中的程序,非易失存储器设备也不会被错误地重写。
再引导程序还包括存储向量表和重置处理程序的区域,响应重置指令的所述中央处理单元通过参考所述向量表执行所述重置处理程序,并在执行所述重置处理程序期间,判断所述中央处理单元是否是可以响应重写命令的强制再引导状态;当处于强制再引导状态时,所述中央处理单元在接受到输入的重写命令后执行所述再引导程序;当未处于强制再引导状态时,所述中央处理单元成为可以执行存储在所述应用程序区的所述应用程序的状态。即使在非易失存储器的重写期间发生了异常,如果执行了重置以指定强制再引导方式,中央处理单元可以容易地从异常状态恢复过来并开始进行非易失存储器的重写处理。在这个方面,可以缩短修改应用程序区所需的处理时间。
应用程序区在其存储区中可以包括一个用于存储保持在另外的存储区中的信息总计的总数存储区。所述再引导程序区还具有存储向量表和重置处理程序的区域。响应重置指令的所述中央处理单元,通过参考所述向量表执行所述重置处理程序,并在执行所述重置处理程序期间,判断所述中央处理单元是否是可以响应重写命令的强制再引导状态;当处于强制再引导状态时,所述中央处理单元在接受到输入的重写命令后执行所述再引导程序;当未处于强制再引导状态时,所述中央处理单元判断存储在所述总数存储区中的总数是否和保持在所述的另外存储区中的信息总计相同;如果判断出两者的总数不相同,所述中央处理单元在接受到输入的重写命令后执行所述再引导程序;当判断出两者的总数相同时,所述中央处理单元成为可以执行存储在所述应用程序区的所述应用程序的状态。因此如果应用程序区中的程序被主机或盘驱动器的异常操作意外重写,即使未指定强制再引导方式,中央处理单元也可以作到自诊断并前进到仅通过再引导就可以重写用户程序区的状态。因此,可以防止盘驱动器的误操作。
由于非易失半导体存储器和快闪存储器具有多个存储块,每个块由可成组地擦除的单元组成。因此可以通过为再引导程序区和用户程序区分配各不相同的存储块执行应用程序区的擦除操作。
人们希望将程序写入再引导程序区的初始写入的可靠性在程序特性的角度上看是好的。为保证这种可靠性,可以在微型计算机制造期间将程序写入再引导程序区。
为防止对重写程序进行的不希望有的擦除,可以提供禁止重写再引导程序区的装置。
接口电路中可以采用ATAPI接口。根据该布局,在继承了过去积累起来的遵守SCSI接口规格等的盘驱动器的软件特性的同时,可以使用增强IDE等新的接口。另外,也可能降低成本。
本发明提供了一种具有这种盘驱动器的计算机,包括:主板,该主板包括与总线相连的微处理器和外围接口控制器;与所述外围接口控制器相连的盘驱动器。如果盘驱动器作为标准设备安装在例如个人计算机等计算机中,其中该计算机包括例如作为总线的PCI总线和作为接口控制器的IDE接口控制器,ATAPI接口电路可以作为盘驱动器的接口电路。在几乎所有例子中,如果盘驱动器作为标准设备安装在计算机中,则主板和盘驱动器安装在一个机箱中。
在盘驱动器应用程序区的重写期间,计算机的主板是宿主,盘驱动器的应用程序可以通过主机全部或部分地重写。因此,可以通过使用微处理器改变应用程序,而不需将盘驱动器从计算机中卸出来。
因此,在盘驱动器的再现速度的改变周期极短,并且盘驱动器作为标准设备安装在计算机上使得盘驱动器厂商必须准备用于驱动器的应用程序,而该驱动器对于不同的个人计算机厂商具有不同的规格的情况下,在盘驱动器的评价期间,当从驱动器厂商接到与应用程序相关的改错后的程序或附加功能时,个人计算机厂商可以评价安装在计算机中的驱动器。如前所述,盘驱动器具有在盘驱动器的评价期间对例如用户程序区进行高效重写处理的功能和在重写处理期间快速地从异常状态恢复过来的能力。计算机厂商可以将更改的应用程序高效地重装到微型计算机内部快闪存储器中。因此,计算机厂商可以缩短盘驱动器的评价周期。
因此,在盘驱动器的再现速度的更改周期极其短的情况下,计算机厂商可以高效地销售配置了具有较快再现速度的盘驱动器的计算机。
应用程序可以包括作为记录信息再现控制程序和接口控制程序的访问控制程序,并可以由制造盘驱动器或将驱动器销售给计算机厂商的公司或销售计算机的公司提供,或由通过例如因特网等将计算机销售给最终用户的计算机厂商或公司提供。因此,有可能将应用程序及时地发送给计算机厂商,销售计算机的公司或计算机的最终用户。因此,如果使用该盘驱动器或具有这种盘驱动器的计算机,驱动器或计算机等功能例如记录信息再现速度可以在用户端立即从旧版本进行升级。即产品的功能可以在用户端容易地进行更改。
附图说明
图1是根据本发明的一个实施例的CD-ROM驱动器的方框图。
图2是快闪存储器的存储区域的解释图。
图3是重置处理的一个实施例的流程图。
图4是ATAPI中断处理的一个实施例的流程图。
图5是示出快闪存储器中可选择删除单元块与再引导程序区域之间的关系的解释图。
图6是概略性地示出制造具有内置式快闪存储器的微型计算机的处理的流程图。
图7是示出防止对于再引导程序区的不希望有的删除的硬件保护的一个实施例的方框图。
图8是示出防止对于再引导程序区的不希望有的删除的硬件保护的另一个实施例的方框图。
图9是具有内置式CD-ROM的个人计算机的一个实施例的方框图。
图10是示出将一个应用程序写入安装到个人计算机中的CD-ROM驱动器的操作的初始状态的解释图。
图11是示出开始将应用程序写入安装到个人计算机中的CD-ROM驱动器的操作的状态的解释图。
图12是示出将应用程序顺序地转换为图11所示的状态的状态的解释图。
图13是示出将一个删除/写入控制程序顺序地激活为图12所示的状态的状态的解释图。
图14是示出将删除/写入控制程序的删除操作顺序地改变为图13所示的状态的解释图。
图15是示出将删除/写入控制程序的写入操作顺序地改变为图14所示的状态的解释图。
图16是示出图10至15所示的整个写入处理的流程图。
图17的解释图与图10相似,但示出了从CD-ROM驱动器的外部接收删除/写入控制程序并将应用程序写入CD-ROM驱动器的操作的初始状态。
图18的解释图与图10相似,但示出了开始从CD-ROM驱动器的外部接收删除/写入控制程序并将应用程序写入CD-ROM驱动器的操作的状态。
图19是示出将应用程序顺序地转换为图18所示的状态的解释图。
图20是示出将删除/写入控制程序顺序地激活为图19所示的状态的状态的解释图。
图21是示出通过删除/写入控制程序顺序地将快闪存储器的删除操作改变为图20所示的状态的解释图。
图22是示出通过删除/写入控制程序顺序地将快闪存储器的写入操作改变为图21所示的状态的解释图。
图23是被分配了总计存储区的快闪存储器的存储区的解释图。
图24是使用户程序区根据重置时的总计成为可以写入的操作的流程图。
图25是示出在微型计算机的工作RAM中向量表配置的状态的解释图。
图26是示出快闪存储器的地址映射的另一个实施例的解释图。
图27是示出CD-ROM驱动器制造商制造CD-ROM驱动器的顺序的一个实施例的流程图。
图28是示出使用CD-ROM驱动器制造商所交付的CD-ROM驱动器的PC制造商评价个人计算机的顺序的一个实施例的流程图。
图29的流程图与图27相似,但是示出了将处理程序写入再引导程序区和用户程序区的操作的一个实施例。
图30是具有串行端口的CD-ROM驱动器的方框图,示出了通过串行端口将处理程序写入微型计算机的状态。
图31是微型计算机的方框图,示出通过使用一个EPROM记录器写入用于微型计算机的处理程序的状态。
具体实施方式
《CD-ROM驱动器》
图1示出了根据本发明的一个实施例的CD-ROM驱动器及一个主机。在图1中,参考标记1表示CD-ROM盘(以后简称为盘),其中为了提高盘的记录密度,用CLV(恒定线速度)方法将信息记录到CD-ROM盘1上,从而在从盘1的内圆周到外圆周的任何位置信号的记录速度都是恒定的。在该盘1中每个帧包括但不限于子码信息的一个符号(一个符号=1字节),24个数据符号及8个奇偶校验符号,此外每个帧附加有一个同步信号。这种帧上的信息是用EFM(8到14调制)来调制的,但是调制的类别不限于EFM。EFM是将1个符号8位数据转换为14位的处理。另外,为了消去转换后的直流成分,增加了三个备用位(margin bit)来执行NRZI调制。另外,帧之间是交错的。
如果示于图1的CD-ROM驱动器2通过一个ATAPI接口电路4被主机3访问或接收到来自于主机3的数据传输请求,微型计算机5执行控制以响应请求。由微型计算机5所控制的CD-ROM驱动器2的操作将在以后描述。从CD-ROM盘1中光学地读取信息,在数字信号处理电路7对读取的信息进行译码、校错等。按照一个预定格式例如CD-ROM格式或CD-I格式通过总线8将信息从数字信号处理电路7提供给CD-ROM译码器9。CD-ROM译码器9对所提供的信息实行同步信号检测、去交错及附加的ECC校错处理,并通过ATAPI接口电路4由主机2向主机3输出所请求的数据。
下面将详细描述CD-ROM驱动器2的每一部分。
盘1是由盘电机10旋转驱动的。拾取器11向盘1发射激光束,由由光电二极管组成的光接收部分接收反射光并将其进行光电转换,从而读出盘1上的记录信息。线性电机沿着盘1的径向方向移动拾取头11。装载电机13移动其上安装盘1的托盘(未示出)。
数字信号处理电路7根据其操作程序实现例如数字过滤、EFM解调、C1、C2校错、数字饲服及速度控制等功能。数字饲服的功能是控制线性电机12及控制拾取头11的位置。速度控制的功能是控制盘电机10的旋转速度。C1、C2校错功能是通过使用称为CIRC(交叉交插里德-索罗蒙码)的校错码进行校错,其中组合使用了两个索罗蒙码系统C1和C2。校错码用于对应每个帧的奇偶校验。
前置放大器14将从拾取头11读出的信号(高频信号)进行放大并提供给数字信号处理电路7。该读出信号由由数字信号处理电路7所实现的数字过滤器编码为数字信号。该数字读出信号被顺序进行速度控制和EFM解调。速度控制功能是用于检测盘1的旋转速度并以一个预定速度控制盘电机10旋转盘1。速度控制功能还包括从读出信号中检测同步信号的功能。EFM解调功能用于根据有速度控制功能所检测的同步信号解调EFM调制的读出信号。包括在解调的读出信号的每个帧中的子码以信号700的形式提供给微型计算机5的SCI(串行通信接口)50。微型计算机5通过使用其操作程序对输入子码执行子码信号处理。具体而言,微型计算机5将所提供的子码汇编为例如98个帧单元,识别包括在子码中的时间信息、索引信息等信息,向数字信号处理电路7提供用于控制盘电机10、线性电机12等的控制信息。
在数字信号处理电路7中进行了解调及C1、C2校错的记录信息通过总线8提供给CD-ROM译码器9。提供给CD-ROM译码器9的数据符合例如被标准化的物理格式以使数据被分为每个具有2336字节的扇区。例如根据CD-ROM标准,每个扇区包括用于同步信号的12字节,用于标题的4字节及用户数据。关于用户数据区,有一个具有附加校错码如ECC的标准使得可能修正不能通过C1、C2校错完全校正的错误。CD-ROM译码器9包括RAM控制器90,校错电路91及同步信号检测和去交错电路92,并与缓冲RAM16连接。RAM控制器90是作为缓冲RAM16的存储控制器。同步信号检测和去交错电路92检测从总线8所顺序提供的每个扇区数据中的同步信号并执行去交错处理。RAM控制器90通过使用附加校错码对具有错误的数据执行校错处理,其中该错误是即使用C1、C2校错也不能完全校错的。已经去交错及校错的数据通过RAM控制器90的控制串行地存储在缓冲RAM16中。保持在缓冲RAM16中的读出数据通过ATAPI接口电路4以一个或多个扇区为单位提供给主机3。
ATAPI接口电路4包括命令缓冲器40和协议序列控制电路41。协议序列控制电路41执行遵守ATAPI接口标准的接口控制。ATAPI接口是一个接口规格,用于通过现存的IDE接口控制器控制CD-ROM驱动器,其中IDE接口控制器用于将硬盘驱动器等与构成个人计算机主要部分的微型处理器进行接口。在该ATAPI接口中遵守SCSI2规格的命令作为包提供给CD-ROM驱动器2,从而控制CD-ROM驱动器2。有关ATAPI接口规格的细节在“ATA PacketInterface for CD-ROM Revision 1.2”中有所描述,它是由属于SSF(Small Form Factor)委员会的公司制定的,该委员会是位于美国的与外部存储设备有关的特别委员会。命令缓冲器40保持从主机3发送的命令。
《微型计算机》
微型计算机5包括中央处理单元(CPU51),8位定时器52和53,16位定时器54,A/D转换器55,SCI电路50,快闪存储器56,RAM57和输入/输出端口59,它们都位于例如单晶硅基底等半导体基底上。形成这些电路模块以共享内部总线58,但并不特别限制于这种电路配置。作为电可擦除可编程非易失半导体存储器的快闪存储器56是用于存储CPU51的操作程序和常数数据的存储器。CPU51根据其操作程序控制前置放大器14、数字信号处理电路7、CD-ROM译码器9和ATAPI接口电路4等。RAM57是用作CPU51的工作区等的工作RAM。
快闪存储器56的结构使得它的存储区域可以以预定的块数(存储块)为单位成组地擦除,数据也可以以块为单位重写。尽管这种快闪存储器是已知的并且起详细描述在这里被省略,其存储单元三极管的每一个是作为具有浮栅和控制栅两层栅的绝缘栅场效应三极管形成的。向存储单元三极管写入信息的操作可以通过例如向控制栅和漏极提供高压,通过雪崩注入从漏极侧向浮栅注入电子来实现。当执行写入操作时从控制栅看过去的存储单元三极管的阀值电压比未执行写入操作时要高,并且存储单元三极管处于擦除的状态。从存储单元中擦除信息的操作可以通过例如向原极施加高电压,通过隧道现象从浮栅向原极抽取电子,从而从控制栅看过去的存储单元三极管的阀值电压为低电压。不管存储单元三极管处于写入状态还是擦除状态,存储单元三极管的阀值电压保持在正电平。具体而言,与从字线供给控制栅的字线选择电平相比,写入状态的存储单元三极管的阀值电压为高电压,而处于擦除状态的存储单元三极管的阀值电压为低电压。由于阀值电压与字线选择电平具有这种关系,存储单元三极管可以不需采用选择三极管而由一个三极管形成。现在已经实现了用于存储单元三极管的擦除操作和写入操作的各种控制方法,一些方法用于在共原极的存储单元三极管中执行成组擦除,另一些方法用于在共控制栅的存储单元三极管执行成组擦除。通过这种控制方法,可以以块为单位执行成组擦除。可以通过在擦除块指定寄存器中设定控制数据指定待擦除的块。与快闪存储器56相关的操作,即擦除、擦除验证、写入、写入验证和读取等操作,通过在快闪存储器56的模式寄存器中设定存储信息来指定。这种设置是由CPU51根据其操作程序执行的。
内部总线58是用于地址、数据及控制信号的总线的通用术语。包括在内部总线58中的数据总线和地址总线与CD-ROM译码器9和ATAPI接口电路4相连。如仅用于说明的图1所示,从中央处理单元51直接输出使CPU51访问CD-ROM译码器9和ATAPI接口电路4所需的访问控制信号510,访问控制信号510包括读取信号、写入信号、芯片使能信号等。通过访问控制信号510,CPU51可以访问命令缓冲器40,或在RAM控制器90中设置控制信息,或是直接地或通过RAM控制器90访问缓冲RAM16。
16位定时器54获取为了解与盘1相关的拾取头11的线速度所需的信息。
在图1中参考标记93表示从CD-ROM译码器9供给51的中断信号,例如标识即使用上述的附加校错码也不能校正的错误的发生的中断信号。参考标记42表示从ATAPI接口电路4提供给CPU51的中断信号,例如表示从主机3向命令缓冲器40提供的命令的中断信号。信号501是用于控制前置放大器14的特性的控制信息,参考标记502表示用于控制数字信号处理电路7中的数字过滤器,C1,C2校错功能的控制信息。从输入/输出端口59输出信息501和502。
《改变电路特征以适应再现速度的改变》
在CD-ROM驱动器2中,记录/再现速度的提高(即从盘1中读取记录信息的速度)涉及CD-ROM驱动器2中的内部电路的特征的改变。首先,盘电机10、线性电机等的旋转速度必须增加。其次,数字饲服、数字过滤器等的系数必须相应地改变。第三,由于读出速度的提高导致可以用于进行C1、C2校错的时间变短,因此必须采用具有修正的(低的)C1、C2校错能力的程序。例如,校正四倍速中的最大六个错误符号的校错能力被降低为六倍速时的最大四个符号。第四,随着读取速度的提高读出信号的频率也提高了,从而前置放大器14的增益和频带等特征参数也必须改变。对于第一至第三点,数字信号处理电路7的运算频率当然必须增加。可以通过改变CPU51的操作程序十分容易的解决第一至第三点而不必改变硬件。另外,可以通过采用具有一个电路的配置解决第四点,其中该电路切换前置放大器14中的一个加法器和一个波形平衡器的频率特性以使频率特性最佳地匹配四倍速、六倍速、八倍速或更高速度,可以根据CPU51的操作程序切换频率特性。需要进行频率特性的切换以改善对进行了加法及波形平衡的信号进行二进制编码的精度。频率特性可以例如通过如下方式进行最佳切换,即通过一个开关选择主要由运算放大器组成的加法电路反馈系统中的波形平衡过滤器的电阻和电容的值来实现。
在CD-ROM驱动器2中由CPU51控制记录信息再现操作和外部接口操作,CPU51执行包括在应用程序中的记录信息再现控制程序和接口控制接口程序。例如,如果CD-ROM驱动器2的记录信息再现速度被设置为四倍速,则CPU51使用一个用于四倍速的记录信息再现控制程序,如果CD-ROM驱动器2的记录信息再现速度被设置为八倍速,则CPU51使用一个用于八倍速的记录信息再现控制程序。此处所使用的术语“记录信息再现程序”是一个用于对盘电机10进行饲服控制、对数字信号处理电路7进行操作控制及用于CD-ROM译码器9的操作程序的通用术语。上述术语“接口控制程序”是用于实现命令的接口控制和用于ATAPI接口电路4的数据的处理程序的通用术语。因此在CD-ROM驱动器2中,术语“应用程序”是用于再现记录在盘1上的信息和向主机3供给再现信息的处理程序的通用术语。
《根据用户程序区的重写对再现速度改变进行处理》
如图2所示的例子,快闪存储器56在其存储区中具有再引导程序区560和应用程序区(“以后也称为用户程序区”)561。应用程序区561是用于存储应用程序M2的区域。再引导程序区560是用于存储输入控制程序M1、擦除/写入控制程序M3、传输控制程序M4等的区域。
输入控制程序M1由CPU51执行以装入例如缓冲RAM16,应用程序的全部或部分作为待写入或待重写的对象从外部提供给ATAPI接口电路4。擦除/写入控制程序M3作为重写控制程序由CPU51执行以将装入缓冲RAM16中的全部或部分应用程序写入用户程序区561。传输控制程序M4由CPU51执行以将存储在再引导程序区560中的擦除/写入控制程序M3传输到RAM57。CPU51执行传输给RAM57的擦除/写入控制程序M3并将存储在缓冲RAM16中的全部或部分应用程序写入用户程序区。
再引导程序区560还包括存储了向量地址的向量表560A及存储根据向量表560A的向量地址索引的预定程序的存储区560B。向量表560A包括重置向量BCT1、ATAPI中断向量BCT2等。程序存储区560B包括重置处理程序PRG1、ATAPI中断处理程序PRG2等。
通过重置向量BCT1索引重置处理程序PRG1。具体而言,如果给出加电重置指令或是硬件或软件指令,CPU51读取重置向量BCT1并将其处理转向由重置向量BCT1所指示的重置处理程序PRG1的开始地址。
图3示出了重置处理的流程图。在重置处理中,首先执行内部电路的内部初始化或初始设置(S1)。然后微型计算机确定是否执行应用程序的机载写入或重写,即是否指定了用户再引导方式(S2)。在该实施例中,尽管不限于任何具体的例子,激活用户再引导方式所需的条件是当CD-ROM驱动器2的电源被接通时,按下一个预定开关例如盘弹出开关。通过操作盘弹出开关等指定用户再引导方式也称为强制再引导方式。如果没有指定强制再引导方式,则处理前进至执行应用程序M2(S3)。如果指定了用户再引导方式,则再引导标记被设置为设置状态(S4),处理等待ATAPI中断(S5)。再引导标记被分配例如包括在CPU51中的标记(未示出)或控制寄存器的预定一位。
由ATAPI中断向量BCT2索引ATAPI中断处理程序PRG2。尤其是,在ATAPI协议中,将命令配置在提供给ATAPI接口电路4的信息序列的开始端,将命令输入命令缓冲器40中。如果命令输入了命令缓冲器40中,ATAPI接口电路4通过中断信号42通知CPU51该时间。如果CPU51接受了ATAPI中断,则CPU51参考ATAPI中断向量BCT2并转向处理ATAPI中断处理程序PRG2。
图4示出ATAPI中断处理程序PRG2的流程图。如果发生ATAPI中断,CPU51从命令缓冲器40中读取命令并将其译码(S10)。然后CPU51检查再引导标记。如果再引导标记不是设置状态,CPU51根据命令的译码结果执行包括在应用程序M2中的预定处理例程,并开始例如用于从盘1中读取记录信息的记录信息再现控制(S12)。如果再引导标记处于设置状态并且命令为一预定命令(厂商独特命令),则执行用于记录信息再现控制程序的机载写入的再引导程序。
在该实施例中,如果执行了再引导程序,则CPU51执行输入控制程序M1以将从主机3提供给ATAPI接口电路4的记录信息再现控制程序存储到缓冲RAM16中,并执行传输控制程序M4以将擦除/写入控制程序M3传输到工作RAM57中,然后执行保持在工作RAM57中的擦除/写入控制程序M3,将存储在缓冲RAM16中的全部或部分应用程序写入用户程序区561。尽管不限于具体的代码信息种类,厂商独特命令可以是在ATAPI接口规格中未标准化(或未使用)的代码信息。
回过来参考图2,存储在用户程序区561中的应用程序M2包括分为主程序、子程序及具有分支子程序的程序地址的二级向量表等的处理程序。在图3的步骤S2,如果判定未选择用户再引导方式,CPU51的程序计数器(未示出)强制地设置到应用程序M2中的处理程序的引导地址,从而CPU51执行该程序地址处的应用程序。
快闪存储器56具有多个存储块(BLK0-BLKn),每个块通过图5所示的方法由可成组地擦除的单元组成。为再引导程序区560和用户程序区561分配各不相同的存储块。例如将存储块分配给再引导程序区560。
擦除/写入控制程序M3仅指定用户程序区561作为可写区域。具体的,如图5所示,擦除/写入控制程序M3的控制操作不指定存储块BLK0作为可擦除和可写入区域存储在擦除/写入指定寄存器。换句话说,擦除/写入控制程序M3不指定再引导程序区560作为可写区域。这时,禁止对再引导程序区560进行重写。
由于保持在再引导程序区560中的程序不能通过ATAPI接口电路4进行重写,程序的初始写入的可靠性必须很高。为确保这种可靠性,希望在微型计算机的制造过程中写入程序,但程序的写入不限于具体的方法。
图6概要地示出微型计算机的制造过程。组成微型计算机的每个电路通过使用例如多种掩摸图样形成在单晶硅晶片上,从而制成集成了这种电路的晶片(步骤P1)。对制成的晶片进行检测(步骤P2),对晶片的电路功能进行探针检测以判定每个微型计算机芯片是否有缺陷(步骤P3)。进行完探针检测之后,通过切割成片从晶片上切下多个微型计算机芯片,通过焊接及封装步骤将没有缺陷的芯片组装到微型计算机LSIs上(步骤P4)。组装完之后,将环境温度和工作电压设置到它们的最大允许极限来运行微型计算机,从而事先进行老化测试以发现将来可能发生的故障(步骤P5)。老化之后,使用一个测试器对微型计算机LSIs进行筛选(步骤P6)。筛选步骤包括内置快闪存储器的擦除/写入测试。通过使用该步骤,擦除/写入控制程序等再引导程序被写入再引导程序区。另外,在该步骤中,很容易执行写入的再引导程序的测试操作。筛选步骤之后,微型计算机LSIs被存入仓库并且在交货之前进行交付测试(步骤P7),在交付测试中合格的产品被最终交货(步骤P8)。
在上述方法中,擦除/写入控制程序M3未将再引导程序区560作为可擦除/可写入区域使用。这就是所谓的软件保护。也可以提供硬件保护装置来防止再引导程序区560由于CPU的误操作或用户程序的缺陷而被意外地删除/写入。
图7示出用于实现硬件保护的一个例子。在图7中参考标记562表示用于指定成组地擦除的存储块的擦除块指定寄存器。回过来参考图5,擦除块指定寄存器562ES0-Esn位,它们与存储块BLK0-BLKn是一对一的关系,如果ES0-Esn位的任何一个控制位为逻辑1,则指示快闪存储器56擦除相应的存储块。参考标记563表示不管擦除块指定寄存器562是否给出擦除指令都指定存储块禁止擦除的禁止擦除块指定寄存器。回过来参考图5,禁止擦除块指定寄存器563具有与存储块BLK0-BLKn一一对应的控制位IH0-IHn,如果控制位IH0-Ihn的任一位为逻辑0,则指示快闪存储器56禁止擦除相应的存储块。擦除块指定寄存器562的每一位的值及禁止擦除块指定寄存器563的相应的每个位的值提供给“与”门AND0-ANDn的相应的一个的两个输入的每一个,“与”门AND0-ANDn的输出作为擦除块指定信息提供给快闪存储器56。由CPU51对擦除块指定寄存器562和禁止擦除块指定寄存器563进行数据设置。尤其是,禁止擦除块指定寄存器563的数据设置可以通过初始重置执行。例如,控制位IH0被设置为逻辑0。根据该结构,即使在擦除/写入控制程序M3的执行期间发生了CPU51的失控,只要寄存器563的任何一个值不被偶尔重写,则再引导程序区560就不会被擦除。
图8示出用于实现硬件保护的另一个实施例。在图8中,参考标记562表示与图7中所示的一样的擦除块指定寄存器。译码器564对由微型计算机5的外部端子T0-Ti输入的数据进行译码,并输出擦除禁止信号,该信号禁止以存储块为单位的擦除。由CPU51通过内部总线58对擦除块指定寄存器562进行数据设置。每个具有两个输入的“与”门AND0-ANDn位于内部总线58和擦除块指定寄存器562的输入侧之间。内部总线58的每个信号线与用于每个位的“与”门AND0-ANDn的相应的一个的一个输入相连,而擦除禁止信号提供给用于每个位的“与”门AND0-ANDn的每个的另一个输入。因此,由于被供给信号值为逻辑0的擦除禁止信号的“与”门的输出通常保持为逻辑0,与“与”门的输出相对应的擦除块指定寄存器控制位永远不会为逻辑1(擦除指令电平)。例如,当存储块BLK0被分配给再引导程序区时,如果外部端子T0-Ti被上拉或下拉使得“与”门AND0通常保持为逻辑0,则当CPU51出现失控时再引导程序区560不会出现被重写的危险。
如上所述,当CD-ROM驱动器2被构造为微型计算机5与ATAPI接口电路4及CD-ROM译码器9等一起被安装到一个印刷电路板上时,在重置期间当设置强制再引导方式时,微型计算机的CPU51执行用于内置式快闪存储器56的再引导程序并将用户程序区561的全部或部分应用程序M2修改为由主机3提供给ATAPI接口电路4的新程序。因此,有可能在将来当再现速度可能在极短的周期内发生时,根据再现速度方面的改进,仅根据所需要的修改,通过重写应用程序M2的全部或部分就可以临时地或定时地应付CD-ROM驱动器2的再现速度上的改变。重写或修改应用程序的范围不限于整个应用程序,也可以仅重写或修改应用程序的一部分,也可以仅重写包括在应用程序总的再现控制程序。换句话说,如果所需的修改需要应用到整个应用程序,则可以写入整个应用程序,如果所需的修改需要应用到应用程序的一部分,则只有应用程序的一部分需要重写。
这时,选择快闪存储器56的用户程序区561作为重写区域。由于再引导程序区560不是重写区域,在快闪存储器56的重写操作期间即使发生异常,也可以在再引导程序执行之后立即开始重写再引导程序的操作,从而使在重写期间所进行的从异常状态进行恢复的工作不会占用太多时间。
由于应用程序M2仅存储在CD-ROM驱动器2中的快闪存储器56中,因此有可能简化用于重写的控制过程从而缩短进行重写所需的时间。另外,由于应用程序和再引导程序共同存储在快闪存储器56中,CD-ROM驱动器2的物理规模的增加可以被缩小,从而与两个程序分别存储在单独的存储器中相比可以与达到上述效果。
在上述实施例中再引导程序包括输入控制程序、重写控制程序和传输控制程序。因此,修改用户程序区561时,在发出对快闪存储器56进行写入的命令后主机3仅需向CD-ROM驱动器2传输待写入用户程序区561的应用程序,而不需传输重写控制程序。因此修改用户程序区561所需的处理时间可以进一步地缩短。
再引导程序区560具有重置向量BCT1及存储重置处理程序PRG1的区域。CPU51响应重置指令,通过参考重置向量BCT1执行重置处理程序PRG1。执行重置处理程序PRG1的同时,CPU51根据盘弹出开关是否被按下,判断是否选择了可以响应来自于主机3的重写命令的强制再引导方式。如果选择了强制再引导方式,CPU51在接收到重写命令输入后执行再引导程序。如果强制再引导方式未被选择,CPU51将用户程序区中的应用程序设置为可执行状态。因此,即使在快闪存储器56的重写期间发生了异常,如果执行了重置来指定强制再引导方式则CPU51可以从异常恢复过来,并返回处理快闪存储器56的重写。在这一方面,更改用户程序区所需的处理时间可以缩短。
快闪存储器56具有多个存储块BLK0-BLKn,每个存储块具有可成组地擦除的单元。由于再引导程序区和用户程序区各分配了各不相同的存储块,所以用户程序区561的擦除操作可以高效地进行。换句话说,当重写用户程序区561时,有可能同时执行擦除用户程序区561的操作。
由于ATAPI接口电路4是作为与主机3之间的接口,因此CD-ROM驱动器2在继承了过去积累起来的遵守SCSI接口规格等的盘驱动器的软件特性的同时,可以使用增强IDE等新的接口。另外,也可能降低成本。由于ATAPI接口规格遵守在个人计算机领域等广泛使用的IDE接口,CD-ROM驱动器厂商可以使用主系统作为其生产线来重写用户程序区561。个人计算机厂商可以通过使用其中组装了CD-ROM驱动器的个人计算机重写再现控制程序。
《个人计算机》
图9示出个人计算机30的一个例子,它具有内置形式的CD-ROM驱动器2。在个人计算机30中,微处理器31通过PCI(外围部件互连)总线控制器32连接到,但不限于,遵守PCI总线标准的内部总线(PCI总线)33。代表性地示出的作为外围控制器的IDE接口控制器34连接到内部总线33上,CD-ROM驱动器2通过作为接口电缆的ATAPI总线35连接到IDE接口控制器34。IDE接口控制器34执行硬盘36与内部总线之间的接口控制。微处理器31、PCI总线控制器32、内部总线33和IDE接口控制器34构成PC板(主板)37。PC板37、CD-ROM驱动器2和硬盘位于一个共同的机箱中。尽管未示出,其它外围控制器如图形加速器、提供与打印机等的并行接口的中心接口及提供软盘驱动器上的接口控制的软盘控制器也与内部总线33相连并安装在PC板上。参考图9和图1的对应部分,示于图1中的主机3对应于示于图9的操作CD-ROM驱动器的个人计算机30。
在个人计算机30中与上述方式相似,可以通过使微处理器31执行一个应用程序并把重写命令或一个新应用程序传输到CD-ROM驱动器2来容易地修改CD-ROM驱动器2的重写控制程序,而不需改变CD-ROM驱动器2和IDE接口控制器34之间的连接状态或将CD-ROM驱动器2从个人计算机30的机箱中取出。
《重写用户程序区的操作》
图10-15顺序地示出了安装在示于图9的个人计算机30中的CD-ROM驱动器2中的应用程序的操作。在图10-15的每一个图中,以放大的尺寸将CD-ROM驱动器2示出在个人计算机30的机箱38外部。
图10示出了初始状态,CD-ROM驱动器2通过ATAPI总线35连接到IDE接口控制器34。为存储了输入控制程序M1、擦除/写入控制程序M3及传输控制程序M4的再引导程序区560和存储了应用程序M2的用户程序区561分配不同的存储块。
如图11所示,如果重写应用程序,例如操作员重置CD-ROM驱动器2并按下盘弹出开关以设置CD-ROM驱动器的强制再引导方式。例如,软盘FD存储经过错误修改或旧版本升级的应用程序及用于向CD-ROM驱动器2写入应用程序的实用程序。实用程序是用于向CD-ROM驱动器2传输应用程序的传输软件。操作员将软盘FD插入个人计算机30的软盘驱动器中以启动实用程序。实用程序也可以存储在硬盘36中。
当根据由启动的传输软件所给出的指令对个人计算机执行键盘操作等时,个人计算机30的微处理器31通过IDE接口控制器34输出用于快闪存储器56的写入命令(或以前描述的厂商独特命令)。ATAPI接口电路4识别写入命令,并将中断信号42提供给CPU51。从而CPU51执行输入控制程序M1,并且首先清除缓冲RAM16的内容。
如图12所示,个人计算机30的微处理器31在写入命令之后通过IDE接口控制器34输出一个新的应用程序。CPU51执行输入控制程序M1。从而CPU51顺序地将供给ATAPI接口电路4的应用程序存入缓冲RAM16。如果奇偶校验位被加到顺序提供给接口电路4的信息上,则执行奇偶校验,并请求传输与具有错误的数据块对应的数据块。
如图13所示,新应用程序存储到缓冲RAM16中后,CPU51开始执行传输控制程序M4,从而将擦除/写入控制程序M3传输到微型计算机5的工作RAM57中。
如图14所示,向工作RAM57传输完擦除/写入控制程序M3之后,CPU51开始执行存储在工作RAM57中的擦除/写入控制程序M3。这时根据擦除/写入控制程序M3指定待擦除的块。另外,为微型计算机5提供用于写入和擦除的高电压。当执行擦除/写入控制程序M3时,首先擦除快闪存储器56的用户程序区561,验证擦除的结果。然后,如图15所示,CPU51执行顺序写入新应用程序的操作和验证写入结果的操作,其中存储在缓冲RAM16中的新应用程序作为新再现控制程序写入快闪存储器56的用户程序区561中。由擦除/写入控制程序M3指定写入地址等,但不限于该指定方法。
写入操作结束后,重新设置CD-ROM驱动器2时,CD-ROM驱动器2可以根据更改的应用程序对CD-ROM执行重写控制。
图16概括地示出了重写用户程序区操作的流程图。激活传输软件后,CPU51通过ATAPI接口4向缓冲RAM16传输由微处理器31提供的新应用程序,并将擦除/写入控制程序M3传输给工作RAM57(S20)。传输期间,CPU51进行奇偶校验或和校验以监控是否有异常传输(S21)。如果检测到异常传输,CPU51重新传输对应的应用程序。当将新应用程序传输到缓冲RAM16和将擦除/写入控制程序M3传输到工作RAM57的操作完成后,擦除用户程序区561和快闪存储器56(S23)。接着,验证写入数据(S24)。
不用说,CD-ROM驱动器厂商可以用主机3执行用户程序区561的上述重写处理,但是图10-16的处理方法也可以应用到下述情况:即当个人计算机厂商评价例如作为标准设备安装到个人计算机30上的CD-ROM驱动器期间,可以利用此方法重新安装修改过错误的应用程序。
如上参考图10-16所述的,在CD-ROM驱动器2的用户程序区561重写期间,个人计算机30的PC板37作为主机,可以通过PC板37重写CD-ROM驱动器2中的应用程序。因此,可以通过使用微处理器31改变CD-ROM驱动器2的全部或部分应用程序,如再现控制程序和接口控制程序,而不需将CD-ROM驱动器2从个人计算机30中取出。
因此,在CD-ROM驱动器2的再现速度的改变周期极短,并且CD-ROM驱动器2作为标准设备安装在个人计算机30上使得CD-ROM驱动器厂商必须准备用于CD-ROM驱动器2的应用程序,而该驱动器对于不同的个人计算机厂商具有不同的规格的情况下,在CD-ROM驱动器2的评价期间,当从CD-ROM驱动器厂商接到与应用程序相关的改错后的程序或附加功能时,个人计算机厂商可以评价安装在个人计算机30中的CD-ROM驱动器2。如前所述,CD-ROM驱动器2具有在CD-ROM驱动器2的评价期间对例如用户程序区561进行高效重写处理的功能和在重写处理期间快速地从异常状态恢复过来的能力。个人计算机厂商可以使用更改的应用程序高效地重写微型计算机5内部快闪存储器56的内容。因此,个人计算机厂商可以缩短盘驱动器的评价周期。
因此,在CD-ROM驱动器2的再现速度的更改周期极其短的情况下,个人计算机厂商可以高效地销售配置了具有较快再现速度的CD-ROM驱动器2的个人计算机30。
另外,即使用于个人计算机的OS(操作系统)被修改了(从较旧的版本进行了升级),也可以进行校正,其中该校正用于将处理与修改的OS相关的命令的接口功能反映到应用程序的接口控制程序上去。
应用程序可以由制造CD-ROM驱动器2或将CD-ROM驱动器2销售给个人计算机厂商的公司或销售个人计算机的公司提供,或由通过例如因特网等将个人计算机销售给最终用户的个人计算机厂商或公司提供。因此,有可能将应用程序及时地发送给个人计算机厂商,销售个人计算机的公司或个人计算机的最终用户。因此,如果个人计算机具有可以访问因特网的硬件或软件,经过错误修改或从较旧版本生计的再现控制程序可以容易地重新安装到用户程序区561,从而不仅可以缩短个人计算机厂商评价CD-ROM驱动器的时间,也可以容易地使最终用户更改CD-ROM驱动器的功能。
《下载擦除/写入控制程序》
在上述结构中,擦除/写入控制程序M3存放在快闪存储器56的用户程序区561中,擦除/写入控制程序M3被内部地从用户程序区561传输出去,使得CPU执行传输的程序。然而,擦除/写入控制程序M3可能不存储在快闪存储器56中,而是在用户程序区561重写时通过主机3或PC板37下载到工作RAM57中。这种情况下,由于快闪存储器56不保持擦除/写入控制程序,即使CPU51失控并偶尔地执行了存储在快闪存储器56中的程序,也不存在快闪存储器56被错误地重写的危险。
图17-22顺序地示出当快闪存储器56不保持擦除/写入控制程序M3时,重写安装在个人计算机30上的CD-ROM驱动器2的应用程序的操作。在图17-22的每一个中,CD-ROM驱动器2以放大的尺寸示出在个人计算机30的机箱之外。
图17示出初始状态,CD-ROM驱动器2通过ATAPI总线35与IDE接口控制器34相连。擦除/写入控制程序M3不存储在再引导程序区560中。
如图18所示,如果重写应用程序,则操作员重置CD-ROM驱动器2并按下盘弹出开关设置CD-ROM驱动器2中的强制再引导方式。例如,软盘FD存储经过了错误修改或旧版本升级的应用程序、由CPU51执行的将应用程序写入用户程序区561的擦除/写入控制程序由微处理器31执行的使CPU51执行用户程序区561的重写处理的实用程序。实用程序是用于传输应用程序的传输软件和CD-ROM驱动器2的擦除/写入控制程序。操作者将软盘FD插入个人计算机的软盘驱动器中以激活传输软件。实用程序也可以存储在硬盘36中。
当根据激活的传输软件所给出的指令执行对于个人计算机30的键盘操作等时,个人计算机30的微处理器31通过IDE接口控制器34输出用于快闪存储器56的写入命令(或上述厂商独特命令)。ATAPI接口电路4识别命令,并将中断信号42提供给CPU51。因此,CPU51执行输入控制程序M1,并首先清除缓冲RAM16的内容。
如图19所示,个人计算机30的微处理器31通过IDE接口控制器34将新应用程序和存储到缓冲RAM16的擦除/写入控制程序顺序输出到写入命令。CPU51执行输入控制程序M1。从而,CPU51将提供给ATAPI接口电路4的应用程序和擦除/写入控制程序顺序存储到缓冲RAM16。
如图20所示,新应用程序和擦除/写入控制程序存储到缓冲RAM16之后,CPU51开始执行传输控制程序M4。从而CPU51将存储到缓冲RAM16内部地从缓冲RAM16传输到微型计算机5的工作RAM57。
然后,如图21所示,CPU51开始执行存储在工作RAM57中的擦除/写入控制程序M3,这时根据擦除/写入控制程序M3指定待擦除的块。另外,这时,用于写入和擦除的高电压被提供给微型计算机5。当执行擦除/写入控制程序M3时,首先擦除快闪存储器56的用户程序区561,验证擦除结果。然后,如图22所示,CPU51顺序执行将存储在缓冲RAM16中的新应用程序写入快闪存储器56的用户程序区561的操作和验证写入结果的操作。写入操作结束之后,当重置CD-ROM驱动器2时,CD-ROM驱动器2可以根据更改的应用程序执行CD-ROM的再现控制。
《用户程序区的校验和》
以上所述的强制再引导方式的设置需要盘弹出开关的操作。在如下描述中,将参考CD-ROM驱动器2进行描述,该驱动器使得不仅可以设置强制再引导方式,也可以设置可以重写用户程序区561的操作方式。
与图2所示的用户程序区561不同,图23所示的用户程序区561具有作为总数存储区M21的存储区,用于存储保持在其它存储区中的信息总数。每当对用户程序区561执行写入操作时,就向总数存储区M21写入一个总数。与根据图2所描述的再引导程序区560相似,再引导程序区560具有用于存储重置向量BCT1、重置处理程序PRG1等的区域。
图24示出根据在重置时的总数使用户程序区561可重写的操作流程图。
如果发生重置中断,CPU51响应重置指令并开始通过参考重置向量BCT1执行重置处理程序PRG1(S30),将微型计算机5和其外围电路初始化(S31)。
然后,CPU51判断是否选择了可以响应重写命令的强制再引导方式(S32)。如果按下了盘弹出开关,则判断是否选择了强制再引导方式。如果选择了强制再引导方式,则如前面图2和3所示,CPU51在接收到重写命令后执行再引导程序。具体地,CPU51设置再引导标记(S33),接收到重写命令输入后激活再引导程序(S34),并向前面所描述的那样将新应用程序写入用户程序区561(S35)。在该处理的最后,CPU51计算存储在用户程序区561中的数据总数并将总数存储在总数存储区M21中。
如果在步骤32中判断出未选择强制再引导方式,CPU计算存储在用户程序区561中的数据总数(S36),并判断所计算的值与存储在总数存储区M21中的总数是否一致(S37)。
如果在步骤37中判断出所计算的值与存储在总数存储区M21中的总数不一致,CPU51在接收到重写命令后执行再引导程序。如果在步骤37中判断出所计算的值与存储在总数存储区M21中的总数一致,CPU51参考二级向量表(S38),并前进到可以执行存储在用户程序区561中的程序的状态(S39)。
在这种方式下,如果用户程序区561中的程序偶尔由于主机3、CD-ROM驱动器2等的异常操作被重写,即使未指定强制再引导方式,CPU51也可以作到自诊断并前进到仅通过再引导就可以重写用户程序区561的状态。因此,可以防止CD-ROM驱动器2的误操作。
《程序配置的另一个例子》
在上述描述中,应用程序位于快闪存储器56的用户程序区561中,再引导程序位于再引导程序区560中。但是,CD-ROM驱动器2中的程序配置可以按照如下方式改变。以图25所示的为例,向量表可以放在工作RAM57中。如果向量表放在RAM中,则可以很容易地根据CPU51的每个操作方式动态地改变向量表的内容。
图26示出快闪存储器56的地址映射的另一个例子。在图26所示的例子中,重置处理程序PRG1用于指示进行和校验、检测强制再引导方式SW(盘弹出开关)的管理等。包括在用户程序区561中的引导处理程序M23用于指示进行如存储在再引导程序区560中的每个PRG2、M1、M3及M4那样的相同的处理。具体地,即使CPU51处于可以重写用户程序区561的状态,CPU51也可以接受重写命令并重写用户程序区561。这时,既不需要进行盘弹出开关的管理也不需要进行和校验。
《写入快闪存储器的方式》
下面将结合由CD-ROM驱动器厂商(驱动器厂商)及PC厂商(个人计算机厂商)所执行的处理描述对于上述快闪存储器56的再引导程序区560和用户程序区561进行的写入操作。
图27是示出CD-ROM驱动器厂商制造CD-ROM驱动器2的程序流程图。
CD-ROM驱动器厂商从LSI厂商购买微型计算机5。其电路部分配置在印刷电路板上(PCB)(S40)。这时,按照如下任一种方式向位于微型计算机5的内部的快闪存储器56的再引导程序区560写入程序:即CD-ROM驱动器厂商用EPROM记录器执行写入操作的方式(S41);半导体厂商在制造微型计算机5的过程中写入的方式(S42);在微型计算机5安装到印刷电路板上之后(S43),将微型计算机5设置为引导方式并执行写入的方式(S46)。
如果用EPROM记录器执行写入,则如图31所示,将微型计算机5的内部总线58与外部接口的端口581(图1中未示出)连接到EPROM记录器582上。EPROM记录器582将写入高电压施加到微型计算机5上,并将微型计算机5设置为程序方式。由于被设置为程序方式的微型计算机5被认为是与由EPROM记录器582对快闪存储器LSI进行操作的效果相似,因此EPROM记录器582就可以从外部对位于微型计算机内部的快闪存储器6进行重写。在这种状态下,EPROM记录器582首先将再引导程序等写入快闪存储器56的再引导程序区560(S41)。再引导程序写入微型计算机5的再引导程序区560后,将微型计算机5安装到CD-ROM驱动器2的印刷电路板上(S44)。图31中的有些参考标记与图1中的有些电路框图相同。
如果LSI厂商已经完成对于微型计算机5所的再引导程序区560所进行的写入操作(S42),则将微型计算机5安装到CD-ROM驱动器2的印刷电路板上(S45)。
微型计算机5安装到印刷电路板上之后,如果希望将微型计算机5设置为引导方式并将程序写入再引导程序区560(S46),并如图31所示的那样,通过串行端口583例如RS23C由与微型计算机5相连的主机3进行控制。图30中的微型计算机5具有如下结构,即在图1所示的微型计算机5的上面加上SCI电路585、引导ROM586及端口587。当通过端口587从SCI电路585向微型计算机5提供写入高电压588和引导方式信号时,CPU51执行引导ROM586的引导程序。通过执行引导程序,CPU51彻底地擦除快闪存储器6并将SCI电路585初始化,从而使得微型计算机5可以通过串行端口583与主机584进行连接。CPU51执行控制以将由主机584所提供的程序写入快闪存储器56的再引导程序区560。因此前如面根据图2所描述的例如再引导程序类型的程序被写入快闪存储器56的再引导程序区560。使用串行端口583进行的写入操作的速度一般较低,这是由端口的特性所决定的。在这种情况下,没有直接用作盘访问操作的串行端口583尤其需要放在CD-ROM驱动器2的电路板上,从而必须注意CD-ROM驱动器2的电路的物理规模变得更大这个事实。如果优先考虑降低CD-ROM驱动器2的物理规模,则最好不要采用通过串行端口583写入程序的布局。
在上述步骤S44、S45及S46的任一个步骤将快闪存储器56的再引导程序区560初始化了之后,重置微型计算机5,设置强制再引导程序方式以向用户程序区561进行写入操作(S47)。然后,当从主机3发布写入命令时,再引导程序被激活,应用程序等应用程序被写入用户程序区561(S48)。判定应用程序是否被正常写入(S49),如果检测到发生了异常,则重新激活再引导程序(S50)。如果应用程序被正常写入,则微型计算机5执行写入的应用程序以对CD-ROM驱动器2进行操作测试(S51)。如果在CD-ROM驱动器2的操作测试中未发现异常,则将CD-ROM驱动器2被最终交付给PC厂商(S52)。
注意,写入快闪存储器56的再引导程序区560的操作和写入快闪存储器56的用户程序区561的操作可以不分别执行,而是如图29所示的例子那样可以同时执行。具体地,在图29所示的步骤S41A中,通过使用EPROM记录器将所有程序写入快闪存储器56的再引导程序区560和用户程序区561。在步骤S42A中,制造微型计算机5的LSI厂商写入所有程序。在步骤S43A中,CD-ROM驱动器厂商通过使用微型计算机5的引导方式写入所有程序。
图28是PC厂商使用由CD-ROM驱动器厂商所交付的CD-ROM驱动器2评价个人计算机的顺序的流程图。
PC厂商将CD-ROM驱动器厂商所交付的CD-ROM驱动器2安装到相应的个人计算机30中(S53)。这是通过ATAPI接口电路4将CD-ROM驱动器2连接到PC板37的IDE接口控制器34。在这种状态下,PC厂商访问CD-ROM驱动器2并CD-ROM驱动器2进行评价,同时是个人计算机30的微处理器31只所需的测试程序,仲裁应用程序。在该评价中,PC厂商检测CD-ROM驱动器2的应用程序中是否包括错误(S54),并且检查应用程序是否包括由其所修改了的规格部分。如果没有错误并且规格也未改变,同样类型的个人计算机作为具有没有任何问题的CD-ROM驱动器的产品被评价。PC厂商将CD-ROM驱动器2安装到这种类型的个人计算机中并将其销售给最终用户(S61)。
另一方面,如果在步骤S54检测到错误并在步骤S55检测到有待改变的规格,则将有关错误和待改变的规格的信息发送给CD-ROM驱动器厂商。这时,PC厂商不需将CD-ROM驱动器2从个人计算机30中取出并把CD-ROM驱动器2送还给CD-ROM驱动器厂商。
CD-ROM驱动器厂商根据相应信息修改应用程序(S56)。通过例如因特网等将经过校错的应用程序发送给PC厂商。所发送的经过校错的应用程序可以由在实际进行评价时所使用的个人计算机接收。然后所接收的经过校错的应用程序被写入CD-ROM驱动器的快闪存储器56中(S58)。如前所详细描述的那样,通过将微型计算机5设置为强制再引导方式,有可能在个人计算机30中立即执行写入操作。判定经过校错的应用程序是否被正常写入(S59),如果检测到异常,重新激活再引导程序(S60)。如果经过校错的应用程序被正常写入,则完成对这种类型的个人计算机的评价。在这种方式中,即使应用程序具有错误或PC厂商要更改应用程序的规格。也可以容易地将修改过的应用程序重新安装到CD-ROM驱动器2中,从而可以在已安装到个人计算机中的状态下在短时间内完成CD-ROM驱动器2。
在个人计算机交付之前,如果需要,PC厂商可以重新将经过修改的应用程序安装到CD-ROM驱动器2中,或者自己将PC厂商独特信息(CD-ROM驱动器2的ID(标识)信息)写入快闪存储器56。然后,将个人计算机交付给最终用户(S61)。
尽管本发明人所做出的发明根据实施例进行了具体描述,但是本发明不限于这些实施例,在不偏离本发明的范围和精神的条件下,可以对本发明进行各种修改。
设置再引导方式的方法不限于上述例子,可以仅用一个销售商独特命令设置再引导方式。在该情况下,通过使用销售商独特命令的译码结果,就可能使CPU执行用户再引导程序。如果在用于存储信息再现装置的大批量生产线上第一次将应用程序写入非易失存储器中,可以通过使用软件检测到在位于应用程序的开始侧的二级向量表内什么都没有存储(例如所有的位都是逻辑0或1),将控制切换为用户再引导方式。另外,快闪存储器的预定块可以由两个区构成,从而每个区都可以作为禁止重写区。区之间的切换与用户再引导方式的设置相联系,在用户再引导方式期间使用禁止写入块。上述的总数也可以不仅仅通过对用户程序区的数据进行统计,也可以通过合适的逻辑对数据进行统计。
另外,再引导程序指用于写入或重写应用程序的初始程序。因此可以理解初始程序存储在再引导程序区中。
从以上的描述可知,根据本发明的盘驱动器不仅可以广泛应用于CD-ROM驱动器,也可以用于其它记录信息再现装置或信息记录/再现装置。这种盘驱动器不仅可以安装在个人计算机上也可以安装在工作站和办公室的计算机等多种计算机上。

Claims (9)

1、一种盘驱动器,包括
访问被旋转驱动的盘的访问单元;
用于连接上述访问单元和主机的接口电路;
控制上述访问单元的动作,并且被耦合到上述接口电路的微型计算机,
其中上述接口电路接收从上述主机提供的命令,
上述微型计算机构成为在一个半导体基板上包含电可擦除非易失性存储器、访问上述非易失性存储器的中央处理装置、连接到上述接口电路第一端口和第二端口以及存储了自引导程序的ROM,进行按照上述接口电路从上述主机接收的命令的处理,
对从上述盘读取的信息实施处理后所生成的数据经由上述接口电路被输出到上述主机,
上述非易失性存储器具有禁止重写区域和可重写区域,
上述可重写区域为了控制上述访问单元存储由上述中央处理装置所执行的访问控制程序,
上述禁止重写区域存储ATAPI中断处理程序和输入控制程序,
上述中央处理装置通过执行ATAPI中断处理程序,判断从上述主机供给上述接口电路的命令是否是规定的命令,并且在从上述主机供给的命令是上述规定的命令情况下,作为根据上述规定的命令的处理,通过执行上述输入控制程序,获取经由上述接口电路从上述主机被供给的被写入到上述可重写区域的程序,
被写入到上述禁止重写区域的程序,可根据存储在上述ROM中的自引导程序,经由上述第二端口写入。
2、如权利要求1所述的盘驱动器,其特征在于:
上述盘驱动器还具有串口,
上述串口被连接到上述第二端口上。
3、如权利要求1或者2所述的盘驱动器,其特征在于:
上述微型计算机还具有串行通信接口电路,
在将程序写入上述禁止重写区域时,上述第二端口被连接到上述串行通信接口电路。
4、如权利要求1~3中的任意一项所述的盘驱动器,其特征在于:
上述自引导程序是用于控制经由上述第二端口对被写入到上述禁止重写区域的程序进行获取以及向上述禁止重写区域写入的程序。
5、如权利要求1~4任意一项所述的盘驱动器,其特征在于:
上述盘驱动器还具有缓冲RAM,
被写入到上述可重写区域的程序经由上述接口电路,从上述主机转发到上述缓冲RAM,
被存储到上述缓冲RAM中的程序被转发到上述非易失性存储器。
6、如权利要求5所述的盘驱动器,其特征在于:
上述禁止重写区域中存储重写控制程序,
上述中央处理装置根据执行上述重写控制程序,通过向上述可重写区域写入从上述主机转发到上述缓冲RAM中的程序,重写上述访问控制程序的一部分或者全部。
7、如权利要求1~6任意一项所述的盘驱动器,其特征在于:上述非易失性存储器是闪速存储器。
8、如权利要求1~7任意一项所述的盘驱动器,其特征在于:上述盘是CD-ROM、DVD、DVD-ROM、DVD-RAM、CDI、DVI或者MOD中的任意一种。
9、如权利要求1~8中所述的任意一项所述的盘驱动器,其特征在于:上述接口电路适配于一个APAPI接口。
CNB2003101138612A 1996-04-11 1997-04-09 盘驱动器 Expired - Fee Related CN100543667C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP8961396 1996-04-11
JP89613/1996 1996-04-11
JP24040196 1996-09-11
JP240401/1996 1996-09-11

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB971945861A Division CN1178129C (zh) 1996-04-11 1997-04-09 盘驱动器及计算机

Publications (2)

Publication Number Publication Date
CN1549111A CN1549111A (zh) 2004-11-24
CN100543667C true CN100543667C (zh) 2009-09-23

Family

ID=26431029

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB971945861A Expired - Fee Related CN1178129C (zh) 1996-04-11 1997-04-09 盘驱动器及计算机
CNB2003101138612A Expired - Fee Related CN100543667C (zh) 1996-04-11 1997-04-09 盘驱动器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB971945861A Expired - Fee Related CN1178129C (zh) 1996-04-11 1997-04-09 盘驱动器及计算机

Country Status (7)

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

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9713094D0 (en) * 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
US6854000B2 (en) * 1997-12-27 2005-02-08 Canon Kabushiki Kaisha Image forming apparatus and control method for the same
SE520101C2 (sv) 1998-05-13 2003-05-27 Axis Ab Integrerad krets och metod för att förmå en intgrerad krets att exekvera instruktioner
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
US6643777B1 (en) * 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
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
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 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
KR100490935B1 (ko) * 2000-08-23 2005-05-24 시게이트 테크놀로지 엘엘씨 지능형 데이터 저장 디바이스
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 株式会社東芝 ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
US7039746B2 (en) * 2002-12-03 2006-05-02 Matsushita Electric Industrial Co., Ltd. Interface circuit, disc controller, disc drive apparatus and interface control method
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 記憶制御装置及びストレージシステム
JP5016604B2 (ja) * 2006-10-04 2012-09-05 パイオニア株式会社 情報処理装置および情報処理方法
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
US10198332B2 (en) 2016-10-07 2019-02-05 Infineon Technologies Ag System on chip integrity verification method and system
US20200250326A1 (en) * 2017-10-25 2020-08-06 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

Family Cites Families (15)

* 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
JPH0281130A (ja) 1988-09-19 1990-03-22 Hitachi Ltd マイクロプログラム更新方式
DE69021732T2 (de) * 1990-12-04 1996-01-18 Hewlett Packard Ltd Wiederprogrammierbare Datenspeicherungsanlage.
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
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
TW231343B (zh) * 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
JPH0764795A (ja) 1993-08-30 1995-03-10 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
JPH06324857A (ja) 1993-05-13 1994-11-25 Toshiba Corp コンピュータシステム
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN100543667C (zh) 盘驱动器
US6253281B1 (en) Method for updating firmware of a computer peripheral device
US5608910A (en) Method for updating a control program for an information processing apparatus, and an information processing apparatus for updating a control program of an associated rewritable memory or a memory disk
US20070174682A1 (en) Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
US7376943B2 (en) Safe method for upgrading firmware of optical disk product
JPH11120113A (ja) 光ディスクドライブにおけるファームウエア コードをアップグレードする方法
US8255656B2 (en) Storage device, memory controller, and data protection method
KR100373535B1 (ko) 재기록가능한기록매체의초기화방법및장치
US7330417B2 (en) Storage device having superset format, method and system for use therewith
JPH07111007A (ja) オートチェンジャー装置
US5761168A (en) CD-ROM drive testing method
US5428755A (en) Method for automatically modifying program in a flash memory of a magnetic tape unit
KR100359200B1 (ko) 펌웨어 운용방법
KR100573639B1 (ko) 디스크드라이브장치
JP3643367B2 (ja) ディスクドライブ装置
JP3930344B2 (ja) ディスクドライブ装置
JP3393512B2 (ja) データ処理装置
KR100280972B1 (ko) Ata/ide인터페이스를 통한 광학디스크드라이브용펌웨어 코드의 업그래이드 방법 및 장치
JP2006244517A (ja) ディスクドライブ装置
JPH0778077A (ja) 磁気ディスク装置及びファームウェア制御方法
JPH10133867A (ja) データ再生装置及びデータ記録媒体
JPH07287641A (ja) 光磁気ディスク装置の制御方法
JPH0528660A (ja) 自己診断機能を有する情報記憶装置
JPH07325668A (ja) 情報記録再生装置
JPH07200284A (ja) ディスク装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090923

Termination date: 20140409