CN1097225C - 对光盘驱动器微控制器和光盘驱动器更新程序代码的方法 - Google Patents

对光盘驱动器微控制器和光盘驱动器更新程序代码的方法 Download PDF

Info

Publication number
CN1097225C
CN1097225C CN98801148A CN98801148A CN1097225C CN 1097225 C CN1097225 C CN 1097225C CN 98801148 A CN98801148 A CN 98801148A CN 98801148 A CN98801148 A CN 98801148A CN 1097225 C CN1097225 C CN 1097225C
Authority
CN
China
Prior art keywords
program code
nonvolatile memory
write
microcontroller
code
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
CN98801148A
Other languages
English (en)
Other versions
CN1236452A (zh
Inventor
T·G·R·哈尔
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1236452A publication Critical patent/CN1236452A/zh
Application granted granted Critical
Publication of CN1097225C publication Critical patent/CN1097225C/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/325Display of status information by lamps or LED's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种光盘驱动器包括一个微控制器形式的系统控制器(1)以及保持用于该微控制器的程序代码的一个FLASH存储器(22)。FLASH存储器按两个区域构成,其一为受保护区域,其中代码不能改变,其二为非保护区域,其中该微控制器能写入更新的程序代码。该更新的代码是在一接口(28)上从一个主计算机接收的。在受保护区域和微控制器ROM中的代码足以使从该主计算机请求和接收程序代码以及将接收的程序代码写入到FLASH存储器的非保护区域的基本功能得以实现。倘若在该非保护区域中的代码成为有毛病的,例如在转移代码期间出现电源故障。而这可使驱动器恢复。

Description

对光盘驱动器微控制器和光 盘驱动器更新程序代码的方法
技术领域
本发明涉及光盘驱动器以及通过输入新编程指令于由该光盘驱动器中基于微处理器的系统控制器存取的存储器中来更新这种光盘驱动器的方法。
背景技术
这种光盘驱动器通常通过一个标准接口连接到一个主计算机,常见的一个个人计算机(PC),以使得从该光盘读出的数据可以由该PC读出,CD ROM,DVD ROM,以及这种光盘的可重写版本是光盘的例子。
在CD ROM系统编程中,驱动器固件是一个值得考虑的特征,此特征可更新该驱动器以提供额外的功能度或校正已检测的运行误差。而这可通过向可典型地包括FLASH ROM的系统控制器的程序存储器下行装填新程序代码来完成。这样对于由PC读出,之后通过一标准接口送到光盘驱动器系统控制器的驱动器而言,用户可以购买或配备包含更新操作程序的软盘或其他数据载体,以使更新该光盘驱动器固件成为可能。光盘驱动器包括非易失性存储器,典型的是FLASH存储器,以储存用于该系统控制器(以下称为微控制器)的程序指令。对于编程该FLASH存储器而言,正常接受的技术首先在于从FLASH存储器到该微控制器RAM空间拷贝编程软件,之后起动硬件转换器,使微控制器识别RAM作为程序存储器。现在微控制器执行其来自RAM的程序代码,以便允许擦除在FLASH存储器中储存的该代码,以及用主PC提供的代码重写。一旦FLASH存储器已被重写,微控制器使用更新FLASH存储器作为该编程存储器恢复原状。
该方法的缺点在于期间电源故障可以是致命的,即如果电源故障发生在擦除FLASH存储器之后但确在其被重写之前,无论FLASH存储器还是该RAM的内容均丢失,由此对该微控制器而言无程序执行。这样如果在关键时刻光盘驱动器的掉电,则给用户留下了一个不能操作的不得不返回工厂的光盘驱动器。或具有写入到该FLASH存储器的原始的或更改的程序的服务操作。很清楚这是不希望有的情况。
发明内容
本发明的一个目的在于提供一种光盘驱动器,其操作程序可以通过从最后计算机转移更新程序指令来更新,该计算机在此转移期间对电源故障是比较有耐用的。
解决该问题的一种方法在于提供一种“不间断”电源,例如对驱动器关键部分特别是RAM备用电池,在该RAM中,程序代码在转移到FLASH存储器或其他非易失存储器之前被储存。已实施过这种方法,但将导致光盘驱动器的成本的增加。
本发明提供一种更新保持在微控制器的非易失性存储器内的程序代码的方法,包括如下的微控制器,该微控制器控制连接到一主计算机的光盘驱动器的操作,该方法包括步骤:
-在非易失性存储器的一个受保护的非可擦除区域提供第一程序代码,该程序代码用于执行非易失性存储器的非保护可再写区域中的第二程序代码的完整性校验,并请求和接收来自主计算机的被更新的第二程序代码,
-在该微控制器的只读存储器(ROM)中提供第三程序代码,该第三程序代码用于擦除非易失性存储器的非保护可再写区域的数据和向其写入数据,
-校验第二程序代码的完整性,如果完整性校验失败,则
-请求主计算机提供更新的第二程序代码,
-把该更新的第二程序代码接收至光盘驱动器的随机存取存储器(RAM),
-从非易失性存储器的非保护区域的至少一个选择的部分擦除第二程序代码,以及
-将该更新的第二程序代码从RAM写到非易失性存储器的非保护可
再写区域的所选择的部分。
按本发明方法具有的优点在于,如果该更新的代码的转移执行得并不令人满意,例如由于在关键步骤电源间断,驱动器能恢复和重复转移该更新代码的尝试。通过在受保护的存储器中包括足够的程序代码以使得转移代码时校验成功来体现这个优点,即据储存的程序代码执行完整性校验,并控制写程序代码至该非易失性存储器的非保护的区域。
这样如果更新的代码的转移不成功则将产生一个可视或可听告警,该告警将通知用户应当进一步尝试从该主计算机读出该程序代码。虽然该过程的主要目的在于使得能够恢复光盘驱动器,如果进行更新的程序代码的错误转移的话;它也可用于恢复校正的程序代码,如果由于任何其他原因它可能成为有毛病的话。
该方法的进一步特征还在于,可以在每次电源中断之后校验所述第二程序代码的完整性;可以在把更新的第二程序代码写到至少所述的非保护可再写区域的选定部分之后校验该第二程序代码的完整性;和/或非易失性存储器可以包括FLASH ROM。
类似地,该方法还可以进一步包括如下一个或多个步骤:起动可视和/或可听指示步骤,如果完整性校验失败;把从CD或DVD格式盘中读出的数据临时存储到RAM中,并将该临时存储的数据从RAM转移至主计算机;根据被更新的第二程序代码读CD或DVD格式盘;和/或根据被更新的第二程序代码写到CD或DVD中。
本发明还提供了相应的光盘驱动器,它包括一微控制器,用于响应储存在一非易失性存储器中的程序代码控制光盘驱动器的操作,其特征在于:用于存储程序代码的非易失存储器,该非易失性存储器包括一第一受保护的区域,在那里代码受到保护而免于擦除,以及第二非保护区域,在那里代码在微控制器控制下能重新写入,所说第一区域包含程序代码,使微控制器验证在第二区域中的程序代码的完整性;用于校验第二区域中的程序代码的完整性的装置;用于在完整性校验失败时从连接到光盘驱动器的主计算机请求更新程序代码的装置;以及用于写该接收的更新的程序代码到一随机存取存储器(RAM)中的装置;其中微控制器包括储存在只读存储器中的程序代码,用于擦除非易失性存储器的第二区域和将更新的程序代码从RAM写到该非易失性存储器的第二区域。
根据该光盘驱动器的改进方案,它还包括装置以用于在每次电源中断之后启动在所述第二非保护区域内进行程序代码的完整性校验;还包括一种装置以用于在每次将更新的程序代码写入到第二区域之后启动在所述第二非保护区域内进行程序代码的完整性校验;还包括在完整性检验失败时提供可视和/或可听指示的装置;非易失性存储器包括FLASH存储器;还包括装置以用于根据所述第二非保护区域内的程序代码来读取CD ROM或DVD ROM格式的光盘;其中所述的RAM被安排用来在转移到主计算机之前把从光盘读取的数据临时存储下来;和/或还包括装置以用于根据所述第二非保护区域内的程序代码来写到光盘上。
通过在一软光盘或其他媒介上提供新的程序代码,这样一种光盘驱动器在该范围内能够重新编程,以更新其功能度,该软光盘或其他媒介上的新程序代码能用主计算机读出并在一标准接口上转移到该微控制器的非易失性存储器。如果导至非易失性存储器中程序代码有毛病的故障发生,它仍能重新起动,只要在主计算机中或对主计算机合适的程序代码是可利用的。
附图说明
根据参照下列附图,借助本发明实施例的以下说明,本发明的上述的和其他的特征和优点将是清楚的:
图1为按本发明的光盘驱动器的方块图;
图2为特别详细地表示图1光盘驱动器的系统控制器的相互连接,块解码器/主计算机接口,以及程序代码存储器的方块图;以及
图3a和3b为说明在按本发明的光盘驱动器的系统控制器的程序存储器中的重新储存或更新程序代码的过程的流程图。
具体实施方式
图1表示按本发明的以CD ROM驱动器形式的一种光盘驱动器。如在图1中所示,该驱动器包括可采用8051型微控制器的系统控制器1,对其细节读者可参考菲利普半导体公司出版的数据手册IC 20。微控制器1通过总线2连接到伺服控制和三光束跟踪电路3,该电路3通过总线6以及驱动器电路7控制激光读出头4相对CD ROM盘5上轨迹的移动。来自激光读出头4的信号馈送到前置放大器8,在那里它们被分成通过线9馈送到解调和误差校正电路10的一个数据信号以及通过总线11馈送到伺服控制和三光束跟踪电路3的跟踪控制信号。数据代表音频信号从解调和误差校正电路10的第一输出端通过线12馈送到音频数模(D-A)转换器13,以便在14、15端上提供音频输出。由光盘5读出的数据通过总线16从解调和误差校正电路10的第二输出端馈送到块解码器17。块解码器17具有相关的RAM18并且还包括至主计算机的一个标准接口,使数据在总线28上向/从该主计算机转移。块解码器17也可采用集成电路的形式,例如借助参考类型SAA 7391由菲利普半导体公司制造并销售的集成电路。解调和误差校正电路10的第三输出端通过线19馈送到主轴电机20,该电机在速度受到控制条件下旋转光盘5,使数据按要求的数据率从该光盘5读出。
总线21互连系统微控制器1,解调和误差校正电路10,块解码器17和包含用于系统控制器1的程序代码的FLASH存储器22。提供的锁存器23使地址位AD7-AD0共享具有数据位D7-D0的总线。用户接口24通过路径25连接到微控制器1。使用户的命令能够输入,例如打开或关闭用于加载或卸载光盘的拔取工具以及形成状态指示,例如照亮指示器表示该驱动器处于运行状态。在路径26上从微控制器(到FLASH存储器22馈送许多控制信号)。
图1中所示的光盘驱动器按常规操作从光盘5读取数据,将数据送到主计算机,并使用按储存在FLASH存储器22中的程序操作的系统控制器1,响应由主计算机传送的指令将访问光盘5上的适宜的轨迹。
但是,当一用户接收操作系统更新时,配置的光盘驱动器从主计算机读出新的编程信息,并以比现有技术的驱动器更安全的方式接收并储存它。这可以通过在FLASH存储器22的受保护的部分中包括用于微控制器1的基本引导程序指令来实现,它是不能擦除的并将检验在FLASH存储器22的剩余部分中的程序信息是否完整和无毛病的,以及放在微控制器1ROM中的另外的程序指令,该另外的程序指令是使微控制器将数据从RAM18转移到FLASH存储器22所要求的那些指令。因此,如果遭受到的电源故障导致程序代码既从FLASH存储器22(因为明显的是微控制器1执行擦除功能在后而它从RAM18写入新代码在前)又从RAM 18擦除,则通过从主计算机重读程序指令,驱动器能够恢复,只要在微控制器1中的FLASH存储器22和ROM的受保护部分中存在足够的程序指令。
图2表示微控制器1,块解码器17和FLASH存储器22特别详细的互连接。微控制器1通过传输地址位A15-A8的地址总线200以及通过以时分多路复用形式传输或地址位A7-A0或数据位D7-D0的组合数据和地址总线201连接到块解码器17和闪速存储器22。一总线锁存器202使地址位A7-A0保持,而数据位D7-D0加到总线201,地址位A7-A0通过总线203加到FLASH存储器22。在光盘驱动器正常操作期间,锁存器202通过在微控制器1的输出端204产生的并通过多路复用器210的一信号地址锁存允许(ALE)启动。在FLASH存储器22的重新编程期间,锁存器202通过微控制器1输出端211并通过受信号FPMux控制的多路复用器210的信号闪速地址锁存器允许(FALE)启动,该信号FPMux是在当数据从FLASH存储器22擦除或写入FLASH存储器22时在微控制器1的一输出端208产生的。微控制器1的输出端205和206向块解码器17分别提供读和写控制信号,同时当FLASH存储器更新通过多路复用器207发生时输出端205向FLASH存储器提供一读控制信号,多路复用器207受到由微控制器1产生的FPMux信号控制。微控制器1的输出端209提供通过多路复用器207加到FLASH存储器22的一输入端220的一程序储存允许(PSEN)信号,并在光盘驱动器正常操作期间该信号起动微控制器1存取来自FLASH存储器22的程序代码。另一个受信号FPMux控制的多路复用器212在FLASH存储器22重新编程期间禁止由块解码器17读取数据。信号FWR在微控制器1的一输出端213产生,以使程序代码写入到FLASH存储器22,同时当期待擦除和重写程序代码时在微控制器1的一输出端214产生另一信号Fpen,以便将起动电压加到FLASH存储器。在光盘驱动器正常操作情况下,无电压由该信号加到FLASH存储器22,因此由程序故障引起的FLASH存储器22的无意中的变更受到抑制。当驱动器接通时,输入端215接收一个复位脉冲,使微控制器1和FLASH存储器22设置到初始状态,在该状态微控制器1开始从FLASH存储器22的受保护区域读程序指令,并且FLASH存储器22的内容将受到检验,以保证它们不变成有毛病的。微控制器1的另一输出口221提供地址位A16和A17使容量更大的FLASH存储器直接由使用分成许多分开的编址页面的FLASH存储器的微控制器1编址。
FLASH存储器22包括基本引导程序代码,它使微控制器1能执行基本功能并校验FLASH存储器22是否包含非有毛病的程序代码以使光盘驱动器正确操作。如果初始化程序检测到程序代码已有毛病,例如这是由于已进行了更新程序代码的错误尝试的原故,则它能发一个故障情况信号,响应该信号用户可使主计算机尝试重写程序代码至FLASH存储器22。FLASH存储器22的受保护的地址包括使微控制器执行包括向用户指示一故障情况的基本操作所必要的程序代码,以便警告用户从主计算机装载该程序代码到光盘驱动器的必要性。在FLASH存储器22的受保护区域中的程序代码还包括有必要使微控制器1将从主计算机转移的代码写入RAM18。微控制器1还包括程序ROM,该程序ROM包含必要的子程序,用于将程序代码从RAM18写入FLASH存储器22。因此,即使程序代码从FLASH存储器22的非保护区和从RAM18丢失,它能够使用主计算机接口根据在软盘(或其他盘)上提供的代码重建。因此对用户而言无必要凭借厂商或服务组织使光盘驱动器恢复到工作条件,但仅仅有必要重新运行该程序模式,以便转移来自主计算机的代码。
而在该实施例中在微控制器1的程序ROM中包括执行写数据于FLASH存储器22中的低级代码,高级程序代码包括在FLASH存储器的受保护的区域中,这种特定的划分对执行本发明是不重要的,但是在本实施例中是特别方便的。在微控制器1中的代码包含特定的子程序,它可以根据使用的特定型式的FLASH存储器(或其他的非易失性存储器)进行选择。由那些本专业技术人员将理解的是,由不同厂商生产的FLASH存储器要求不同的操作对它们擦除和/或写入数据,并且这些程序储存在微控制器ROM中大量的不同的存储器。这样光盘驱动器厂商并不只限制在单一的FLASH存储器类型上,并且如果使用不同类型的FLASH存储器,微控制器并非需要重新编程。
图3为说明按本发明输入程序代码到非易失性存储器中方法的流程图。在方块301,起动光盘驱动器,在方块302,第一操作是检验FLASH存储器22内容的完整性。这是在储存在FLASH存储器22中的受保护部分的程序指令的控制下,即不能在软件控制下擦除的该FLASH存储器22的那部分储存的程序指令控制下执行的。如果检验成功执行,方块303输出Y,然后在方块304终止处理。如果检验指出在FLASH存储器22中的程序代码已成为有毛病的,方块303输出N,然后在方块305形成对主计算机的一个请求,要求提供非有毛病的程序代码。有毛病程序代码的最可能的原因是在此前讨论的更新该程序代码期间的关键时刻的电源故障。此后程序进入一个循环,其中在方块306,当主计算机响应该请求时它被检验,在方块307,当光盘驱动器检测来自该主计算机的响应时它进入程序模式,其中它本身准备接收来自该主计算机的程序代码并将其写入FLASH存储器22。在方块308,在该程序中的第一个处理是从主计算机读出N-字节的程序代码。在方块309,这些N-字节程序代码被储存在RAM18中。在程序下一步骤,即在方块310,是启动FLASH存储器程序,在方块311,该程序使微控制器1擦除来自FLASH存储器22的目标区域的程序代码,然后在方块312将该N-字节代码从RAM18转移到在FLASH存储器22中的选择的存储单元。在方块313形成检验关于所有程序代码是否已经转移,如果否,程序返回方块308,使得自主计算机取下一个N-字节程序代码以及重复方块308-312说明的步骤,直到所有程序代码转移完成为止。当完成此处理,在方块314执行检验FLASH存储器22中的程序代码的完整性,并在方块315判定关于该转移是否已成功地完成。如果是,则程序在方块316终止,而如果否,程序循环返回到方块305,在那里主计算机被请求提供程序代码,并作出进一步尝试将该程序代码转移到FLASH存储器22。
上面的程序描述当接通时检测到程序代码已成为有毛病时,它如何被重新储存在FLASH存储器22中。当希望用一种更新方式取代FLASH存储器22中的目前的程序代码时,存在对该程序进一步输入的情况,该更新的方式可以给出光盘驱动器附加的功能度。在这种情况下,在方块317,主计算机将向光盘驱动器发出更新该程序代码的请求。在方块307,这使光盘驱动器进入程序模式,并且用于更新该程序代码的程序将跟随和重新储存有毛病程序代码那样的相同的步骤。
根据阅读了当前的公开,对本专业技术人员而言进行另外的修改将是显见的。这样的修改可以包括在设计和使用光盘驱动器以及其他部件部分中已知的其他特征,并可以用来替代或附加到已在此描述的特征上。虽然在本申请中对具体特征的组合已明确阐明权利要求,然而应当理解,本发明公开的范围同样包括任一新的特征,或在此显或隐公开的特征的任一组合,或这些特征的一个或多个的任一综合,而所有这些对专业技术人员而言都是显而易见的,而不管它是否涉及和目前在任一权利要求中所要求的申请专利范围是相同的发明,以及是否解决和本发明要协调的任一或所有相同的技术问题。申请人因此给出指示,在执行本申请或任一由其导出的另一申请时,新的 可以明确阐明这样一些特征和/或这样一些特征的组合。

Claims (17)

1.一种更新保持在微控制器的非易失性存储器中的程序代码的方法,该微控制器控制连接到主计算机的光盘驱动器的操作,该方法包括步骤:
-在非易失性存储器的一个受保护的非可擦除区域提供第一程序代码,该程序代码用于执行非易失性存储器的非保护可再写区域中的第二程序代码的完整性校验,并请求和接收来自主计算机的被更新的第二程序代码,
-在该微控制器的只读存储器(ROM)中提供第三程序代码,该第三程序代码用于擦除非易失性存储器的非保护可再写区域的数据和向其写入数据,
-校验第二程序代码的完整性,如果完整性校验失败,则
-请求主计算机提供更新的第二程序代码,
-把该更新的第二程序代码接收至光盘驱动器的随机存取存储器(RAM),
-从非易失性存储器的非保护区域的至少一个选择的部分擦除第二程序代码,以及
-将该更新的第二程序代码从RAM写到非易失性存储器的非保护可再写区域的所选择的部分。
2.如权利要求1的方法,还包括步骤:在每次电源中断之后校验所述第二程序代码的完整性。
3.如权利要求1所述的方法,其中在把更新的第二程序代码写到所述的非保护可再写区域的选定部分之后校验该第二程序代码的完整性。
4.如权利要求1的方法,还包括起动可视和/或可听指示步骤,如果完整性校验失败。
5.如权利要求1的方法,其中非易失性存储器包括FLASH ROM。
6.如权利要求1的方法,还包括把从CD或DVD格式盘中读出的数据临时存储到RAM中,并将该临时存储的数据从RAM转移至主计算机。
7.如权利要求1的方法,还包括根据被更新的第二程序代码读CD或DVD格式盘的步骤。
8.如权利要求1的方法,还包括根据被更新的第二程序代码写到CD或DVD中的步骤。
9.一种光盘驱动器,包括一微控制器,用于响应储存在一非易失性存储器中的程序代码控制光盘驱动器的操作,其特征在于:
用于存储程序代码的非易失存储器,该非易失性存储器包括一第一受保护的区域,在那里代码受到保护而免于擦除,以及第二非保护区域,在那里代码在微控制器控制下能重新写入,所说第一区域包含程序代码,使微控制器验证在第二区域中的程序代码的完整性,
用于校验第二区域中的程序代码的完整性的装置,
用于在完整性校验失败时从连接到光盘驱动器的主计算机请求更新程序代码的装置,以及
用于写该接收的更新的程序代码到一随机存取存储器(RAM)中的装置,
其中微控制器包括储存在只读存储器中的程序代码,用于擦除非易失性存储器的第二区域和将更新的程序代码从RAM写到该非易失性存储器的第二区域。
10.如权利要求9的驱动器,还包括装置以用于在每次电源中断之后启动在所述第二非保护区域内进行程序代码的完整性校验。
11.如权利要求9的驱动器,还包括一种装置以用于在每次将更新的程序代码写入到第二区域之后启动在所述第二非保护区域内进行程序代码的完整性校验。
12.如权利要求9的驱动器,还包括在完整性检验失败时提供可视和/或可听指示的装置。
13.如权利要求9的驱动器,其中非易失性存储器包括FLASH存储器。
14.如权利要求9的驱动器,还包括装置以用于根据所述第二非保护区域内的程序代码来读取CD ROM或DVD ROM格式的光盘。
15.如权利要求9的驱动器,其中所述的RAM被安排用来在转移到主计算机之前把从光盘读取的数据临时存储下来。
16.如权利要求9的驱动器,还包括装置以用于根据所述第二非保护区域内的程序代码来写到光盘上。
17.一种更新保持在微控制器的非易失性存储器中的程序代码的方法,该微控制器连接在主计算机上,该方法包括步骤:
-在非易失性存储器的一个受保护的非可擦除区域提供第一程序代码,该程序代码用于执行非易失性存储器的非保护可再写区域中的第二程序代码的完整性校验,并请求和接收来自主计算机的被更新的第二程序代码,
-在该微控制器的只读存储器(ROM)中提供第三程序代码,该第三程序代码用于擦除非易失性存储器的非保护可再写区域的数据和向其写入数据,
-校验第二程序代码的完整性,如果完整性校验失败,则
-请求主计算机提供更新的第二程序代码,
-把该更新的第二程序代码接收至光盘驱动器的随机存取存储器(RAM),
-从非易失性存储器的非保护区域的至少一个选择的部分擦除第二程序代码,以及
-将该更新的第二程序代码从RAM写到非易失性存储器的非保护可再写区域的所选择的部分。
CN98801148A 1997-06-21 1998-06-11 对光盘驱动器微控制器和光盘驱动器更新程序代码的方法 Expired - Fee Related CN1097225C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9713094.2 1997-06-21
GBGB9713094.2A GB9713094D0 (en) 1997-06-21 1997-06-21 Optical disc drive

Publications (2)

Publication Number Publication Date
CN1236452A CN1236452A (zh) 1999-11-24
CN1097225C true CN1097225C (zh) 2002-12-25

Family

ID=10814694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98801148A Expired - Fee Related CN1097225C (zh) 1997-06-21 1998-06-11 对光盘驱动器微控制器和光盘驱动器更新程序代码的方法

Country Status (9)

Country Link
US (1) US6253281B1 (zh)
EP (1) EP0932868A2 (zh)
JP (1) JP2001506388A (zh)
KR (1) KR20000068206A (zh)
CN (1) CN1097225C (zh)
BR (1) BR9806052A (zh)
GB (1) GB9713094D0 (zh)
TW (1) TW412725B (zh)
WO (1) WO1998059296A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669046B2 (en) 2004-08-03 2010-02-23 Panasonic Corporation Data processing apparatus and firmware update method

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100248757B1 (ko) * 1997-12-20 2000-03-15 윤종용 손상된 롬 바이오스 복구 방법
JP2000242598A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd ファームウェア更新システムおよびその更新方法
DE59900545D1 (de) 1999-04-10 2002-01-24 Basis Gmbh Edv Vertriebs Ges Datenträger mit wiederherstellbarem Basisdatengrundzustand und Verfahren zu dessen Herstellung
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6631520B1 (en) * 1999-05-14 2003-10-07 Xilinx, Inc. Method and apparatus for changing execution code for a microcontroller on an FPGA interface device
JP2001027953A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp 半導体記憶装置
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
JP4543458B2 (ja) * 1999-10-29 2010-09-15 セイコーエプソン株式会社 出力システム、出力装置、ホスト装置、これらの制御方法、および、情報記録媒体
JP2001125781A (ja) * 1999-10-29 2001-05-11 Matsushita Electric Ind Co Ltd マイクロプロセッサ、およびマイクロプロセッサにおけるプログラム変更方法
TW460786B (en) * 1999-12-09 2001-10-21 Via Tech Inc System to reprogram the content value of the flash memory of the peripheral device and the method thereof
US6789157B1 (en) * 2000-06-30 2004-09-07 Intel Corporation Plug-in equipped updateable firmware
US6925522B2 (en) * 2000-10-26 2005-08-02 Lite-On It Corporation Device and method capable of changing codes of micro-controller
JP2002182941A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd 情報記録再生装置及びコンピュータ読取り可能な記録媒体
JP4281252B2 (ja) * 2001-01-16 2009-06-17 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
US8458689B2 (en) * 2001-03-30 2013-06-04 Roderick A. Barman Method and apparatus for reprogramming engine controllers
US6868460B1 (en) * 2001-06-05 2005-03-15 Silicon Motion, Inc. Apparatus for CD with independent audio functionality
US6615329B2 (en) * 2001-07-11 2003-09-02 Intel Corporation Memory access control system, apparatus, and method
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
DE10141894A1 (de) * 2001-08-28 2003-06-26 Siemens Ag Vorrichtung für den Einsatz in Bussystemen
DE10146611A1 (de) * 2001-09-21 2003-04-10 Abb Patent Gmbh Busteilnehmergerät und Verfahren zur Änderung, Erweiterung und Fehlerkorrektur von blockweise gespeicherten Daten in einem Mikrocontroller eines Busteilnehmers
DE10146609A1 (de) * 2001-09-21 2003-04-10 Abb Patent Gmbh Busteilnehmergerät mit integriertem Flash-Speicher und Verfahren zur Änderung, Erweiterung und Fehlerkorrektur von in einem Mikrocontroller gespeicherten Daten
US7320126B2 (en) * 2001-11-06 2008-01-15 Sandisk Corporation Implementation of in system programming to update firmware on memory cards
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US6782448B2 (en) * 2002-04-02 2004-08-24 International Business Machines Corporation Transparent code update in an automated data storage library
TWI278750B (en) * 2002-09-05 2007-04-11 Mediatek Inc System and method which updates firmware in a non-volatile memory without using a processor
JP2004127386A (ja) * 2002-09-30 2004-04-22 Mitsumi Electric Co Ltd 光ディスク装置、ファームウェアアップデート方法、そのプログラム及び記録媒体
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US20040122989A1 (en) * 2002-12-20 2004-06-24 Lyman Hall Method of determining code to download for runtime configuration
KR20040065495A (ko) * 2003-01-14 2004-07-22 삼성전자주식회사 마이콤을 갖는 전자기기 및 그 펌웨어 갱신 방법
US7274477B2 (en) * 2003-01-24 2007-09-25 Hewlett-Packard Development Company, L.P. Printer with access to remote file system
US6944758B2 (en) * 2003-03-31 2005-09-13 Giga-Byte Technology Co., Ltd. Backup method for interface BIOS by making backup copy of interface BIOS in system BIOS and executing backup interface BIOS in system BIOS if error occurs
US20040246516A1 (en) * 2003-06-03 2004-12-09 Curtis Reese Hard imaging systems, hard imaging management devices, hard imaging devices, articles of manufacture, hard imaging device operational methods, and hard imaging device configuration methods
JP2005038382A (ja) 2003-06-26 2005-02-10 Sanyo Electric Co Ltd 制御装置及びデータ書き込み方法
JP2005071560A (ja) * 2003-08-01 2005-03-17 Sanyo Electric Co Ltd 制御装置及びデータ書き込み方法
US6996635B2 (en) * 2003-08-22 2006-02-07 International Business Machines Corporation Apparatus and method to activate transparent data storage drive firmware updates
US7099967B2 (en) * 2003-12-22 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for storing an image file in a computer system
US7103687B2 (en) * 2003-12-22 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for providing an image file in a computer system
KR100564613B1 (ko) * 2004-02-25 2006-03-29 삼성전자주식회사 플래시 메모리 및 광 드라이브의 펌웨어 모듈 동적 로딩동작 방법
KR20070011508A (ko) * 2004-04-20 2007-01-24 코닌클리케 필립스 일렉트로닉스 엔.브이. 광 드라이브의 펌웨어 및 모든 프로그램가능 콘텐츠 복원
US20050265266A1 (en) * 2004-05-25 2005-12-01 Chih-Chiang Wen Optical disc drive that downloads operational firmware from an external host
US20050268029A1 (en) * 2004-05-25 2005-12-01 Chih-Chiang Wen Optical Disc Drive that Downloads Operational Firmware from an External Host
US20080301358A1 (en) * 2004-05-25 2008-12-04 Chih-Chiang Wen Electronic device that Downloads Operational Firmware from an External Host
JP4759983B2 (ja) * 2004-11-04 2011-08-31 船井電機株式会社 ディスク装置のファームウェア書き換え方法、及びファームウェア書き換えプログラム
US7522732B2 (en) * 2004-11-09 2009-04-21 Lexmark International, Inc. Method for controlling the distribution of software code updates
US20060120191A1 (en) * 2004-12-06 2006-06-08 Mediatek Incorporation Systems and methods for optical drive operation
TW200625281A (en) * 2005-01-04 2006-07-16 Realtek Semiconductor Corp Optical disk drive and program code updating method thereof
CN100340983C (zh) * 2005-07-18 2007-10-03 杭州华三通信技术有限公司 对非易失可编程逻辑器件在线升级的方法及装置
CN100373334C (zh) * 2005-12-30 2008-03-05 四川长虹电器股份有限公司 存储器数据升级方法及系统
KR100703806B1 (ko) 2006-02-16 2007-04-09 삼성전자주식회사 비휘발성 메모리, 이를 위한 데이터 유효성을 판단하는장치 및 방법
JP4818793B2 (ja) 2006-04-20 2011-11-16 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びメモリアクセスの制御方法
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US9348730B2 (en) * 2007-01-31 2016-05-24 Standard Microsystems Corporation Firmware ROM patch method
US20090083475A1 (en) * 2007-09-24 2009-03-26 Mediatek Inc. Apparatus and method for updating firmware stored in a memory
JP5142685B2 (ja) * 2007-11-29 2013-02-13 株式会社東芝 メモリシステム
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
JP5269020B2 (ja) * 2010-09-22 2013-08-21 株式会社東芝 半導体集積回路装置およびメモリの管理方法
US20130166893A1 (en) * 2011-12-23 2013-06-27 Sandisk Technologies Inc. Auxiliary card initialization routine
TWI520148B (zh) * 2012-07-05 2016-02-01 慧榮科技股份有限公司 記憶體裝置和記憶體控制方法
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US8868796B1 (en) 2013-04-18 2014-10-21 Otter Products, Llc Device and method for updating firmware of a peripheral device
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
JP2019040571A (ja) * 2017-08-29 2019-03-14 オンキヨー株式会社 電子機器
JP6961553B2 (ja) * 2018-08-30 2021-11-05 株式会社東芝 情報処理装置、システム及び方法
CN116541042B (zh) * 2023-05-25 2024-01-16 深圳市航顺芯片技术研发有限公司 一种固件升级方法、控制芯片和智能家电

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0524719A2 (en) * 1991-05-29 1993-01-27 Dell Usa L.P. Computer system with alterable bootstrapping software
JPH0764795A (ja) * 1993-08-30 1995-03-10 Toshiba Corp コンピュータシステム
JPH08161160A (ja) * 1994-11-30 1996-06-21 Toshiba Corp 光ディスク再生装置のファームウエア更新方法
US5579522A (en) * 1991-05-06 1996-11-26 Intel Corporation Dynamic non-volatile memory update in a computer system
US5630139A (en) * 1994-02-10 1997-05-13 Nec Corporation Program download type information processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5494850A (en) 1978-01-11 1979-07-26 Nissan Motor Arithmetic processor
US5021963A (en) 1988-12-30 1991-06-04 Pitney Bowes Inc. EPM having an improvement in accounting update security
US5535355A (en) 1989-04-06 1996-07-09 Kabushiki Kaisha Toshiba Controller for a storage device which allows either prestored or user defined firmware to be executed
EP0393631B1 (en) 1989-04-20 1996-10-30 Sanyo Electric Co., Ltd Initial process system after cutoff of power source and corresponding process system
US5327531A (en) 1992-09-21 1994-07-05 International Business Machines Corp. Data processing system including corrupt flash ROM recovery
US5537654A (en) * 1993-05-20 1996-07-16 At&T Corp. System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address
KR100568642B1 (ko) * 1996-04-11 2006-04-07 가부시끼가이샤 히다치 세이사꾸쇼 Atapi 디스크 드라이브 장치
US5987581A (en) * 1997-04-02 1999-11-16 Intel Corporation Configurable address line inverter for remapping memory
US6012961A (en) * 1997-05-14 2000-01-11 Design Lab, Llc Electronic toy including a reprogrammable data storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579522A (en) * 1991-05-06 1996-11-26 Intel Corporation Dynamic non-volatile memory update in a computer system
EP0524719A2 (en) * 1991-05-29 1993-01-27 Dell Usa L.P. Computer system with alterable bootstrapping software
JPH0764795A (ja) * 1993-08-30 1995-03-10 Toshiba Corp コンピュータシステム
US5630139A (en) * 1994-02-10 1997-05-13 Nec Corporation Program download type information processor
JPH08161160A (ja) * 1994-11-30 1996-06-21 Toshiba Corp 光ディスク再生装置のファームウエア更新方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669046B2 (en) 2004-08-03 2010-02-23 Panasonic Corporation Data processing apparatus and firmware update method

Also Published As

Publication number Publication date
TW412725B (en) 2000-11-21
GB9713094D0 (en) 1997-08-27
BR9806052A (pt) 1999-08-31
WO1998059296A2 (en) 1998-12-30
EP0932868A2 (en) 1999-08-04
WO1998059296A3 (en) 1999-04-01
CN1236452A (zh) 1999-11-24
US6253281B1 (en) 2001-06-26
JP2001506388A (ja) 2001-05-15
KR20000068206A (ko) 2000-11-25

Similar Documents

Publication Publication Date Title
CN1097225C (zh) 对光盘驱动器微控制器和光盘驱动器更新程序代码的方法
US6625748B1 (en) Data reconstruction method and system wherein timing of data reconstruction is controlled in accordance with conditions when a failure occurs
US6904457B2 (en) Automatic firmware update of processor nodes
CN1282078C (zh) 用于固件更新的方法和装置
EP0559487B1 (en) Handling data in a system having a processor for controlling access to a plurality of data storage disks
US6553532B1 (en) Method and apparatus for recording and reproducing information on and from disk
US6895469B2 (en) Disk array apparatus and parity processing method therein
KR100316981B1 (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법
US6816981B2 (en) Disk array device including a memory with backup power supply and method thereof
JPH11161563A (ja) データの記憶および再生方法
JP2790134B1 (ja) ディスクアレイシステム
JP4480815B2 (ja) メモリ書き換え方法及びコンピュータシステム
US6546455B1 (en) Method and device for modifying the memory contents of control equipment
US20060130039A1 (en) Update control program, update control method, and update control device
US7171518B2 (en) Data storage system recovery from disk failure during system off-line condition
JP2868001B1 (ja) ディスクアレイ装置制御方法およびディスクアレイ装置
JP2002373059A (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JPH07168769A (ja) 不揮発性メモリに対するデータ更新方法
JP2002108721A (ja) ディスクアレイ装置
CN113821372A (zh) 用于容错地存储用户数据的方法
JP2001334057A (ja) 遊技機の管理装置
JPH04336642A (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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee