CN110083380A - 固件更新方法及使用此方法的电子装置 - Google Patents
固件更新方法及使用此方法的电子装置 Download PDFInfo
- Publication number
- CN110083380A CN110083380A CN201910067968.9A CN201910067968A CN110083380A CN 110083380 A CN110083380 A CN 110083380A CN 201910067968 A CN201910067968 A CN 201910067968A CN 110083380 A CN110083380 A CN 110083380A
- Authority
- CN
- China
- Prior art keywords
- firmware
- block
- cut section
- auxiliary
- electronic device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 17
- 230000006870 function Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 4
- 101100299505 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ptn1 gene Proteins 0.000 description 34
- 238000005192 partition Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
Abstract
一种固件更新方法及使用此方法的电子装置。电子装置包括非易失存储器,非易失存储器包括固件分割区以及备用分割区。所述固件更新方法包括:执行辅助固件,其中所述固件分割区包括第一区块以及第二区块,且辅助固件位于第一区块并且包括非易失存储器的扇区分割表;接收对应于电子装置的系统固件的系统更新档;以及当系统固件的所需空间大于第二区块的可用空间时,依据扇区分割表以及系统更新档将系统固件写入固件分割区的第二区块以及备用分割区的备用区块。
Description
技术领域
本发明涉及一种固件更新方法及使用此方法的电子装置。
背景技术
传统在更新系统固件时,若新系统固件的大小超过了存储器中原先保留给系统固件的存储器分割空间时,必须调整扇区分割表(partition table)来加大保留给系统固件的存储器分割。欲调整扇区分割表则需要更新启动程序(bootloader),但是,一旦更新启动程序的过程中发生断电或断电等不确定的因素,使得正在更新中的启动程序尚未写入完全,则系统将无法正常开机。因此,当用户是在远程执行系统固件更新时,更新启动程序会有极大的风险。这样的风险相当于限制了新系统固件的大小,时常造成系统业者相当大的不便。
发明内容
有鉴于此,本发明提供一种固件更新方法与使用此方法的电子装置,能够在无须更新启动程序下充分利用磁盘的未使用空间。
本发明实施例提出的固件更新方法适用于电子装置。电子装置包括非易失存储器,且非易失存储器包括固件分割区以及备用分割区。所述固件更新方法包括:执行辅助固件,其中固件分割区包括第一区块以及第二区块,且辅助固件位于第一区块并且包括非易失存储器的扇区分割表;接收对应于电子装置的系统固件的系统更新档;以及当系统固件的所需空间大于第二区块的可用空间时,依据扇区分割表以及系统更新档将系统固件写入固件分割区的第二区块以及备用分割区的备用区块。
本发明实施例提出的电子装置包括通信元件、非易失存储器以及控制器。通信元件用以传送及接收数据。非易失存储器包括固件分割区以及备用分割区,其中固件分割区包括第一区块以及第二区块,第一区块包括辅助固件,并且辅助固件包括非易失存储器的扇区分割表。控制器耦接于通信元件以及非易失存储器,用以:执行辅助固件;接收对应于系统固件的系统更新档;以及当系统固件的所需空间大于第二区块的可用空间时,依据扇区分割表以及系统更新档将系统固件写入固件分割区的第二区块以及备用分割区的备用区块。
基于上述,本发明实施例所提出的固件更新方法以及电子装置,将小容量的辅助固件安装在其中一个存储器分割区中,并且利用此辅助固件来跨存储器分割区地读写数据。据此,能够在无须更新开机分割区的启动程序下,弹性的利用各个存储器分割区中的不同区块,达到了更高的存储器利用效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为本发明一实施例的电子装置的概要方框图;
图2至图4为本发明一实施例的非易失存储器的示意图;
图5至图7为本发明一实施例的固件更新方法的流程图。
具体实施方式
在本公开说明书全文(包括权利要求书)中所使用的“耦接”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接第二装置,则应该被解释成第一装置可以直接耦接至第二装置,或者第一装置可以通过其他装置、导线或某种连接手段而间接地耦接至第二装置。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的元件/构件/步骤可以相互参照相关说明。
在本发明实施例的固件更新方法中,设计出功能较少且所占空间较小的辅助固件,并将其安装于保留给系统固件的存储器分割区中。在辅助固件中包括有整个存储器的存储器分割表,因此在加载辅助固件后,便能够通过辅助固件中的存储器分割表来存取整个存储器的各个存储器分割区。如此一来,在下载系统固件后,即使发现预留此系统固件的存储器分割区的空间不足,也能够通过辅助固件来充分利用存储器的其他分割区以跨分割区地安装系统固件,以及跨分割区地加载系统固件。特别是,本发明一实施例中的辅助固件还具有与外部主机建立连线的功能,使得辅助固件在被单独执行时也能够传送或接收数据。
图1为本发明一实施例的电子装置的概要方框图。请参照图1,本实施例的电子装置100包括通信元件110、非易失存储器120以及控制器130,其中控制器130耦接于通信元件110以及非易失存储器120。在以下的实施例中,电子装置100以电缆调制解调器(cablemodem)作为示范例来进行说明,但本发明并不限于此。在其他实施例中,电子装置100亦可例如是智能型手机(smart phone)、平板电脑(tablet PC)、个人数字助理(personaldigital assistant,PDA)等具有非易失存储器以安装固件的电子装置。
在本实施例中,通信元件110用以通过双向同轴电缆与外部主机(例如,提供电子装置固件更新档以更新固件的远程主机)建立连线,以传送与接收数据。然而,本发明并不限于此。在其他实施例中,通信元件110也可例如是通过有线的电话线、光纤,或是无线的Wi-Fi、蓝牙等来与外部主机建立连线。
在本实施例中,非易失存储器120例如是闪存(flash memory),用以存储数据。关于本实施例的非易失存储器120中的各个存储器分割区(partitions)及其使用方法将于以下说明中详细描述。然而,本发明并不限制非易失存储器120为闪存,所属领域具备通常知识者当可依其需求来实作非易失存储器120,在此不加以赘述。
在本实施例中,控制器130用以控制电子装置100的整体运行,其例如但不限于是中央处理单元(Central Processing Unit,CPU),或是其他可程序化的一般用途或特殊用途的微处理器(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。
图2至图4为本发明一实施例的非易失存储器的示意图。请参照图2至图4,在本实施例中,为了方便描述而将非易失存储器120示出为非易失存储器120a、120b、120c与120d,分别用以表示非易失存储器120在本发明实施例的固件更新方法中的不同状态。以下将通过非易失存储器120a、120b、120c与120d来介绍本发明实施例的固件更新方法。
请参照图2,在一实施例中,在接收到固件更新的指令之前,电子装置100的非易失存储器120是以非易失存储器120a的状态来运行。非易失存储器120a包括互不重叠的开机分割区PTN0、至少一个固件分割区PTN1以及至少一个备用分割区PTN2。
开机分割区PTN0中记录有启动程序(bootloader),而启动程序中记录有扇区分割表(disk partition table)。扇区分割表例如可用以提供电子装置存取各个存储器分割区的功能。在电子装置100启动或重新启动后,会加载启动程序来根据扇区分割表从其中一个存储器分割区加载固件并执行的。如此一来,电子装置100便能够正常开机。
固件分割区PTN1是非易失存储器120原先预留给系统固件的存储器分割区(例如但不限于,启动程序所指示控制器130加载固件的存储器分割区)。在通常状态下,电子装置100启动或重新启动后启动程序例如会指示选择固件分割区PTN1来加载并执行记录于其中的系统固件。如此一来,电子装置100便能够在开机后正常的运行(例如,与外部主机建立连线)。
备用分割区PTN2例如但不限于包括固定数据区块以及备用区块。固定数据区块用以记录电子装置100在传输数据时所需的验证信息,或其他电子装置100本身的硬件信息等,但不限于此。备用区块则例如是被保留而未使用的区块。
请参照图3,在本实施例中,电子装置100运行系统固件的过程中例如从外部主机接收到固件更新指令,并且接收到对应于辅助固件的辅助固件更新档。据此,电子装置100的控制器130会依据所接收的辅助固件更新档将辅助固件写入固件分割区PTN1当中,随后重启电子装置100。此时,非易失存储器120的状态如图3所示的非易失存储器120b,而固件分割区PTN1中原有的系统固件将被辅助固件所覆盖而无法执行。在本实施例中,辅助固件所占有的固件分割区PTN1的部分称为第一区块PTN1-1,而固件分割区PTN1的其他部分称为第二区块PTN1-2。
值得一提的是,在另一实施例中,电子装置100的制造厂商可例如是在电子装置100出厂前就将启动程序写于开机分割区PTN0,并且将辅助固件写于固件分割区PTN1中,使得电子装置100在出厂时就已是处于非易失存储器120b的状态。
特别是,本发明实施例所提出的辅助固件中包括扇区分割表而使电子装置100根据数据所在的存储器分割区来存取数据,其中包括跨不同的存储器分割区来存取数据。此外,辅助固件还具有有线电缆数据服务接口规范(Data-Over-Cable Service InterfaceSpecifications,DOCSIS)的连线功能,能够通过DOCSIS规范来与外部主机建立连线并传送及接收数据。
当电子装置100以非易失存储器120b的状态重启后,开机分割区PTN0的启动程序会指示选择固件分割区PTN1来进行读取。在本实施例中,第一区块PTN1-1中的辅助固件会被加载并执行,因而使得电子装置100通过DOCSIS规范与外部主机建立连线。
在一实施例中,在辅助固件运行的过程中电子装置100会进一步地接收到来自外部主机的固件更新指令,并且接收到对应于辅助固件的辅助固件更新档。据此,电子装置100的控制器130会依据所接收的辅助固件更新档将辅助固件写入固件分割区PTN1当中,以复写并更新辅助固件,随后重启电子装置100。
值得一提的是,辅助固件的功能较系统固件少,因此辅助固件的所需空间将不大于第一区块PTN1的可用空间。
请参照图4,在另一实施例中,在辅助固件运行的过程中电子装置100会进一步地接收到来自外部主机的固件更新指令,并且接收到对应于电子装置100的系统固件的系统更新档。
若系统更新档所对应的系统固件的所需空间大于第二区块PTN1-2的可用空间,电子装置100的控制器130会依据所接收的系统更新档,依据辅助固件的扇区分割表以及系统更新档来将系统固件写入固件分割区PTN1的第二区块PTN1-2,以及备用分割区PTN2中。在更新系统固件成功后,非易失存储器120的状态如图4所示的非易失存储器120c。在本实施例中,用以写入系统固件的部分备用分割区称为备用区块PTN2-2,其他部分的备用分割区PTN2则称为固定数据区块PTN2-1。如此一来,在非易失存储器120处于如图4所示的非易失存储器120c的状态时,固件分割区PTN1的第一区块PTN1-1的辅助固件可被正常运行执行。此外,跨两个分割区来记录的同时位于固件分割区PTN1的第二区块PTN1-2以及备用分割区PTN2的备用区块PTN2-2中的系统固件也可以被正常运行执行。
另一方面,若系统更新档所对应的系统固件的所需空间不大于第二区块PTN1-2的可用空间,电子装置100的控制器130会依据所接收的系统更新档,依据辅助固件的扇区分割表以及系统更新档来将系统固件写入固件分割区PTN1的第二区块PTN1-2。在更新系统固件成功后,非易失存储器120的状态如图4所示的非易失存储器120d。如此一来,在非易失存储器120处于如图4所示的非易失存储器120d的状态时,固件分割区PTN1的第一区块PTN1-1的辅助固件可被正常运行执行。此外,固件分割区PTN1的第二区块PTN1-2的系统固件也可以被正常运行执行。
值得一提的是,即使系统固件更新失败,由于固件分割区PTN1的第一区块PTN1-1的辅助固件仍然可以被正常运行执行,因此在电子装置100重启的后仍然可依照上述的流程来执行固件分割区PTN1的第一区块PTN1-1中的辅助固件,再次连线至外部主机,并且重新下载系统更新档来重新更新系统固件。
在一实施例中,固定数据区块PTN2-1用以记录电子装置100在传输数据时所需的验证信息,或其他电子装置100本身的硬件信息等,但不限于此。举例来说,电子装置100在通过DOCSIS规范与外部主机建立连线时所需的证书颁发机构中心(CertificateAuthority,CA)认证码、电缆调制解调器(Cable Modem,CM)认证码以及电缆调制解调器公钥(CM Publish key)等信息可例如是记录于固定数据区块PTN2-1中,但本发明并不限于此。
值得一提的是,在一实施例中,外部主机所提供的系统更新档所对应的系统固件除了具备正常系统固件的功能之外,其中也包括扇区分割表,使电子装置100运行系统固件时能够根据数据所在的存储器分割区来存取数据,其中同样包括跨不同的存储器分割区来存取数据。此外,外部主机所提供的系统更新档所对应的系统固件也具有DOCSIS的连线功能,能够通过DOCSIS规范来与外部主机建立连线并传送及接收数据。据此,当非易失存储器120具有多个类似的固件分割区PTN1时,电子装置100也能够通过正在运行中的系统固件的扇区分割表选择其中一个固件分割区PTN1以及一个备用分割区PTN2来更新系统固件,以将系统固件写入或安装至所选择的固件分割区PTN1以及备用分割区PTN2中。
图5至图7为本发明一实施例的固件更新方法的流程图。图5至图7中所分别示出的流程S100、S200与S300中所包括的各步骤适用于前述段落中图1至图4中电子装置100的各项元件,以下将搭配图1至图4中的各元件以及标号来详细说明。值得一提的是,各步骤中已于前述段落中详述的实施细节,在以下流程图的说明中将不再赘述。
在一实施例中,电子装置100的非易失存储器120中例如是没有记录辅助固件,则图6中的流程S200会首先执行,以将辅助固件写入固件分割区PTN1的第一区块PTN1-1中。
请参照图6,在步骤S210中,电子装置100会通过通信元件110接收对应于辅助固件的辅助固件更新档。举例来说,电子装置100起初例如是运行于传统的系统固件,并在运行中通过DOCSIS规范从外部主机接收到对应于辅助固件的辅助固件更新档。接着,在步骤S220中,控制器130会依据辅助固件更新档来将辅助固件写入固件分割区PTN1的第一区块PTN1-1。在一实施例中,控制器130例如先依据辅助固件的所需空间,将固件分割区PTN1定义为第一区块PTN-1以及第二区块PTN1-2,再依据辅助固件更新档来将辅助固件辅助写入第一区块PTN1-1中。固件更新档中例如包括安装辅助固件所需要的数据,以及辅助固件所需安装的存储器分割区等信息,但本发明并不限于此。
在一实施例中,固件分割区PTN1可例如是记录电子装置100所正在运行的系统固件所在的存储器分割区。在另一实施例中,电子装置100所正在运行的系统固件所在的存储器分割区也可例如是与固件分割区PTN1不同的存储器分割区。在辅助固件写入固件分割区PTN1的第一区块PTN1-1后,图5的流程S100会被执行。
在另一实施例中,电子装置100的非易失存储器120b的固件分割区PTN1的第一区块PTN1-1当中已经记录有辅助固件,因此可无须执行流程S200就开始执行流程S100。
请接着参照图5,控制器130启动或重启电子装置100后,在步骤S110中执行辅助固件。在一实施例中,控制器130会在流程S200结束后重启电子装置100,而在电子装置100重启后,首先会加载开机分割区PTN0中的启动程序,而启动程序会指示加载并执行固件分割区PTN1的第一区块PTN1-1中的辅助固件。在另一实施例中,电子装置100的非易失存储器120b的固件分割区PTN1的第一区块PTN1-1当中已经记录有辅助固件,因而在电子装置100启动后,同样会加载开机分割区PTN0中的启动程序,而启动程序会指示加载并执行固件分割区PTN1的第一区块PTN1-1中的辅助固件。
在步骤S120中,控制器130会依据扇区分割表判断固件分割区的第二区块以及备用分割区的备用区块中是否包括有效的系统固件。在本实施例中,辅助固件的扇区分割表中指示自身所在的第一区块PTN1-1、系统固件所在的第二区块PTN1-2以及备用区块PTN2-2。据此,控制器130能够检查第二区块PTN1-2以及备用区块PTN2-2,以判断其中是否记录有效的系统固件。在一实施例中,系统固件是记录于第二区块PTN1-2以及备用区块PTN2-2中,因此控制器130能够针对第二区块PTN1-2以及备用区块PTN2-2来检查其中是否记录有效的系统固件。在另一实施例中,系统固件仅记录于第二区块PTN1-2中,因此控制器130能够针对第二区块PTN1-2来检查其中是否记录有效的系统固件。其中,进行检查的方式例如是利用校验和(checksum),但本发明并不以此为限,所属领域具备通常知识者当可依其需求来实作。
若第二区块PTN1-2以及备用区块PTN2-2中记录有效的系统固件(即,第二区块PTN1-2以及备用区块PTN2-2共同记录系统固件或仅第二区块PTN1-2记录系统固件),则在步骤S130中,控制器130会执行此系统固件,并且在步骤S140中通过此系统固件来连线至外部主机。在一实施例中,控制器130会依据辅助固件中的扇区分割表,跨两个存储器分割区地来加载记录于固件分割区PTN1的第二区块PTN1-2以及备用分割区PTN2的备用区块PTN2-2中的系统固件,或加载仅记录于固件分割区PTN1第二区块PTN1-2中的系统固件,并执行此系统固件。随后,控制器130例如会通过此系统固件所具备的DOCSIS连线功能,来通过DOCSIS规范连线至外部主机。
若第二区块PTN1-2以及备用区块PTN2-2中并没有记录有效的系统固件,则在步骤S150中,控制器130会通过辅助固件来连线至外部主机。在一实施例中,控制器130会直接通过辅助固件所具备的DOCSIS连线功能,来通过DOCSIS规范连线至外部主机。
在本实施例中,一旦电子装置100通过DOCSIS规范连线至外部主机,便有能力从外部主机接收到更新档来对电子装置100的固件进行下载并更新或安装,如图7所示的流程S300。
请参照图7,在步骤S310中,电子装置100通过通信元件110接收到更新档。在一实施例中,电子装置100例如是通过DOCSIS规范从外部主机接收到固件更新指令与更新档。所接收到固件更新指令与更新档中例如包括指示所欲更新的固件类型、所欲写入的存储器分割区等,但本发明并不在此限。
在步骤S320中,电子装置100会判断所接收到的更新档为辅助固件更新档或是对应于电子装置100的系统固件的系统更新档。在一实施例中,固件更新指令例如会直接指示更新档为辅助固件更新档或系统更新档。在另一实施例中,控制器130亦可例如是检查更新档的头文件来判断此更新档为辅助固件更新档或系统更新档。换言之,本发明并不在此限制控制器130判断所接收到的更新档是辅助固件更新档或系统更新档的具体实作方式。
若控制器130判断所接收到的更新档为辅助固件更新档,则在步骤S330中,控制器130会依据扇区分割表更新固件分割区的第一区块中的辅助固件。反之,若控制器130判断所接收到的更新档为对应于电子装置100的系统固件的系统更新档,则在步骤S340中,控制器130会比较所接收到的系统更新档所对应的系统固件的所需空间与固件分割区的第二区块的可用空间。若系统固件的所需空间大于第二区块的可用空间,则在步骤S350中,控制器130会依据扇区分割表将系统固件写入固件分割区的第二区块以及备用分割区的备用区块;反之,若系统固件的所需空间不大于第二区块的可用空间,则在步骤S360中,控制器130会依据扇区分割表将系统固件写入固件分割区的第二区块中。其中,更新辅助固件以及写入系统固件的细节已于前述段落中描述,故在此不再赘述。一旦固件(例如,辅助固件或系统固件)更新完成后,控制器130会重启电子装置100,而回到图6的流程S200来运行并进行连线。
通过图5至图7实施例所介绍的流程S100、S200与S300,无论电子装置100的非易失存储器120当前是被写入为何种状态(例如,非易失存储器120a、120b、120c或120d),以及无论电子装置100当前正在运行的是辅助固件或系统固件,只要通过DOCSIS规范与外部主机建立了连线,便能够在接收到更新档后顺利地依据所接收的更新档来进行固件更新。
值得一提的是,在本发明实施例中并不需要对开机分割区PTN0中的启动程序进行变动,因此在电子装置100启动或重启后启动程序仍然会如常的被加载并执行。特别是,本发明实施例利用了辅助固件来在原有的存储器分割区分配下,弹性的利用各个存储器分割区中的不同区块,达到了更高的存储器利用效率。
综上所述,本发明实施例所提出的固件更新方法以及电子装置,将小容量的辅助固件安装在其中一个存储器分割区中,并且利用此辅助固件来跨存储器分割区地读写数据。据此,能够在不改变原有的存储器分割区的分配方式之下,弹性的利用各个存储器分割区中的不同区块,达到了更高的存储器利用效率。除此之外,在本发明的实施例中,由于开机分割区的启动程序并没有被变动,且辅助固件与更新的系统固件都具备连线的功能。因此,大幅降低了更新固件时的风险。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的变动与润饰,故本发明的保护范围当视权利要求所界定者为准。
Claims (14)
1.一种固件更新方法,适用于电子装置,其中所述电子装置包括非易失存储器,所述非易失存储器包括固件分割区以及备用分割区,其特征在于,所述固件更新方法包括:
执行辅助固件,其中所述固件分割区包括第一区块以及第二区块,所述辅助固件位于所述第一区块并且包括所述非易失存储器的扇区分割表;
接收对应于所述电子装置的系统固件的系统更新档;以及
当所述系统固件的所需空间大于所述第二区块的可用空间时,依据所述扇区分割表以及所述系统更新档将所述系统固件写入所述固件分割区的所述第二区块以及所述备用分割区的备用区块。
2.根据权利要求1所述的固件更新方法,其特征在于,当所述所需空间小于或等于所述可用空间时,依据所述扇区分割表以及所述系统更新档将所述系统固件写入所述固件分割区的所述第二区块。
3.根据权利要求1所述的固件更新方法,其特征在于,执行所述辅助固件的步骤之后,还包括:
依据所述扇区分割表从所述固件分割区的所述第二区块以及所述备用分割区的所述备用区块加载并执行所述系统固件。
4.根据权利要求1所述的固件更新方法,其特征在于,所述系统固件包括所述扇区分割表。
5.根据权利要求1所述的固件更新方法,其特征在于,还包括:
接收对应该于所述辅助固件的辅助固件更新档;以及
依据所述辅助固件更新档将所述辅助固件写入所述固件分割区的所述第一区块。
6.根据权利要求1所述的固件更新方法,其特征在于,所述电子装置为电缆调制解调器,其中所述辅助固件包括DOCSIS连线功能,并且所述系统更新档是通过所述DOCSIS连线功能接收。
7.根据权利要求1所述的固件更新方法,其特征在于,所述固件分割区与所述备用分割区互不重叠,并且所述第一区块与所述第二区块互不重叠。
8.一种电子装置,其特征在于,包括:
通信元件,用以传送及接收数据;
非易失存储器,包括固件分割区以及备用分割区,其中所述固件分割区包括第一区块以及第二区块,所述第一区块包括辅助固件,并且所述辅助固件包括所述非易失存储器的扇区分割表;以及
控制器,耦接于所述通信元件以及所述非易失存储器,用以:
执行所述辅助固件;
接收对应于系统固件的系统更新档;以及
当所述系统固件的所需空间大于所述第二区块的可用空间时,依据所述扇区分割表以及所述系统更新档将所述系统固件写入所述固件分割区的所述第二区块以及所述备用分割区的备用区块。
9.根据权利要求8所述的电子装置,其特征在于,当所述所需空间小于或等于所述可用空间时,所述控制器用以依据所述扇区分割表以及所述系统更新档将所述系统固件写入所述固件分割区的所述第二区块。
10.根据权利要求8所述的电子装置,其特征在于,所述控制器在执行所述辅助固件之后,还用以:
依据所述扇区分割表从所述固件分割区的所述第二区块以及所述备用分割区的所述备用区块加载并执行所述系统固件。
11.根据权利要求8所述的电子装置,其特征在于,所述系统固件包括所述扇区分割表。
12.根据权利要求8所述的电子装置,其特征在于,所述控制器还用以:
接收对应该于所述辅助固件的辅助固件更新档;以及
依据所述辅助固件更新档将所述辅助固件写入所述固件分割区的所述第一区块。
13.根据权利要求8所述的电子装置,其特征在于,所述电子装置为电缆调制解调器,其中所述辅助固件包括DOCSIS连线功能,并且所述控制器通过所述DOCSIS连线功能接收所述系统更新档。
14.根据权利要求8所述的电子装置,其特征在于,所述固件分割区与所述备用分割区互不重叠,并且所述第一区块与所述第二区块互不重叠。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107102820 | 2018-01-26 | ||
TW107102820A TWI722269B (zh) | 2018-01-26 | 2018-01-26 | 韌體更新方法及使用此方法的電子裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110083380A true CN110083380A (zh) | 2019-08-02 |
Family
ID=64564569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910067968.9A Pending CN110083380A (zh) | 2018-01-26 | 2019-01-24 | 固件更新方法及使用此方法的电子装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11042365B2 (zh) |
EP (1) | EP3518097B1 (zh) |
JP (1) | JP6752863B2 (zh) |
KR (1) | KR102107843B1 (zh) |
CN (1) | CN110083380A (zh) |
TW (1) | TWI722269B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703816A (zh) * | 2020-05-19 | 2021-11-26 | 佛山市顺德区顺达电脑厂有限公司 | 服务器装置及其避免韧体无法再次更新之方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860307B2 (en) * | 2019-04-24 | 2020-12-08 | Dell Products, L.P. | Fragmented firmware storage system and method therefor |
CN110780890B (zh) * | 2019-10-24 | 2023-06-06 | 百度在线网络技术(北京)有限公司 | 系统升级方法、装置、电子设备和介质 |
TWI726477B (zh) * | 2019-11-06 | 2021-05-01 | 神雲科技股份有限公司 | 伺服器裝置及其可程式化邏輯單元之避免韌體更新失敗後無法再次更新之方法 |
TWI736074B (zh) * | 2019-12-20 | 2021-08-11 | 瑞昱半導體股份有限公司 | 周邊裝置及其驗證更新方法 |
US11216269B2 (en) * | 2020-01-09 | 2022-01-04 | Dell Products L.P. | Systems and methods for update of storage resource firmware |
CN111522566B (zh) * | 2020-04-23 | 2023-08-01 | Oppo(重庆)智能科技有限公司 | 一种系统升级方法、终端及存储介质 |
CN112199109B (zh) * | 2020-10-16 | 2022-07-19 | 杭州觅睿科技股份有限公司 | 一种固件升级方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2357382A1 (en) * | 2001-09-17 | 2003-03-17 | Soma Networks, Inc. | Software update method, apparatus and system |
JP2008217202A (ja) * | 2007-03-01 | 2008-09-18 | Nec Corp | ディスクアレイ装置及びファームウェア更新方法 |
CN102132259A (zh) * | 2009-03-30 | 2011-07-20 | 日立系统解决方案有限公司 | 固件更新系统,固件传输服务器、固件整合设备以及程序 |
CN103118198A (zh) * | 2013-02-05 | 2013-05-22 | 惠州Tcl移动通信有限公司 | 移动终端的固件升级方法及系统 |
CN105843656A (zh) * | 2016-04-22 | 2016-08-10 | Tcl集团股份有限公司 | 磁盘空间不足的系统升级方法、终端设备及服务器 |
CN106708548A (zh) * | 2015-11-13 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 程序升级方法和终端设备 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317706A (en) * | 1989-11-15 | 1994-05-31 | Ncr Corporation | Memory expansion method and apparatus in a virtual memory system |
US7231504B2 (en) * | 2004-05-13 | 2007-06-12 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
GB2418751A (en) * | 2004-10-02 | 2006-04-05 | Hewlett Packard Development Co | Managing memory across a plurality of partitions |
WO2007117514A1 (en) * | 2006-03-31 | 2007-10-18 | Hewlett-Packard Company | Mobile device capable of multiple updates |
US7783763B2 (en) * | 2006-06-06 | 2010-08-24 | International Business Machines Corporation | Managing stateful data in a partitioned application server environment |
US8479208B2 (en) * | 2007-03-30 | 2013-07-02 | Intel Corporation | System partitioning to present software as platform level functionality including mode logic to maintain and enforce partitioning in first and configure partitioning in second mode |
US20080263348A1 (en) * | 2007-04-17 | 2008-10-23 | Texas Instruments Incorporated | Dynamic asymmetric partitioning of program code memory in network connected devices |
US8850154B2 (en) * | 2007-09-11 | 2014-09-30 | 2236008 Ontario Inc. | Processing system having memory partitioning |
EP2229625B1 (en) * | 2007-12-13 | 2011-08-31 | Telefonaktiebolaget LM Ericsson (publ) | Updating firmware of an electronic device |
WO2009156615A1 (fr) * | 2008-06-02 | 2009-12-30 | Awox | Procede et dispositif de mise a jour d'application informatique |
US8040744B2 (en) * | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
TW201102924A (en) * | 2009-07-03 | 2011-01-16 | Inventec Appliances Corp | Embedded electronic device and method for updating firmware thereof |
TW201118731A (en) * | 2009-11-18 | 2011-06-01 | Inventec Corp | Method for upadating firmware of embedded system |
US8589302B2 (en) * | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
US9003157B1 (en) * | 2010-06-30 | 2015-04-07 | Emc Corporation | Techniques for dynamic data storage configuration in accordance with an allocation policy |
US20120054734A1 (en) * | 2010-08-31 | 2012-03-01 | Apple Inc. | Device software upgrade using a dynamically sized partition |
US8566546B1 (en) * | 2010-09-27 | 2013-10-22 | Emc Corporation | Techniques for enforcing capacity restrictions of an allocation policy |
WO2012127266A1 (en) * | 2011-03-23 | 2012-09-27 | Sandisk Il Ltd. | Storage device and method for updating data in a partition of the storage device |
US8990548B2 (en) * | 2011-04-11 | 2015-03-24 | Intel Corporation | Apparatuses for configuring programmable logic devices from BIOS PROM |
DE102011102425A1 (de) * | 2011-05-24 | 2012-11-29 | Heidelberger Druckmaschinen Ag | Simultanes Softwareupdate |
WO2013048491A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus, method and system that stores bios in non-volatile random access memory |
KR101341003B1 (ko) * | 2011-11-21 | 2013-12-12 | 웹싱크 주식회사 | 펌웨어 업데이트 방법 및 이를 위한 장치 |
TWI537735B (zh) * | 2011-12-16 | 2016-06-11 | 祥碩科技股份有限公司 | 電子裝置及其基本輸入輸出系統的更新裝置 |
US8924952B1 (en) * | 2012-06-27 | 2014-12-30 | Amazon Technologies, Inc. | Updating software utilizing multiple partitions |
US9274839B2 (en) * | 2012-09-27 | 2016-03-01 | Intel Corporation | Techniques for dynamic physical memory partitioning |
US20140297714A1 (en) * | 2013-04-01 | 2014-10-02 | Gainspan Corporation | Providing binary images customized for different users in memory space constrained environments |
TW201504937A (zh) * | 2013-07-31 | 2015-02-01 | Ibm | 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 |
US8910868B1 (en) * | 2013-11-27 | 2014-12-16 | Square, Inc. | Firmware management |
US10489145B2 (en) * | 2014-11-14 | 2019-11-26 | Hewlett Packard Enterprise Development Lp | Secure update of firmware and software |
CN105701019A (zh) * | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种内存管理方法以及装置 |
CN104536848B (zh) * | 2014-12-22 | 2018-05-08 | 小米科技有限责任公司 | 固件恢复方法、装置和终端 |
US9729698B2 (en) * | 2015-03-09 | 2017-08-08 | Verizon Patent And Licensing Inc. | Increasing user memory space on end-of-life mobile user devices |
JP6753257B2 (ja) * | 2016-10-04 | 2020-09-09 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム |
JP6696414B2 (ja) * | 2016-12-05 | 2020-05-20 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
US10915331B2 (en) * | 2017-08-04 | 2021-02-09 | Qualcomm Incorporated | Partitioning flash and enabling flexible boot with image upgrade capabilities |
-
2018
- 2018-01-26 TW TW107102820A patent/TWI722269B/zh active
- 2018-11-09 US US16/186,308 patent/US11042365B2/en active Active
- 2018-11-20 JP JP2018217069A patent/JP6752863B2/ja active Active
- 2018-11-29 EP EP18209051.4A patent/EP3518097B1/en active Active
- 2018-12-12 KR KR1020180160327A patent/KR102107843B1/ko active IP Right Grant
-
2019
- 2019-01-24 CN CN201910067968.9A patent/CN110083380A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2357382A1 (en) * | 2001-09-17 | 2003-03-17 | Soma Networks, Inc. | Software update method, apparatus and system |
JP2008217202A (ja) * | 2007-03-01 | 2008-09-18 | Nec Corp | ディスクアレイ装置及びファームウェア更新方法 |
CN102132259A (zh) * | 2009-03-30 | 2011-07-20 | 日立系统解决方案有限公司 | 固件更新系统,固件传输服务器、固件整合设备以及程序 |
CN103118198A (zh) * | 2013-02-05 | 2013-05-22 | 惠州Tcl移动通信有限公司 | 移动终端的固件升级方法及系统 |
CN106708548A (zh) * | 2015-11-13 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 程序升级方法和终端设备 |
CN105843656A (zh) * | 2016-04-22 | 2016-08-10 | Tcl集团股份有限公司 | 磁盘空间不足的系统升级方法、终端设备及服务器 |
Non-Patent Citations (2)
Title |
---|
HARDIK PATEL: "灵活更新固件——IoT设备的关键", 《中国电子商情》 * |
ZHANG LI 等: "Design and Implementation of a Fine-Grained NAND Flash programmer", 《2012 13TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703816A (zh) * | 2020-05-19 | 2021-11-26 | 佛山市顺德区顺达电脑厂有限公司 | 服务器装置及其避免韧体无法再次更新之方法 |
CN113703816B (zh) * | 2020-05-19 | 2023-06-06 | 佛山市顺德区顺达电脑厂有限公司 | 服务器装置及其避免韧体无法再次更新之方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019128946A (ja) | 2019-08-01 |
US20190235853A1 (en) | 2019-08-01 |
EP3518097A2 (en) | 2019-07-31 |
TW201933094A (zh) | 2019-08-16 |
US11042365B2 (en) | 2021-06-22 |
EP3518097A3 (en) | 2019-08-07 |
JP6752863B2 (ja) | 2020-09-09 |
KR102107843B1 (ko) | 2020-05-29 |
EP3518097B1 (en) | 2020-08-12 |
TWI722269B (zh) | 2021-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083380A (zh) | 固件更新方法及使用此方法的电子装置 | |
US9507604B2 (en) | Boot method and boot system | |
CN108616382B (zh) | 升级网卡固件的方法、装置、网卡和设备 | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
US9298470B2 (en) | Method and apparatus for selecting bios program for a processor | |
US10162646B2 (en) | System for programmably configuring a motherboard | |
US20200065082A1 (en) | Memory-efficient upgrade staging | |
US7856614B2 (en) | Programmable system-on-chip apparatus and method for updating firmware | |
CA2701491A1 (en) | Firmware image update and management | |
JP2010195111A (ja) | 車載コンピュータシステム | |
CN104123153A (zh) | 用于使用usb升级固件的装置与方法 | |
CN103365696A (zh) | Bios镜像文件获取方法及装置 | |
EP3614258B1 (en) | Retrieving updated firmware code | |
CN109582372A (zh) | 一种系统的启动方法及装置 | |
US20040103172A1 (en) | Method of updating an operation system | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
JP2005531085A (ja) | ハードウェア互換性の特定及び安定的なソフトウェア画像の実現方法及び装置 | |
CN106548311B (zh) | 库存管理设定系统 | |
CN114879995A (zh) | 固件更新的方法和装置 | |
CN114691539A (zh) | 电子设备启动方法及电子设备 | |
CN101097530A (zh) | 更新微控器装置之系统数据存储器之接口装置 | |
JP5919204B2 (ja) | 情報処理装置、情報処理方法およびサーバ | |
CN116263673A (zh) | 片外存储器的时序参数加载方法、装置、电子设备及介质 | |
CN117908903A (zh) | 一种车载应用镜像生成、部署方法、装置、设备及介质 | |
CN117762455A (zh) | Bios固件文件的更新方法及装置、存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |