CN100363886C - 光碟系统控制晶片及其固件程序更新方法 - Google Patents

光碟系统控制晶片及其固件程序更新方法 Download PDF

Info

Publication number
CN100363886C
CN100363886C CNB031003885A CN03100388A CN100363886C CN 100363886 C CN100363886 C CN 100363886C CN B031003885 A CNB031003885 A CN B031003885A CN 03100388 A CN03100388 A CN 03100388A CN 100363886 C CN100363886 C CN 100363886C
Authority
CN
China
Prior art keywords
memory
mentioned
microprocessor
read
macroelement
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
CNB031003885A
Other languages
English (en)
Other versions
CN1517857A (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Priority to CNB031003885A priority Critical patent/CN100363886C/zh
Publication of CN1517857A publication Critical patent/CN1517857A/zh
Application granted granted Critical
Publication of CN100363886C publication Critical patent/CN100363886C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Optical Recording Or Reproduction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种光碟系统控制晶片及其固件程序更新方法,具有以硬件控制更新只读存储器的程序代码的功能。该光碟系统控制晶片包含:一微处理器;一解码器;一控制器,该控制器与解码器连接,用以接收该光碟系统的控制信号与资料;一额外存储器,用以储存微处理器的执行程序,并与微处理器连接;一直接存储器(DMA)存取单元,用以读取外部缓冲存储器的资料;以及一宏单元,用以接收DMA单元输出的资料,并将该资料写入只读存储器。在更新只读存储器的程序时,是以额外存储器作为微处理器的程序执行空间,且微处理器将控制信号输出至DMA单元与宏单元,利用该宏单元与DMA单元以硬件方式将缓冲存储器的资料写入只读存储器。

Description

光碟系统控制晶片及其固件程序更新方法
技术领域
本发明涉及光碟系统控制晶片及其固件程序更新方法,特别涉及利用宏单元与直接存储器存取(DMA)单元进行固件更新动作的光碟系统控制晶片及其固件程序更新方法。
背景技术
请参阅图1,图1是一般光碟机系统(optical driver,如CD-ROM)的控制架构图。如该图所示,该光碟机系统10利用光学读取头(optical pickup)(配置在主轴马达及光学头组件102中)撷取光碟片(disk)所储存的资料,并输出射频讯号(Radio frequency signal)。该射频讯号经由射频放大控制器(RF amplifierand controller)110处理后,将讯号输出到解码器(decoder)114。解码器114将解码后的信号储存在缓冲存储器(buffer memory)116。微处理器(micro-processor)112用来控制该光碟机系统10的操作与功能,例如控制射频放大控制器110、解码器114、驱动主轴马达101、以及控制载具马达及光学头组件102的位置等。微处理器112还连接到一只读存储器118,用以从该只读存储器118读取固件(firmware)资讯,例如程序与指令,来进行光碟机系统10的控制与操作。使用者即可利用主机122经由一主机界面(host interface)120读取缓冲存储器116的资料。
由于电脑工业发展迅速,硬件周边也随之快速发展,光碟机系统也不例外。为了使光碟机系统的功能与操作能持续更新,一般是更新储存在只读存储器的固件程序。一般光碟机系统在进行固件程序更新时,是将所执行的更新程序以及所要更新的资料一同储存在只读存储器中。此方式将降低只读存储器可使用的空间以及增加固件程序更新的时间。
另外,台湾发明第087118506号专利“光碟系统控制晶片与其程式更新方法”提出另一种更新方法。图2所示为该专利的控制晶片架构图。该控制晶片200包含一额外存储器202、一微处理器204、一解码器206、以及一控制器208。该专利提出的方法是在更新固件程序时,将要执行更新的程序暂存于额外存储器202,而将快闪式ROM(只读存储器)210视为一资料储存空间。该方法不会占用只读存储器210可使用的空间,且可增加固件程序更新的速度。但是,此方法有一个缺点,亦即不管是读取程序或是将资料写入只读存储器,均由微处理器以软件方式处理,而造成在写入资料时,微处理器无法进行其他工作,例如与主机进行资料存取。而且,由微处理器执行软件来计算额外存储器的位址需要较长的时间。
发明内容
有鉴于上述问题,本发明的目的是提供一种具有宏单元的光碟系统控制晶片及其固件程序更新方法,用来利用该宏单元以硬件控制方式来执行固件程序的更新控制。
为达成上述目的,本发明光碟系统控制晶片包含:
一微处理器,用来控制该光碟系统的动作;
一解码器,由上述微处理器控制,且连接至一外部缓冲存储器以及一主机界面;
一控制器,由上述微处理器控制,且与上述解码器连接,用以接收该光碟系统的控制信号与资料;
一额外存储器,储存上述微处理器的执行程序或一般资料,并与上述微处理器连接;
一直接存储器存取(DMA)单元,由上述微处理器控制,用以读取上述外部缓冲存储器的资料;
以及一宏单元,由上述微处理器控制,并接收上述直接存储器存取单元输出的资料,并将该资料写入只读存储器;
其中,该光碟系统控制晶片在更新只读存储器资料时,是以上述额外存储器做为上述微处理器的程序执行空间,且该微处理器将控制信号输出至上述直接存储器存取单元与宏单元,利用该宏单元与直接存储器存取单元以硬件方式将上述缓冲存储器的资料写入上述只读存储器。
该只读存储器为快闪式只读存储器。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出缓冲存储器的起始位置以及资料长度到上述直接存储器存取单元。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出开始烧录信号以及结束烧录信号给上述宏单元。
该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器接收上述宏单元的内部状态信号,用以监控宏单元的动作。
一种光碟系统固件程序更新方法,经由一宏单元与直接存储器存取单元以硬件控制方式将欲更新的固件程序由一缓冲存储器写入一只读存储器中,该方法包含下列步骤:
载入更新程序,将更新程序载入一额外存储器,用以在进行更新动作时,由一微处理器执行该额外存储器的更新程序;
载入程序代码,将欲更新的固件程序载入上述缓冲存储器;设定直接存储器存取单元与宏单元,由上述微处理器计算固件程序储存在上述缓冲存储器的起始位置,以及该固件程序的长度,并将起始位置与长度输入直接存储器存取单元,且将上述只读存储器的起始位址设定在上述宏单元;
程序代码写入,由上述微处理器产生开始信号给上述宏单元与直接存储器存取单元,用以驱动上述直接存储器存取单元从上述缓冲存储器读出资料并传给上述宏单元,该宏单元即将资料写入上述只读存储器中;
结束更新动作,当程序代码已写入完毕时,由上述微处理器产生结束信号给宏单元与直接存储器存取单元,用以停止宏单元与直接存储器存取单元的动作,并切换至一般操作模式。
光碟系统固件程序更新方法在所述程序代码写入步骤中还包含监控宏单元状态,由上述微处理器监控该宏单元的内部状态。
由于程序代码写入动作是由宏单元与DMA单元以硬件控制方式将程序代码写入只读存储器中,因此速度比利用软件计算位址的方式要快。而且,由于程序代码写入动作是由宏单元与DMA单元以硬件控制方式,微处理器在监控宏单元状态之余,还可以处理其他工作,例如经由主机界面与主机传递资料,或报告写入进度与状态。
附图说明
图1是一般光碟机系统的控制架构图;
图2是习知光碟系统的控制晶片架构图;
图3是本发明光碟系统控制晶片架构图;
图4是本发明光碟系统控制晶片在一般操作时的资料流向;
图5是本发明光碟系统控制晶片在进行资料更新时的资料流向;
图6是本发明光碟系统控制晶片在固件更新模式时的流程图。
实施方式
以下参考图式详细说明本发明光碟系统控制晶片及其固件程序更新方法。
图3是本发明光碟系统控制晶片的架构图。如该图所示,该控制晶片300包含一额外存储器302、一微处理器304、一解码器306、一控制器308、一宏单元310、以及一DMA单元312。该控制晶片300具有更新光碟系统的固件程序的功能,该固件程序储存在只读存储器210。该只读存储器210可为快闪式存储器(flash ROM)或电性可抹除可编码只读存储器(EEPROM)。如图3所示,宏单元310与DMA单元312是习知光碟系统控制晶片所没有具备的,其余的额外存储器302、微处理器304、解码器306、以及控制器308与图2的光碟系统控制晶片的架构图相同。
宏单元310是由微处理器304控制,在更新固件程序时用来经由DMA单元312读取缓存储器212的资料,并将所读取的资料以特定的命令序列,如抹除指令(Erase Command)、读取指令(Read Command)、写入指令(Write Command)、比较指令(Compare Command)等,写入只读存储器210。DMA单元312也由微处理器304控制,在更新固件程序时用来将缓冲存储器212的资料传给宏单元310。
在光碟系统更新固件程序时,光碟系统会先将微处理器304要执行的程序暂存在额外存储器302,而将要更新的固件程序储存在缓冲存储器212。因此,当光碟系统在更新固件程序时,微处理器304是执行额外存储器302的程序,并输出控制信号到宏单元310以及DMA单元312,即可由宏单元310以及DMA单元312执行固件程序的更新动作。而当宏单元310在执行更新动作时,微处理器304只需监控宏单元310的内部状态,其余时间可以与主机216进行其他动作。由于宏单元310以及DMA单元312执行固件程序的更新动作时,宏单元310以及DMA单元312是以硬件方式进行资料的读取与写入,因此执行速度比利用软件计算位址的方式快。
当光碟系统没有更新固件资料时,光碟系统是切换到一般操作模式。而当光碟系统要更新固件程序时,光碟系统是切换到固件更新模式。一般而言,在电脑开机重置后,光碟系统的微处理器204会将光碟机,如CD-ROM,加以初始始化,并且等待主机电脑216的命令要求从碟片100中读取资料。当主电脑216要求读取碟片100资料的命令发出后,微处理器304便送出正确的参数来控制控制器308与解码器306,用以驱动光碟系统中的马达与光学读取头来读取碟片100所储存的资料。碟片100的资料便经由解码器306加以解码与误差修正(errorcorrection)后,放入缓冲存储器(DRAM)212中。因此,电脑216便可以透过主机界面214,经由解码器306来读取放在缓冲存储器212中的资料。此时,额外存储器302是用来作为一般资料的记忆空间,而只读存储器210是做为系统程序的记忆空间。
图4显示本发明光碟系统控制晶片在一般操作模式时的资料流向。如该图所示,由于在一般操作模式,光碟系统是以只读存储器210作为程序储存空间,而由微处理器304送出固件控制信号给只读存储器210,读取只读存储器210的程序资料来控制光碟系统的动作。因此,在一般操作模式时,宏单元310以及DMA单元312是处于闲置状态(Idle)。在一般操作模式时,该光碟系统控制晶片的动作与先前技术相同,不再重复叙述。
当光碟系统需要更新只读存储器210中的固件程序时,具有如内容表(TableOf Content,TOC)的特殊格式资料的更新程序,可以以碟片方式放置在光碟系统中或者是由主电脑216端执行某一特定的更新程序软件。程序内容包含一程序代码(program code)与一更新程序(update program routine)。此时,额外存储器302将用来放置从碟片100或由电脑216端载入的更新程序,程序代码部分则先储放在缓冲存储器212中。
图5显示本发明光碟系统控制晶片在固件更新模式时的资料流向。如该图所示,当光碟系统切换到固件更新模式时,光碟系统是以额外存储器302作为程序储存位置,并由微处理器304从该额外存储器302读取程序指令来控制DMA单元312与宏单元310的动作。亦即,在固件更新之初,微处理器304从额外存储器302读取程序指令,并计算欲更新的程序代码储存在缓冲存储器212的起始位置以及程序代码的长度,并将该资讯输出至DMA单元312。之后,微处理器304送出启动信号至宏单元310,由宏单元310开始经由DMA单元312读取缓冲存储器212的程序代码,并写入只读存储器210。由于DMA单元312可根据微处理器304的起始位置以及程序代码的长度依序从缓冲存储器212读取程序代码,并输出给宏单元310。因此,光碟系统在更新固件程序代码时,不需由微处理器304计算缓冲存储器212的位址。而且,当宏单元310在写入资料至只读存储器210期间,微处理器304可随时监控宏单元310的内部状态,并于固件程序更新完毕时,输出停止信号给宏单元310与DMA单元312。
宏单元310的动作包含:从DMA单元312读取资料、输出位址、输出资料、以及输出写入控制信号至只读存储器210。
图6显示本发明光碟系统控制晶片在固件更新模式时的流程图。如该图所示,光碟系统控制晶片在固件更新模式时的步骤包含:
步骤S602:载入更新程序。由微处理器304或主机216控制将更新程序载入额外存储器302,用以在进行更新动作时,由微处理器304执行该额外存储器302的程序。
步骤S604:载入程序代码。由微处理器304或主机216控制将欲更新的程序代码(固件程序)载入缓冲存储器212。
步骤S606:设定DMA单元312与宏单元310。由微处理器304计算程序代码储存于缓冲存储器212的起始位置,以及该程序代码的总长度,并将起始位置与长度传给DMA单元312。另外,将只读存储器210之目的起始位址设定于宏单元310。
步骤S608:进行程序代码写入动作。由微处理器304产生开始信号给宏单元310与DMA单元312。当宏单元310与DMA单元312收到开始信号后,DMA单元312即从缓冲存储器212读出程序代码并传给宏单元310,宏单元310即将程序代码写入只读存储器210中。
步骤S610:监控宏单元状态。由微处理器304监控宏单元310的内部状态,用以在适当时机控制宏单元310的动作。例如,当宏单元310有错误时或是当程序代码已写入完毕时。
步骤S612:切换至一般操作模式。当程序代码已写入完毕时,由微处理器304产生结束信号给宏单元310与DMA单元312,用以停止宏单元310与DMA单元312的动作,并切换至一般操作模式。
在上述的步骤S608中,由于程序代码写入动作是由宏单元310与DMA单元312以硬件控制方式将程序代码写入只读存储器210中,因此速度比利用软件计算位址的方式要快。而且,由于程序代码写入动作是由宏单元310与DMA单元312以硬件控制方式,微处理器304在监控宏单元310状态之余,还可以处理其他工作,例如经由主机界面214与主机216传递资料,或报告写入进度与状态。
以上虽以实施例说明本发明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可进行各种变形或变更。

Claims (7)

1.一种光碟系统控制晶片,具有更新一光碟系统的只读存储器资料的功能,该光碟系统控制晶片包含:
一微处理器,用来控制该光碟系统的动作;
一解码器,由上述微处理器控制,且连接至一外部缓冲存储器以及一主机界面;
一控制器,由上述微处理器控制,且与上述解码器连接,用以接收该光碟系统的控制信号与资料;
一额外存储器,储存上述微处理器的执行程序或一般资料,并与上述微处理器连接;
其特征在于还包括:
一直接存储器存取(DMA)单元,由上述微处理器控制,用以读取上述外部缓冲存储器的资料;以及
一宏单元,由上述微处理器控制,并接收上述直接存储器存取单元输出的资料,并将该资料写入只读存储器;
其中,该光碟系统控制晶片在更新只读存储器资料时,是以上述额外存储器做为上述微处理器的程序执行空间,且该微处理器将控制信号输出至上述直接存储器存取单元与宏单元,利用该宏单元与直接存储器存取单元以硬件方式将上述缓冲存储器的资料写入上述只读存储器。
2.根据权利要求1所述的光碟系统控制晶片,其特征在于:该只读存储器为快闪式只读存储器。
3.根据权利要求1所述的光碟系统控制晶片,其特征在于:该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出缓冲存储器的起始位置以及资料长度到上述直接存储器存取单元。
4.根据权利要求3所述的光碟系统控制晶片,其特征在于:该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器输出开始烧录信号以及结束烧录信号给上述宏单元。
5.根据权利要求4所述的光碟系统控制晶片,其特征在于:该光碟系统控制晶片在更新只读存储器的程序时,上述微处理器接收上述宏单元的内部状态信号,用以监控宏单元的动作。
6.一种光碟系统固件程序更新方法,是经由一宏单元与直接存储器存取单元以硬件控制方式将欲更新的固件程序由一缓冲存储器写入一只读存储器中,其特征在于该方法包含下列步骤:
载入更新程序,将更新程序载入一额外存储器,用以在进行更新动作时,由一微处理器执行该额外存储器的更新程序;
载入程序代码,将欲更新的固件程序载入上述缓冲存储器;
设定直接存储器存取单元与宏单元,由上述微处理器计算固件程序储存在上述缓冲存储器的起始位置,以及该固件程序的长度,并将起始位置与长度输入直接存储器存取单元,且将上述只读存储器的起始位址设定在上述宏单元;
程序代码写入,由上述微处理器产生开始信号给上述宏单元与直接存储器存取单元,用以驱动上述直接存储器存取单元从上述缓冲存储器读出资料并传给上述宏单元,该宏单元即将资料写入上述只读存储器中;
结束更新动作,当程序代码已写入完毕时,由上述微处理器产生结束信号给宏单元与直接存储器存取单元,用以停止宏单元与直接存储器存取单元的动作,并切换至一般操作模式。
7.根据权利要求6所述的光碟系统固件程序更新方法,其特征在于:在所述程序代码写入的步骤中还包含监控宏单元状态,由上述微处理器监控该宏单元的内部状态。
CNB031003885A 2003-01-16 2003-01-16 光碟系统控制晶片及其固件程序更新方法 Expired - Fee Related CN100363886C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031003885A CN100363886C (zh) 2003-01-16 2003-01-16 光碟系统控制晶片及其固件程序更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031003885A CN100363886C (zh) 2003-01-16 2003-01-16 光碟系统控制晶片及其固件程序更新方法

Publications (2)

Publication Number Publication Date
CN1517857A CN1517857A (zh) 2004-08-04
CN100363886C true CN100363886C (zh) 2008-01-23

Family

ID=34281154

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031003885A Expired - Fee Related CN100363886C (zh) 2003-01-16 2003-01-16 光碟系统控制晶片及其固件程序更新方法

Country Status (1)

Country Link
CN (1) CN100363886C (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW392109B (en) * 1998-11-06 2000-06-01 Mediatek Inc IC chip for controlling optical disk system and program update method of the same
US6170043B1 (en) * 1999-01-22 2001-01-02 Media Tek Inc. Method for controlling an optic disk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW392109B (en) * 1998-11-06 2000-06-01 Mediatek Inc IC chip for controlling optical disk system and program update method of the same
US6170043B1 (en) * 1999-01-22 2001-01-02 Media Tek Inc. Method for controlling an optic disk

Also Published As

Publication number Publication date
CN1517857A (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
CN1318979C (zh) 更新光盘系统固件的方法
US20060282558A1 (en) Control chip for optical disk drive and method for updating firmware in the control chip
JP3310060B2 (ja) 記憶装置および同装置の制御プログラム書換え方法
KR101474344B1 (ko) 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템
JP2004062913A5 (zh)
US20080040818A1 (en) Storage apparatus, firmware renewal method, and control device
EP1345236B1 (en) A non-volatile memory device
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
JP4267682B1 (ja) Nandフラッシュメモリのリフレッシュ方法
JP2007193448A (ja) 情報記録装置及びその制御方法
US5860089A (en) Disk system with command processing function
KR20030059870A (ko) 컴퓨터 시스템 및 그 부팅방법
US8032690B2 (en) Non-volatile memory device, and method of accessing a non-volatile memory device
JP2007193866A (ja) 情報記録装置及びその制御方法
KR0172001B1 (ko) 바이오스 메모리의 재프로그램 장치 및 그 방법
CN100363886C (zh) 光碟系统控制晶片及其固件程序更新方法
KR100359200B1 (ko) 펌웨어 운용방법
JP2007293987A (ja) 情報記録装置及びその制御方法
JP2004062663A (ja) ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置
KR100205292B1 (ko) 하드 디스크 드라이브의 프로그램 수정방법
JP3843189B2 (ja) 光ディスクシステム制御チップおよび光ディスクシステムに使用される更新方法
KR100238298B1 (ko) 호스트 컴퓨터를 이용하여 구동 프로그램을 라이트하는 광디스크 재생장치 및 그에 따른 구동 프로그램의 라이트 방법
JP4575112B2 (ja) ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム
US20050071558A1 (en) Method and apparatus for increasing storage capacity in a disk array system
JP4058290B2 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080123

Termination date: 20160116

EXPY Termination of patent right or utility model