CN111766797A - 微控制器、存储模块及用于更新微控制器的韧件的方法 - Google Patents

微控制器、存储模块及用于更新微控制器的韧件的方法 Download PDF

Info

Publication number
CN111766797A
CN111766797A CN201910259893.4A CN201910259893A CN111766797A CN 111766797 A CN111766797 A CN 111766797A CN 201910259893 A CN201910259893 A CN 201910259893A CN 111766797 A CN111766797 A CN 111766797A
Authority
CN
China
Prior art keywords
mcu
data
data block
check
application
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
Application number
CN201910259893.4A
Other languages
English (en)
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.)
Pirate Ship Memory Co
Original Assignee
Pirate Ship Memory Co
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 Pirate Ship Memory Co filed Critical Pirate Ship Memory Co
Priority to CN201910259893.4A priority Critical patent/CN111766797A/zh
Publication of CN111766797A publication Critical patent/CN111766797A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供一种微控制器单元,所述微控制器单元具有处理单元及存储单元。所述存储单元配置成包含具有计算机程序码的开机载入程序区段。当所述计算机程序码由所述处理单元执行时,所述微控制器单元根据多个数据块及与所述数据块相关联的多个检查和执行检查机制,以在韧件更新期间产生多个第一检查结果。还提供一种包含所述微控制器单元的存储模块。还提供一种用于初始化及更新所述微控制器单元的韧件的方法。

Description

微控制器、存储模块及用于更新微控制器的韧件的方法
技术领域
本发明是关于一种微控制器、内存模块及用于更新微控制器的韧体的方法,尤其是关于一种可不断电进行韧体更新的微控制器、内存模块及方法。
背景技术
存储模块可包含模块板及安装于模块板上的一些易失性存储组件。除存储组件以外的一些组件(例如光学组件、音频组件等)也可整合至模块板中。一或多个控制器(例如,微控制器单元Microcontroller Unit,MCU)由此引入于存储模块上以控制这些组件。
由控制器运行的韧件可能需要更新以修正错误(其导致这些非存储组件的故障)或将特征添加至这些非存储组件。
发明内容
本公开提供一种不需要关闭计算机电源以使对用户的中断最小化的韧件更新方案。
本公开的一些实施例提供一种微控制器单元(Microcontroller Unit,MCU)。MCU包含处理单元及存储单元。存储单元经配置以包含开机载入程序区段。开机载入程序区段经配置以存储计算机程序码。所述计算机程序码在由所述处理单元执行时,使得所述MCU根据多个数据块及与所述数据块相关联的多个检查和执行第一检查机制,以在韧件更新阶段产生多个第一检查结果。
本公开的一些实施例提供一种存储模块。所述存储模块包含模块板、多个易失性存储组件及MCU。模块板具有接口。易失性存储组件安置于模块板上,且经由接口电连接至外部中央处理单元(Central Processing Unit,CPU)。MCU安置于模块板上,且经配置以:在开机载入程序模式下自外部CPU接收多个数据块及多个检查和,多个数据块中的每一个与来自所述多个检查和的指定检查和配对,其中数据块及检查和由外部CPU自经更新的韧件档案撷取;以及检查多个数据块中的每一个是否对应于指定检查和。
本公开的一些实施例提供一种用于更新MCU的韧件的方法。MCU经由信道与外部CPU以通信方式耦接。所述方法包含:外部CPU接收经更新的韧件档案;外部CPU通过执行经更新的韧件档案来获取多个数据块及与所述数据块相关联的多个检查和;MCU接收多个数据块中的第一数据块及多个检查和中指定给第一数据块的第一检查和;以及MCU根据第一数据块及第一检查和执行检查机制,以产生第一检查结果。
本公开的一些实施例提供一种用于初始化MCU的方法。MCU经由信道与外部CPU以通信方式耦接。所述方法包含:MCU根据应用程序区段中的应用程序数据及数据区段中的应用程序检查和执行第一检查机制,以产生第一检查结果;当第一检查结果正确时,MCU进入应用程序模式;当第一检查结果不正确时,MCU进入开机载入程序模式;以及当MCU处于开机载入程序模式下时,执行所提及的更新MCU的韧件的方法。
附图说明
结合附图阅读以下详细描述会最佳地理解本公开的各方面。应注意,各种特征可能未按比例绘制。事实上,可出于论述清楚起见,而任意地增大或减小各种特征的尺寸。
图1为根据本公开的一些实施例的包含经更新韧件提供器及经更新韧件接收器的韧件更新环境的框图。
图2为根据本公开的一些实施例的包含经更新韧件提供器、用户终端及计算机可读媒体的韧件更新环境的框图。
图3为说明根据本公开的一些实施例的存储模块与母板之间的连接的连接图。
图4A及图4B为展示根据本公开的一些实施例的微控制器单元中的如果干功能区块的框图。
图5为展示根据本公开的一些实施例的用于韧件初始化及更新的方法的流程图。
图6为根据本公开的一些实施例的处理经更新韧件档案的示意图。
图7为展示根据本公开的一些实施例的用于韧件初始化及更新的方法的流程图。
图8为展示根据本公开的一些实施例的用于韧件初始化及更新的方法的流程图。
图9为根据本公开的一些比较实施例的存储模块。
具体实施方式
以下揭示内容提供用于实施所提供的主题的不同特征的许多不同实施例或实例。下文描述组件及配置的特定实例以简化本公开。当然,这些组件及配置仅为实例且不意欲为限制性的。在本公开中,在以下描述中提及第一特征形成于第二特征上方或上可包含第一特征与第二特征直接接触地形成的实施例,且还可包含额外特征可在第一特征与第二特征之间形成,使得第一特征与第二特征可能不直接接触的实施例。另外,本公开可在各种实例中重复附图标号及/或字母。此重复是出于简化及清楚的目的,且本身并不指示所论述的各种实施例及/或配置之间的关系。
在下文更详细地论述本公开的实施例。然而,应了解,本公开提供可在广泛多种特定情境中体现的许多适用的概念。所论述特定实施例仅为说明性的且并不限制本公开的范围。
此外,为了易于描述,例如“在……之下”、“在……下方”、“在……上方”、“上部”、“下部”、“左侧”、“右侧”及其类似术语的空间相对术语可在本文中用于描述一个元件或特征与另一(或多个)元件或特征的如图式中所说明的关系。除图式中所描绘的定向以外,空间相对术语意欲涵盖装置在使用或操作中的不同定向。设备可以其它方式定向(旋转90度或处于其它定向),且本文中所使用的空间相对描述词可同样相应地进行解译。应理解,当元件被称为“连接至”或“耦接至”另一元件时,所述元件可直接连接至或耦接至另一元件,或可存在介入元件。
阐述本公开的广泛范围的数值范围及参数为近似值,且可尽可能精确地报告特定实例中阐述的数值。然而,一些数值可含有由各别测试量测值中发现的标准差必然引起的某些误差。此外,如本文中所使用,术语“约”通常意谓在给定值或范围的±10%、±5%、±1%或±0.5%内。替代地,所属领域的技术人员认为,术语“约”意谓在平均值的可接受标准误差内。除在操作/工作实例中以外,或除非以其它方式明确指定,否则数值范围、量、值及百分比(例如,本文中所揭示的材料数量、持续时间、温度、操作条件、量的比率等)中的所有应理解为在所有情况下由术语“约”修饰。因此,除非有相反指示,否则本公开及所附权利要求书中所阐述的数值参数为可变化的近似值。至少,应根据所报导的有效数位的数字且通过应用一般舍入技术理解各数值参数。范围可在本文中表现为自一个端点至另一端点或在两个端点之间。除非另外指定,否则本文中所揭示的所有范围包含端点。术语“大体上共面”可指沿着同一平面处于数微米(μm)内(例如,沿着同一平面处于10μm内、5μm内、1μm内或0.5μm内)的两个表面。在称数值或特性“大体上”相同时,所述术语可指所述值处于所述值的平均值的±10%、±5%、±1%或±0.5%内。
一些组件可整合至(Dynamic Random Access Memory,DRAM)模块中以提供额外功能(例如,视觉效果、音频效果、功率管理等)。微控制器单元(Microcontroller Unit,MCU)也并入至DRAM模块中以控制这些组件。
参看图1,其为根据本公开的一些实施例的包含经更新韧件提供端11及经更新韧件接收端13的韧件更新环境的框图。经更新韧件接收端13包含通信模块131、中央处理单元(CPU)132及包含MCU 135的存储模块133。通信模块131、CPU 133及存储模块133安置于母板139上,且由总线130电耦接。在此韧件更新环境中,在经更新韧件提供端11与经更新韧件接收端13之间建立网络连接10以用于传输相关数据。将在下文中进一步描述所述元件之间的交互作用。
在一些实施例中,当经更新韧件110经开发且分配就绪时,经更新韧件提供端11可将经更新韧件110经由网络连接10传输至经更新韧件接收端13。另一方面,经更新韧件接收端13的通信模块131接收经更新韧件110。接着,在经更新韧件接收端13接收经更新韧件110之后,经更新韧件接收端13的CPU 132可预处理更新韧件110,且将更新韧件110转送至存储模块133的MCU 135。因此,MCU 135可由经更新韧件110更新MCU 135的韧件。
应特别了解,在一些实施例中,通信模块可为网络数据传输器及网络数据接收器的组合,或用于传输网络数据及接收网络数据的电路的组合。然而,此类描述不意欲限制本公开的硬件实现实施例。
参看图2,其为根据本公开的一些实施例的包含经更新韧件提供端21、经更新韧件装置23、用户终端25及计算机可读媒体27的韧件更新环境的框图。经更新韧件装置23包含接口231、CPU 232及包含MCU 235的存储模块233。接口231、CPU 233及存储模块233安置于母板239上,且由总线230电耦接。将在下文中进一步描述所述元件之间的交互作用。
在一些实施例中,当经更新韧件210经开发且分配就绪时,经更新韧件210可首先记录于计算机可读媒体27中。随后,经更新韧件提供端21将具有经更新韧件210的计算机可读媒体27提供至用户终端25。在用户终端25获得具有经更新韧件210的计算机可读媒体27之后,经更新韧件装置23的接口231可用于自计算机可读媒体27撷取经更新韧件210。接着,在经更新韧件装置23撷取经更新韧件210之后,经更新韧件装置23的CPU 232可预处理更新韧件210,并将更新韧件210转送至存储模块233的MCU235。因此,MCU 235可由经更新韧件210更新MCU 235的韧件。
应特别了解,在一些实施例中,计算机可读媒体可实施为非暂时性电子产品,例如只读存储器(Read-Only Memory,ROM)、快闪存储器、软盘、硬盘、光盘(Compact Disc,CD)、数位光学光盘(Digital Versatile Disc,DVD)、蓝光光盘(Blueray Disc,BD)或任何其它具有相同功能的存储媒体。接口可为I/O端口或用于接收计算机可读媒体的数据读取设备。然而,此类描述不意欲限制本公开的硬件实现实施例。
参看图3,其为说明根据本公开的一些实施例的母板339上的存储模块333与CPU332之间的连接的连接图。存储模块333包含具有接口337的模块板334、安置于模块板334上的MCU 335及安置于模块板334上的多个易失性存储组件U1至U8。存储模块333经由接口337附接至母板339,且MCU 335经由接口337与母板339上的CPU 332交换数据。将在下文中进一步描述所述元件之间的交互作用。
在一些实施例中,当MCU 335进入开机载入程序模式时,MCU 335可进入更新过程。因此,MCU 335自CPU 332接收经更新韧件档案310的多个数据块及多个检查和。多个数据块中的每一个与多个检查和的指定检查和配对。接着,MCU 335检查每一数据块是否对应于指定检查和。当每一数据块对应于指定检查和时,数据块经验证且作为数据块的集合的经更新韧件档案310因此经验证。因此,MCU 335可由经更新韧件档案310更新并进入应用程序模式。另一方面,当有一个数据块未对应于指定检查和时,数据块的传输可能不完整或数据块在传输期间偶然更改或损坏。因此,MCU 335可保持在开机载入程序模式中且重新检查每一数据块是否对应于指定的数据块。
在一些实施例中,MCU 335可经由接口337及系统管理总线(System ManagementBus,SMBus)或集成电路间(Inter-Integrated Circuit,IIC)总线330与母板339上的CPU332通信。在一些实施例中,存储模块333包含串行存在检测(Serial Presence Detect,SPD)单元336,且SMBus或IIC总线330可用于SPD单元336与CPU 332通信。在一些实施例中,MCU 335共用通信信道,例如SPD单元336与CPU 332之间的SMBus或IIC总线330。由于SMBus或CII总线330将多个装置或模块连接至母板339,因此前述多个装置或模块可经由SMBus或CII总线330同时发送或接收数据。然而,SMBus或CII总线330一次仅可允许一个装置或模块将数据发送或接收至母板339/自母板339发送或接收数据,因此,故障或不完整数据传输可必然在SMBus或CII总线330与母板339上的CPU 332之间发生。为了减少此传输困难,尤其在使用SMBus或CII总线330作为通信信道时,数据传输的精确性可通过一次传输一对数据块及指定检查和来提高,如将于本公开的图5至图8中所论述。
应特别了解,在一些实施例中,易失性存储组件U1至U8可包含DRAM的存储单元。接口337可为与外围组件互连(Peripheral Component Interconnect,PCI)或外围组件高速互连(Peripheral Component Interconnect Express,PCI-E、PCIe)相容的接口。然而,此类描述不意欲限制本公开的硬件实现实施例。
参看图4A,其为展示根据本公开的一些实施例的MCU 435中的功能块的框图。MCU435包含处理单元435P及存储单元435M。存储单元435P可包含开机载入程序区段4354。开机载入程序区段4354存储计算机程序码PG。将在下文中进一步描述所述元件之间的交互作用。
在一些实施例中,当计算机程序码PG由处理单元435P执行时,使得MCU 435根据多个数据块411及与所述数据块相关联的多个检查和412执行第一检查机制PG1,以在韧件更新期间产生多个第一检查结果。换句话说,当MCU 435处于开机载入程序模式下时,MCU 435根据数据块411及检查和412执行第一检查机制PG1以产生第一检查结果,且检查第一检查结果对于更新韧件而言是否全部正确。
参看图4B,其为展示根据本公开的一些实施例的MCU 435中的详细功能块的框图。存储单元435P可进一步包含应用程序区段4350及数据区段4352。应用程序区段4350存储应用程序数据4350a。数据区段4352存储应用程序数据4350a的信息4352a及应用程序检查和4352b。将在下文中进一步描述所述元件之间的交互作用。
在一些实施例中,应用程序数据4350a可包含MCU 435的应用程序韧件。应用程序数据4350a的信息4352a可包含应用程序韧件的版本、应用程序韧件的大小及应用程序韧件的存储器地址。应用程序检查和4352b可为基于应用程序数据4350a而产生的检查和数据。
应注意,在一些实施例中,应用程序检查和4352b的产生可通过将应用程序数据4350a输入检查和函数来实施。详细地说,检查和函数可与散列函数、指纹、随机化函数或密码散列函数有关。因此,在将应用程序数据4350a输入检查和函数中时,对应于应用程序数据4350a的应用程序检查和4352b导出为检查和函数的输出。因此,由于应用程序数据4350a与应用程序检查和4352b之间的相关性,应用程序检查和4352b可用于验证应用程序数据4350a是否尚未偶然更改或损坏。
开机载入程序区段4354存储用于MCU 435的计算机程序码PG以在不同阶段执行不同检查机制。在一些实施例中,当MCU 435经激活时MCU 435处于初始化阶段,且计算机程序码PG由处理单元435P执行以用于根据应用程序数据4350a及应用程序检查和4352执行第二检查机制PG2,以产生第二检查结果。特定来说,由于应用程序检查和4352b为应用程序数据4350a的检查和数据,因此处理单元435可检查应用程序检查和4352b是否对应于应用程序数据4350a,并产生第二检查结果。
在一些实施例中,当第二检查结果正确时,即,当应用程序检查和4352b对应于应用程序数据4350a时,处理单元435P控制MCU 435进入应用程序模式。因此,对应于应用程序数据4350a的应用程序检查和4352b可指示应用程序数据4350a可能尚未偶然更改或损坏。因此,MCU 435可进入应用程序模式。在一些实施例中,当第二检查结果不正确时,即,当应用程序检查和4352b未对应于应用程序数据4350a时,处理单元435P控制MCU 435进入开机载入程序模式。因此,未能对应于应用程序数据4350a的应用程序检查和4352b可指示应用程序数据4350a可能已偶然更改或损坏。因此,MCU 435可进入开机载入程序模式以更新应用程序数据4350a。
在一些实施例中,当正经更新时,MCU 435处于更新阶段,且计算机程序码PG由处理单元435P执行以根据数据块411及指定给所述数据块411的检查和412执行第一检查机制PG1,以产生第一检查结果。特定来说,当MCU 435处于更新阶段时,处理单元435P首先接收数据块411及检查和412。由于一个检查和412指定给一个数据块411,因此处理单元435P可检查检查和412是否分别对应于数据块411,并产生第一检查结果。
在一些实施例中,当数据块411及检查和412的第一检查结果正确时,即,当检查和412分别对应于数据块411时,处理单元435P控制MCU 435自开机载入程序模式进入应用程序模式。因此,对应于数据块411的检查和412可指示,用于更新MCU 435的数据块411的传输已完成且所接收的数据块411经验证。因此,MCU 435可经更新且接着进入应用程序模式。
在一些实施例中,当第一检查结果中的一个不正确时,即,当数据块411的一个数据块411a未对应于检查和412中指定给数据块411a的一个检查和412a时,处理单元435P控制MCU 435保持在开机载入程序模式。因此,未能对应于指定检查和412a的一个数据块411a可指示,用于更新MCU 435的数据块411a的传输中的一个不完整或数据块411a可在传输期间偶然更改或损坏。因此,MCU 435可保持在开机载入程序模式。此外,MCU 435可重新撷取数据块411a及检查和412a以用于重新产生对应检查结果,且基于前述操作再次检查对应检查结果的正确性。
本公开的一些实施例包含一种用于韧件初始化及更新的方法,且其流程图展示于图5中。一些实施例的方法用于MCU(例如,前述实施例的MCU)中,且MCU经由信道(例如,前述实施例的SMBus或IIC总线)与外部CPU(例如,前述实施例的母板的CPU)通信。方法的详细操作如下。
MCU执行操作S501以根据存储于MCU的应用程序区段中的应用程序数据及存储于MCU的数据区段中的应用程序检查和执行检查机制以产生检查结果。在此实施例中,应用程序检查和应对应于应用程序数据。MCU执行操作S502以检查所述检查结果是否正确。换句话说,在操作S502中,MCU检查应用程序检查和是否对应于应用程序数据。
在一些实施例中,当检查结果正确时(即,当所述对应用程序检查和及应用程序数据对应时),MCU执行操作S503以进入应用程序模式。在一些实施例中,当检查结果不正确时(即,当所述对应用程序检查和及应用程序数据不对应时),MCU执行操作S504以进入开机载入程序模式。MCU执行操作S505以基于前述实施例执行韧件更新。
本公开的一些实施例包含一种用于韧件初始化及更新的方法,且其流程图展示于图7中。一些实施例的方法用于MCU(例如,前述实施例的MCU)中,且MCU经由信道(例如,前述实施例的SMBus及IIC总线)与外部CPU(例如,前述实施例的母板的CPU)通信。方法的详细操作如下。
在由经更新韧件档案更新MCU之前,更新韧件档案可由外部CPU处理以导出数据块及检查和对,如图6中所示。随后,MCU执行操作S701以进入开机载入程序模式。MCU执行操作S702以经由信道接收经更新韧件档案的一对数据块i及检查和i。在一些实施例中,经更新韧件档案包含N个数目的数据块及与N个数目的数据块相关联的N个数目的检查和,且检查和i指定给数据块i,其中i等于1至N。MCU执行操作S703以对所述对数据块i及检查和i执行检查机制,以产生检查结果i。MCU执行操作S704以确定检查结果i是否正确。换句话说,在操作S704中,MCU检查检查和i是否对应于数据块i。
在一些实施例中,当检查结果i正确时(即,当所述对数据块i及检查和i对应时),MCU执行操作S705以确定数据块i是否为最末数据块。如果数据块i不为最末数据块,则MCU执行操作S706以将值1添加至i,且对MCU执行操作S702以接收下一对数据块及指定检查和并执行后续操作。如果数据块i经确定为最末数据块,则MCU执行操作S707以由经更新韧件档案更新MCU的韧件,所述经更新韧件档案可为所述对数据块及指定检查和的集合。MCU执行操作S708以在MCU的韧件更新之后进入应用程序模式。
在一些实施例中,当检查结果i在操作S704中经确定为不正确时(即,当所述对数据块i及检查和i不对应时),直接对MCU执行操作S702以再次接收所述对数据块i及检查和i并执行后续操作。
在一些实施例中,可指示MCU在更新韧件之前进入开机载入程序模式。详细地说,当外部CPU经由母板的通信模块自经更新韧件提供端撷取经更新韧件档案时,外部CPU可指示MCU进入开机载入程序模式并准备更新韧件。
在一些实施例中,当检查结果i在操作S704中经确定为不正确时,视情况MCU执行操作S709(由虚线表示)以通知外部CPU重新发送经更新韧件档案的数据块i及检查和i。
本公开的一些实施例包含一种用于韧件初始化及更新的方法,且其流程图展示于图8中。一些实施例的方法用于MCU(例如,前述实施例的MCU)中,且MCU经由信道(例如,前述实施例的SMBus及IIC总线)与外部CPU(例如,前述实施例的母板的CPU)通信。方法的详细操作如下。
类似地,在由经更新韧件档案更新MCU之前,更新韧件档案可由外部CPU处理以导出数据块及检查和对,如图6中所示。随后,MCU执行操作S801以进入开机载入程序模式。MCU执行操作S802以经由信道接收经更新韧件档案的一对数据块i及检查和i。在一些实施例中,经更新韧件档案包含N个数目的数据块及与N个数目的数据块相关联的N个数目的检查和,且检查和i指定给数据块i,其中i等于1至N。MCU执行操作S803以对所述对数据块i及检查和i执行检查机制,以产生检查结果i。MCU执行操作S804以确定检查结果i是否正确。换句话说,在操作S804中,MCU检查检查和i是否对应于数据块i。
在一些实施例中,当检查结果i正确时(即,当所述对数据块i及检查和i对应时),MCU执行操作S805以确定数据块i是否为最末数据块。如果数据块i不为最末数据块,则MCU执行操作S806以将值1添加至i,且对MCU执行操作S802以接收下一对数据块及指定检查和并执行后续操作。
在一些实施例中,如果数据块i为最末数据块,MCU执行操作S807以对经更新韧件档案执行总检查机制,以产生总检查结果。MCU执行S808以确定总检查结果是否正确。换句话说,在操作S808中,MCU检查总检查和是否对应于经更新韧件档案。
在一些实施例中,当总检查结果正确时(即,当所述对经更新韧件档案及总检查和对应时),MCU执行操作S809以由经更新韧件档案更新MCU的韧件,所述经更新韧件档案为所述对数据块及指定检查和的集合。MCU执行操作S810以在MCU的韧件更新之后进入应用程序模式。
在一些实施例中,当总检查结果不正确时(即,当经更新韧件档案及总检查和不对应时),MCU执行操作S811以将i值重设为1,且对MCU执行操作S802以接收第一对数据块及指定的检查和并执行后续操作。
在一些实施例中,当检查结果i在操作S804中经确定为不正确时(即,当所述对数据块i及检查和i不对应时),直接对MCU执行操作S802以再次接收所述对数据块i及指定的检查和i并执行后续操作。
参看图9,其为展示存储模块的比较实施例。存储模块包含MCU 903、插座、跳线器或用于外部连接的连接器901,以及一些存储器U1、U2、U3、U4、U5、U6、U7及U8。
大体而言,如果存储模块由于MCU 903中发现的任何物理或硬件损害而出故障,则将旧MCU替换为另一MCU(例如,图9中未展示的新的或良好MCU)可为解决此问题的解决方案中的一个。
即使存储模块由于软件或韧件问题而出故障,具有经更新或相对较新版本的软件或韧件的另一MCU亦可用于替换MCU 903。然而,插座、跳线器或连接器901可为解决前述问题提供一种选项。举例来说,连接器901可接收信号或命令以更新实施于MCU 903中的软件或韧件。在更新之前,存储模块驻存的电子装置(例如,个人计算机、笔记本电脑、移动电话等)必须关闭或断电以取出或拔出存储模块。随后,存储模块必须发送至服务提供端以现场更新。关闭电子装置及运送存储模块可对用户造成不便。此外,存储模块(例如,连接器901与MCU 903之间的电连接的电路布局)上占据相对较大空间或面积的连接器901可能会不利地影响存储模块的小型化。

Claims (18)

1.一种微控制器单元MCU,其包括:
处理单元;及
存储单元,其中所述存储单元配置成包括:
开机载入程序区段,经配置以存储计算机程序码,其中所述计算机程序码在由所述处理单元执行时,使所述MCU:
根据多个数据块及与所述数据块相关联的多个检查和执行第一检查机制,以在韧件更新阶段产生多个第一检查结果。
2.根据权利要求1所述的MCU,其中所述存储单元进一步配置成包含:
应用程序区段,经配置以存储应用程序数据;及
数据区段,经配置以存储应用程序检查和及与所述应用程序数据相关联的信息;
其中当所述计算机程序码由所述处理单元执行时,进一步使所述MCU:
根据所述应用程序区段中的所述应用程序数据及所述数据区段中的所述应用程序检查和执行第二检查机制,以在初始化阶段产生第二检查结果。
3.根据权利要求2所述的MCU,其中所述数据区段中的所述应用程序数据的所述信息包括所述应用程序数据在所述应用程序区段中的大小或地址。
4.根据权利要求2所述的MCU,其中根据所述应用程序区段中的所述应用程序数据及所述数据区段中的所述应用程序检查和执行所述第二检查机制以在所述初始化阶段产生所述第二检查结果进一步包括:
当所述第二检查结果正确时,进入应用程序模式;以及
当所述第二检查结果不正确时,进入开机载入程序模式。
5.根据权利要求1所述的MCU,其中根据所述多个数据块及与所述数据块相关联的所述多个检查和执行所述第一检查机制以在所述韧件更新阶段产生所述多个第一检查结果进一步包括:
当所述多个第一检查结果正确时,自开机载入程序模式进入应用程序模式;以及
当所述多个第一检查结果中的一个不正确时,保持在所述开机载入程序模式。
6.一种存储模块,其包括:
模块板,具有接口;
多个易失性存储组件,位于所述模块板上且经由所述接口电连接至外部中央处理单元CPU;及
微控制器单元MCU,其位于所述模块板上,经配置以:
在开机载入程序模式下自所述外部CPU接收多个数据块及多个检查和,所述多个数据块中的每一个与来自所述多个检查和的指定检查和配对,其中所述多个数据块及所述多个检查和由所述外部CPU自经更新韧件档案中撷取;及
检查所述多个数据块中的每一个是否对应于所述指定检查和。
7.根据权利要求6所述的存储模块,其中所述MCU经配置以经由系统管理总线SMBus或集成电路间总线IIC与所述外部CPU通信。
8.根据权利要求7所述的存储模块,进一步包括经由所述SMBus或所述IIC与所述外部CPU通信的串行存在检测SPD单元。
9.一种用于更新微控制器单元MCU的韧件的方法,所述MCU经由信道与外部中央处理单元CPU以通信方式耦接,所述方法包括:
所述外部CPU接收经更新韧件档案;
所述外部CPU通过执行所述经更新韧件档案来获取多个数据块及与所述多个数据块相关联的多个检查和;
所述MCU接收所述多个数据块中的第一数据块及所述多个检查和中指定给所述第一数据块的第一检查和;以及
所述MCU根据所述第一数据块及所述第一检查和执行检查机制,以产生第一检查结果。
10.根据权利要求9所述的方法,其进一步包括:
所述MCU根据来自所述外部CPU的指令进入开机载入程序模式;
其中所述MCU在所述开机载入程序模式下接收所述第一数据块及所述第一检查和。
11.根据权利要求9所述的方法,其进一步包括:
当所述第一检查结果指示所述第一数据块对应于所述第一检查和时,所述MCU接收所述多个数据块中的第二数据块及所述多个检查和中指定给所述第二数据块的第二检查和;以及
所述MCU根据所述第二数据块及所述第二检查和执行所述检查机制,以产生第二检查结果。
12.根据权利要求9所述的方法,其进一步包括:
当所述第一检查结果指示所述第一数据块未对应于所述第一检查和时,所述MCU接收所述多个数据块中的所述第一数据块及所述多个检查和中的所述第一检查和;以及
所述MCU根据所述第一数据块及所述第一检查和执行所述检查机制,以重新产生所述第一检查结果。
13.根据权利要求12所述的方法,其中当所述第一检查结果指示所述第一数据块未对应于所述第一检查和时接收所述第一数据块及所述第一检查和进一步包括:
当所述第一检查结果指示所述第一数据块未对应于所述第一检查和时,所述MCU通知所述外部CPU重新发送所述第一数据块及指定给所述第一数据块的所述第一检查和;以及
所述MCU接收所述第一数据块及所述第一检查和。
14.根据权利要求9所述的方法,其进一步包括:
所述MCU接收所述多个数据块中的最末数据块及所述多个检查和中指定给所述最末数据块的最末检查和;以及
根据所述最末数据块及所述最末检查和执行所述检查机制,以产生最末检查结果;
当所述最末检查结果指示所述最末数据块对应于所述最末检查和时,所述MCU根据所述经更新韧件档案及韧件检查和执行总检查机制,以产生总检查结果。
15.根据权利要求14所述的方法,其中包括:
当所述总检查结果指示所述经更新韧件档案对应于所述韧件检查和时,所述MCU经由所述经更新韧件档案更新所述MCU的所述韧件。
16.根据权利要求15所述的方法,其进一步包括:
所述MCU在更新所述韧件之后进入应用程序模式。
17.根据权利要求9所述的方法,其中所述信道包括系统管理总线SMBus或集成电路间总线(IIC)。
18.一种用于初始化根据权利要求2所述的微控制器单元MCU的方法,所述MCU经由信道与外部中央处理单元CPU以通信方式耦接,所述方法包括:
所述MCU根据所述应用程序区段中的所述应用程序数据及所述数据区段中的所述应用程序检查和执行所述第二检查机制,以产生所述第二检查结果;
当所述第二检查结果正确时,所述MCU进入应用程序模式;
当所述第二检查结果不正确时,所述MCU进入开机载入程序模式;以及
当所述MCU处于所述开机载入程序模式时,执行根据权利要求9所述的方法。
CN201910259893.4A 2019-04-02 2019-04-02 微控制器、存储模块及用于更新微控制器的韧件的方法 Pending CN111766797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910259893.4A CN111766797A (zh) 2019-04-02 2019-04-02 微控制器、存储模块及用于更新微控制器的韧件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910259893.4A CN111766797A (zh) 2019-04-02 2019-04-02 微控制器、存储模块及用于更新微控制器的韧件的方法

Publications (1)

Publication Number Publication Date
CN111766797A true CN111766797A (zh) 2020-10-13

Family

ID=72718765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910259893.4A Pending CN111766797A (zh) 2019-04-02 2019-04-02 微控制器、存储模块及用于更新微控制器的韧件的方法

Country Status (1)

Country Link
CN (1) CN111766797A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521595A (zh) * 2003-01-29 2004-08-18 英属维尔京群岛诚景公司 精简型计算机升级的方法
CN1523501A (zh) * 2003-02-18 2004-08-25 联发科技股份有限公司 检查程序内容确保固件更新相容性的固件更新方法及装置
CN1629808A (zh) * 2003-12-18 2005-06-22 大同股份有限公司 固件更新的方法
CN1898643A (zh) * 2003-10-27 2007-01-17 美国能量变换公司 更新软件程序的系统和方法
CN1912831A (zh) * 2005-08-12 2007-02-14 虹光精密工业(苏州)有限公司 计算机外设装置及其档案更新方法
CN101243412A (zh) * 2005-08-15 2008-08-13 索尼爱立信移动通讯股份有限公司 用于安全检查模块中的可执行应用程序的系统、方法和计算机程序产品
CN101727329A (zh) * 2008-10-15 2010-06-09 群联电子股份有限公司 主机板系统、启动此主机板系统的储存装置及连接器
US20120117365A1 (en) * 2010-11-08 2012-05-10 Delta Electronics (Thailand) Public Co., Ltd. Firmware update method and system for micro-controller unit in power supply unit
CN105468393A (zh) * 2014-09-10 2016-04-06 启碁科技股份有限公司 模块版本升级方法及终端装置
CN105808270A (zh) * 2014-12-17 2016-07-27 纬创资通股份有限公司 固件变量更新方法
CN106716926A (zh) * 2014-09-25 2017-05-24 微软技术许可有限责任公司 硬件库存的自动化独立式引导电路
CN107025406A (zh) * 2016-02-01 2017-08-08 广达电脑股份有限公司 母板、计算机可读存储装置以及固件验证方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1521595A (zh) * 2003-01-29 2004-08-18 英属维尔京群岛诚景公司 精简型计算机升级的方法
CN1523501A (zh) * 2003-02-18 2004-08-25 联发科技股份有限公司 检查程序内容确保固件更新相容性的固件更新方法及装置
CN1898643A (zh) * 2003-10-27 2007-01-17 美国能量变换公司 更新软件程序的系统和方法
CN1629808A (zh) * 2003-12-18 2005-06-22 大同股份有限公司 固件更新的方法
CN1912831A (zh) * 2005-08-12 2007-02-14 虹光精密工业(苏州)有限公司 计算机外设装置及其档案更新方法
CN101243412A (zh) * 2005-08-15 2008-08-13 索尼爱立信移动通讯股份有限公司 用于安全检查模块中的可执行应用程序的系统、方法和计算机程序产品
CN101727329A (zh) * 2008-10-15 2010-06-09 群联电子股份有限公司 主机板系统、启动此主机板系统的储存装置及连接器
US20120117365A1 (en) * 2010-11-08 2012-05-10 Delta Electronics (Thailand) Public Co., Ltd. Firmware update method and system for micro-controller unit in power supply unit
CN102467401A (zh) * 2010-11-08 2012-05-23 泰商泰达电子公司 电源供应单元的微控制器单元的固件更新方法与系统
CN105468393A (zh) * 2014-09-10 2016-04-06 启碁科技股份有限公司 模块版本升级方法及终端装置
CN106716926A (zh) * 2014-09-25 2017-05-24 微软技术许可有限责任公司 硬件库存的自动化独立式引导电路
CN105808270A (zh) * 2014-12-17 2016-07-27 纬创资通股份有限公司 固件变量更新方法
CN107025406A (zh) * 2016-02-01 2017-08-08 广达电脑股份有限公司 母板、计算机可读存储装置以及固件验证方法

Similar Documents

Publication Publication Date Title
CN107493685B (zh) 经由端口控制器自身的外部端口对端口控制器进行再编程
US8943302B2 (en) Method of flashing bios using service processor and computer system using the same
US10860425B2 (en) Method for recovering basic input/output system image file of a computer system and the computer system
US10324888B2 (en) Verifying a communication bus connection to a peripheral device
US8438374B2 (en) Computer system and control method of the same
US20180081550A1 (en) System and method for detecting redundant array of independent disks (raid) controller state from baseboard management controller (bmc)
US10803001B2 (en) Electronic device and operating method thereof
CN103475514A (zh) 无bmc的节点、集群系统及bios修复和升级方法
TWI507876B (zh) 記憶體儲存裝置及控制方法、記憶體控制電路單元及模組
US11010250B2 (en) Memory device failure recovery system
US11036665B2 (en) Electronic system capable of detecting number of hot plug insertion and extraction cycles
US11740969B2 (en) Detecting and recovering a corrupted non-volatile random-access memory
CN111766797A (zh) 微控制器、存储模块及用于更新微控制器的韧件的方法
TWI768198B (zh) 微控制器、記憶體模組及用於更新微控制器之韌體的方法
US11720276B2 (en) Memory system and controller for managing write status
US9940289B2 (en) Preventing access to misplugged devices by a service processor
US11163348B2 (en) Connectors that connect a storage device and power supply control device, and related power supply control devices and host interface devices
US10489334B2 (en) Server system and method for detecting transmission mode of server system
US20170270021A1 (en) Repair of failed firmware through an unmodified dual-role communication port
CN111176902A (zh) 一种使用BMC Flash备份Controller Device韧体的装置和方法
TWI685745B (zh) 冗餘束磁碟
US11341014B2 (en) System and method for generating a hotkey in a pre-boot environment
US20210349513A1 (en) System and method for enabling a peripheral device expansion card without sideband cable connection
CN115437658A (zh) 固件维护方法及其系统
US20210141627A1 (en) Power delivery controller updates

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