《利用序列周边接口对固件复制系统与其方法.pdf》由会员分享,可在线阅读,更多相关《利用序列周边接口对固件复制系统与其方法.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103092705 A (43)申请公布日 2013.05.08 CN 103092705 A *CN103092705A* (21)申请号 201110339409.2 (22)申请日 2011.10.28 G06F 11/00(2006.01) G06F 13/38(2006.01) (71)申请人 精拓科技股份有限公司 地址 中国台湾新竹县竹北市台元街 36 号楼 3 楼之 7 (72)发明人 吴敦仁 陈勇廷 (74)专利代理机构 北京律诚同业知识产权代理 有限公司 11006 代理人 梁挥 常大军 (54) 发明名称 利用序列周边接口对固件复制系统与其方法 (。
2、57) 摘要 一种利用序列周边接口对固件复制系统与 其方法, 通过序列周边接口 (Serial Peripheral Interface, SPI) 将固件同步的复制到目标设备 中。复制系统包括主控制设备、 来源设备与至少 一目标设备。主控制设备电性连接来源设备与目 标设备。来源设备用以储存固件。主控制设备选 择欲进行复制的目标设备。主控制设备向来源设 备发出地址读取命令, 藉以获得固件的区段数据。 主控制设备在接收区段数据的期间, 主控制设备 会向目标设备发出固件写入命令。主控制设备在 接收区段数据时, 主控制设备根据所指派的区段 地址将所接收的区段数据写入目标设备的相应位 置。 (51)I。
3、nt.Cl. 权利要求书 2 页 说明书 6 页 附图 10 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书6页 附图10页 (10)申请公布号 CN 103092705 A CN 103092705 A *CN103092705A* 1/2 页 2 1. 一种利用序列周边接口对固件复制系统, 其特征在于, 将一固件复制至其它目标设 备中, 该固件复制系统包括 : 一来源设备, 储存该固件 ; 至少一目标设备, 电性连接于该来源设备 ; 以及 一主控制设备, 分别电性连接于该来源设备与该目标设备 ; 其中, 该主控制设备向该来源设备发出一地址读取命令, 。
4、藉以获得该固件的一区段数 据, 该主控制设备接收该区段数据的期间, 该主控制设备向该目标设备发出一固件写入命 令, 该主控制设备在接收该区段数据时, 该主控制设备根据一区段地址将所接收的该区段 数据写入该目标设备的相应位置。 2. 根据权利要求 1 所述的利用序列周边接口对固件复制系统, 其特征在于, 该主控制 设备还包括一设备选择组件, 该设备选择组件用以选择欲进行复制该固件的该些目标设 备。 3. 根据权利要求 2 所述的利用序列周边接口对固件复制系统, 其特征在于, 该设备选 择组件为一跳线器、 一切换开关或一芯片组。 4. 根据权利要求 1 所述的利用序列周边接口对固件复制系统, 其特。
5、征在于, 该主控制 设备若完整读取该固件, 则该主控制设备结束对该目标设备的复制处理。 5. 根据权利要求 4 所述的利用序列周边接口对固件复制系统, 其特征在于, 该主控制 设备未完整读取该固件, 则该主控制设备重复执行该地址读取命令, 并将相应的该区段数 据写入该目标设备。 6. 一种利用序列周边接口对固件复制方法, 将一来源设备的一固件复制到一目标设 备, 该复制方法包括以下步骤 : 由一主控制设备向该来源设备发出一地址读取命令, 用以获得该固件的一区段数据 ; 该主控制设备在接收该区段数据的期间中, 该主控制设备向该目标设备发出一固件写 入命令 ; 在该主控制设备发出该固件写入命令后,。
6、 该主控制设备向该目标设备指派一区段地址 并且该主控制设备接收来自于该来源设备的该区段数据 ; 该主控制设备将所接收的该区段数据传送给该目标设备 ; 以及 该目标设备根据该区段地址将该区段数据写入该目标设备的相应位置。 7. 根据权利要求 6 所述的利用序列周边接口对固件复制方法, 其特征在于, 由一设备 选择组件向该主控制设备发出选择该目标设备的选择要求, 并对所选择的该目标设备执行 该固件写入命令, 其中, 该设备选择组件为一跳线器、 一切换开关或一芯片组。 8. 根据权利要求 7 所述的利用序列周边接口对固件复制方法, 其特征在于, 于写入该 目标设备的相应位置的步骤后还包括 : 由该主。
7、控制设备判断是否完整的读取该固件 ; 若已完整的读取该固件, 则该主控制设备结束对该目标设备的复制处理 ; 以及 若未完整的读取该固件, 则该主控制设备重复执行该地址读取命令, 并将相应的该区 段数据写入该目标设备。 9. 根据权利要求 7 所述的利用序列周边接口对固件复制方法, 其特征在于, 该来源设 备进入一电源管理状态时, 该来源设备根据该设备选择组件将该固件复制至该相应的该目 权 利 要 求 书 CN 103092705 A 2 2/2 页 3 标设备, 其中该电源管理状态包括状态 S1、 S2、 S3、 S4 或 S5。 10. 根据权利要求 6 所述的利用序列周边接口对固件复制方法。
8、, 其特征在于, 在由该主 控制设备发出该地址读取命令前还包括 : 该来源设备进入一电源管理状态 ; 由该主控制设备检测该目标设备的该固件是否毁损 ; 以及 若该目标设备的该固件毁损时, 则该主控制设备进行该固件的复制处理。 权 利 要 求 书 CN 103092705 A 3 1/6 页 4 利用序列周边接口对固件复制系统与其方法 技术领域 0001 本发明涉及一种固件复制系统及其方法, 特别涉及一种利用序列周边接口同步读 取与写入的固件复制系统及其方法。 背景技术 0002 随着微机电技术的快速发展, 使得电子装置的功能越发的多样化。一般而言为能 驱动电子装置的运作需要软件与硬件的相互配合。
9、。而硬件方面多会以固件 (firmware) 作 为与软件的沟通接口。 举例来说, 基本输入/输出系统(简称Basic Input/Output System, BIOS) 相对于一计算机 ( 例如 : 个人计算机或服务器 ), 可以将其视为主机板 (main board) 的硬件运作核心。若是储存装置中的 BIOS 码发生毁损或数据不完整的情况时, 将使得计 算机系统无法顺利开机。在此情况下, 为了避免因 BIOS 损坏而导致计算机系统无法运作, 现有技术利用设置多组储存装置来存放多份备份 BIOS 码, 并设定优先级, 当遭遇前述问题 时, 便依序变换至其它组储存装置, 以解决只有单组 B。
10、IOS 时的窘境。但是, 使用前述方式, 虽可实时解决无法开机的问题, 却也因而耗费过多的制造成本而变得不切实际。 0003 请参考图 1A 所示, 其为现有技术的硬件架构示意图。一般而言, 计算机系统可 以通过序列周边接口 (Serial Peripheral Interface, SPI) 进行 BIOS 的复制。现有的 架构是由主机板中的芯片组 110(chipset) 连接于 SPI 设备, 而 SPI 设备是由主控制设备 120(master) 连接于从属设备 (slave)。在主控制设备 120 中还包括主储存单元 121。将储 存 BIOS 码 131 的此一 SPI 设备定义为。
11、来源设备 130。而其它欲更新 BIOS 码 131 的从属设 备定义为目标设备。目标设备 140 还包括从属储存单元 141。 0004 当系统开机时, 主控制设备 120 会先存取目标设备 140 中的检查程序并执行检查 程序, 以检查来源设备130中的BIOS码131是否有损坏的问题发生。 若无损坏情况发生时, 则主控制设备 120 会进而存取并执行 BIOS 码 131, 来进行开机程序。若是有损坏情况发生 时, 则将来源设备 130 中的备份 BIOS 码 131 复制至目标设备 140, 接着, 主控制设备 120 再 存取并执行经复制的 BIOS 码 131, 来进行开机程序。 。
12、0005 在烧录的过程中主控制设备 120 需要完整的从来源设备 130 中读取 BIOS 码 131 后方能对目标设备 140 进行 BIOS 码 131 的写入。在主控制设备 120 接收到芯片组 110 的 复制要求后, 主控制设备 120 会向来源设备 130 发出 BIOS 的读取要求。为了清楚说明主控 制设备120与来源设备130的读取要求的操作顺序, 还请参考图1B, 其为现有技术的来源设 备的运作波形示意图。当来源设备 130 接收 BIOS 读取要求时, 来源设备 130 的输入脚位会 产生如图 1B 的触发波形。接下来, 于此同时由来源设备 130 的输出脚位开始输出 BI。
13、OS 的 区段数据。在指派 BIOS 的区段地址后, 主控制设备 120 会令来源设备 130 的输入脚位进入 三态 (three-state, 简称 tri-state) 中 ( 对应于图 1B 中输入脚位的波形的粗黑线 )。如 此一来, 使得来源设备 130 在接下来的过程中仅能被读取 BIOS 的数据区段。而被读取的区 段数据则由输出脚位输出至主控制设备 120。主控制设备 120 会将所接收到的 BIOS 码 131 暂存于储存单元中。 说 明 书 CN 103092705 A 4 2/6 页 5 0006 相对于来源设备 130 的读取操作, 主控制设备 120 在对目标设备 140。
14、 进行写入的 过程会执行下列的操作, 并请参考图 1C 所示, 其为现有技术的目标设备的运作波形示意 图。当主控制设备 120 向目标设备 140 发出写入要求后, 目标设备 140 的输出脚位会恒处 于 tri-state。接着, 向目标设备 140 的输入脚位发出一起始波形。随后, 主控制设备 120 根据现有所接收的BIOS的区段地址与区段数据依序的写入目标设备140, 意即图1C的输入 脚位的波形变化。 0007 由于现有技术需要将BIOS完整的读出才能开始对目标设备140进行写入的处理, 因此整体的运作时间就会拉长。再者, 主控制设备 120 中也需要设置相应大小的储存单元, 所以对。
15、于不同种类的主机板与 BIOS 就需要各别的设置相应容量的主储存单元 121 与从属 储存单元 141, 这样也使得设置成本相对的提高。 发明内容 0008 鉴 于 以 上 的 问 题, 本 发 明 的 目 的 在 于 提 供 一 种 利 用 序 列 周 边 接 口 (SerialPeripheral Interface, SPI) 对固件复制系统, 将来源设备的固件实时的复制至其 它目标设备之中。 0009 本发明所揭露的利用序列周边接口对固件复制系统包括 : 主控制设备、 来源设备 与至少一目标设备。主控制设备电性连接来源设备与目标设备。来源设备用以储存固件。 主控制设备选择欲进行复制的目。
16、标设备。主控制设备向来源设备发出地址读取命令, 藉以 获得固件的区段数据。主控制设备接收区段数据的期间, 主控制设备向目标设备发出固件 写入命令。主控制设备在接收区段数据时, 主控制设备根据区段地址将所接收的区段数据 写入目标设备的相应位置。 当完成部分固件的读取与写入后, 主控制设备重复上述步骤, 直 至所有固件复制到其它目标设备完成为止。 0010 本发明还提出一种利用序列周边接口对固件复制方法, 包括以下步骤 : 由主控制 设备向来源设备发出地址读取命令, 用以获得固件的区段数据 ; 主控制设备在接收区段数 据的期间中, 主控制设备向目标设备发出固件写入命令 ; 在发出固件写入命令后, 。
17、主控制设 备分别向目标设备指派区段地址并接收来自于来源设备的区段数据 ; 主控制设备将所接收 的区段数据传送给目标设备 ; 目标设备根据区段地址将区段数据写入目标设备的相应位 置。 0011 本发明所提出的利用序列周边接口对固件复制系统与方法可以使得主控制设备 可以在一边读取来源设备的固件时, 也可以同时的将固件复制到目标设备中。因此本发明 的固件复制系统可以减少读取时的等待时间。 也可以不需在主控制设备中设置额外的记忆 体, 所以可以降低系统的设置成本。 0012 以下结合附图和具体实施例对本发明进行详细描述, 但不作为对本发明的限定。 附图说明 0013 图 1A 为现有技术的硬件架构示意。
18、图 ; 0014 图 1B 为现有技术的来源设备的运作波形示意图 ; 0015 图 1C 为现有技术的目标设备的运作波形示意图 ; 0016 图 2 为本发明的复制系统架构示意图 ; 说 明 书 CN 103092705 A 5 3/6 页 6 0017 图 3 为本发明的运作流程示意图 ; 0018 图 4 为本发明的主控制设备的波形示意图 ; 0019 图 5A 为本发明的波形示意图 ; 0020 图 5B 为本发明的波形示意图 ; 0021 图 5C 为本发明的波形示意图 ; 0022 图 5D 为本发明的波形示意图。 0023 其中, 附图标记 0024 芯片组 110 0025 主控。
19、制设备 120 0026 主储存单元 121 0027 来源设备 130 0028 BIOS 码 131 0029 目标设备 140 0030 从属储存单元 141 0031 设备选择组件 210 0032 主控制设备 220 0033 主时脉脚位 221 0034 主输入脚位 222 0035 主输出脚位 223 0036 来源选择脚位 224 0037 目标选择脚位 225 0038 来源设备 230 0039 第一储存单元 231 0040 第一时脉脚位 2331 0041 第一输入脚位 2332 0042 第一输出脚位 2333 0043 第一选择脚位 2334 0044 固件码 23。
20、2 0045 目标设备 240 0046 第二储存单元 241 0047 第二时脉脚位 2421 0048 第二输入脚位 2422 0049 第二输出脚位 2423 0050 第二选择脚位 2424 具体实施方式 0051 下面结合附图对本发明的结构原理和工作原理作具体的描述 : 0052 本发明可应用于具有序列周边接口的计算机 (computer) 或具有运算能力的电子 装置的中。本发明的固件复制系统包括设备选择组件与序列周边接口设备 ( 以下简称 SPI 说 明 书 CN 103092705 A 6 4/6 页 7 设备 )。设备选择组件 210 电性连接于 SPI 设备。在本发明的 SP。
21、I 设备中还包括 : 主控制 设备 220、 来源设备 230 与至少一目标设备 240。主控制设备 220 电性连接于设备选择组件 210、 来源设备 230 与目标设备 240 之间。设备选择组件 210 是为跳线器 (jumper)、 切换开 关 (switch) 或芯片组 (chipset) 的任一。举例来说, 设备选择组件 210 若为芯片组, 则使 用者可以通过相关的应用程序向芯片组下达选择目标设备 240 的指令。或者, 设备选择组 件 210 可以通过主控制设备 220 检测所连接的目标设备 240 是否毁损。 0053 此外, 若计算机于运作 ( 或电源管理状态 (ACPI)。
22、 位于 S1、 S2、 S3、 S4 或 S5( 电源管 理状态(ACPI)是由进阶设定与电源接口(Advanced Configurationand Power Interface, ACPI) 所规范 ) 的期间且主控制设备 220 发现目标设备 240 的固件发生毁损时, 主控制设 备 220 也可以立即对目标设备 240 进行固件的复制处理 ( 主控制设备 220 可以通过检错码 (Checksum) 等方式向目标设备 240 确认 )。换言之, 本发明的主控制设备 220 是由自身进 行检测目标设备 240, 并非仅通过外界的触发才进行复制。 0054 主控制设备 220 根据设备选。
23、择组件 210 所发送的复制要求从该些目标设备 240 中选取至少一目标设备 240 进行固件的复制处理。本发明所述的固件可以是但不限定为 BIOS, 也可以是系统程序 (System Program)。在本发明中为了清楚界定 SPI 设备的各项 从属设备 (slave)。因此将控制复制固件处理的 SPI 设备定义为主控制设备 220( 意即原 SPI 设备的 master), 储存固件码 232 的 SPI 设备定义为来源设备 230( 意即原 SPI 设备的 slave), 而其它欲进行复制的 SPI 设备则定义为目标设备 240( 意即原 SPI 设备的 slave)。 0055 来源设。
24、备 230 中另有第一储存单元 231 用以储存固件码 232。目标设备 240 则包 括第二储存单元 241, 用以储存所接收到的固件码 232。请参考图 2 所示, 其为本发明的复 制系统架构示意图。在本发明中是以一个目标设备 240 作为复制时的说明, 但实际在运作 时可以将其它目标设备 240 同时耦接于主控制设备 220 与来源设备 230。 0056 以下为能更清楚解释本发明的主控制设备 220、 来源设备 230 与目标设备 240 的 运作方式, 因此对各设备的连接脚位做更进一步的定义。主控制设备 220 包括主时脉脚 位 221(CLK)、 主输入脚位 222(SPI Bus。
25、 Master Output/SlaveInput, MOSI)、 主输出脚位 223(SPI Bus Master Input/Slave Output, MISO)、 来源选择脚位224与至少一目标选择脚 位 225。来源设备 230 包括第一时脉脚位 2331、 第一输入脚位 2332、 第一输出脚位 2333 与 第一选择脚位 2334。目标设备 240 包括第二时脉脚位 2421、 第二输入脚位 2422、 第二输出 脚位 2423 与第二选择脚位 2424。主输入脚位 222 分别电性连接于第二输入脚位 2422 与 第一输入脚位 2332。主输出脚位 223 分别电性连接于第二输。
26、出脚位 2423 与第一输出脚位 2333。来源选择脚位 224 连接于第一选择脚位 2334。 0057 在本发明的此一实施例中因以一个目标设备 240 作为说明, 所以图 2 中主控制设 备 220 是以一个目标选择脚位 225 作为显示。目标选择脚位 225 电性连接第二选择脚位 2424。若是有其它的目标设备 240 时, 则每一个目标选择脚位 225 会对应的连接于各自所 属的目标设备 240。 0058 以下对于本发明的运作流程进行解说, 还请同时参考图3与图4所示, 其是分别为 本发明的运作流程与主控制设备的波形示意图。本发明的复制处理包括以下步骤 : 0059 步骤 S310 。
27、: 由主控制设备向来源设备发出地址读取命令, 用以获得固件的区段数 据 ; 说 明 书 CN 103092705 A 7 5/6 页 8 0060 步骤 S320 : 主控制设备在接收区段数据的期间中, 主控制设备向目标设备发出固 件写入命令 ; 0061 步骤 S330 : 在发出固件写入命令后, 主控制设备向目标设备指派区段地址并接收 来自于来源设备的区段数据 ; 0062 步骤 S340 : 主控制设备将所接收的区段数据传送给目标设备 ; 0063 步骤 S350 : 目标设备根据区段地址将区段数据写入目标设备的相应位置 ; 0064 步骤 S360 : 由主控制设备判断是否读取完整的固。
28、件 ; 0065 步骤 S361 : 若主控制设备已完整的读取固件, 则主控制设备结束对目标设备的复 制处理 ; 以及 0066 步骤 S362 : 若主控制设备未完整的读取固件, 则主控制设备重复执行地址读取命 令, 并将相应的区段数据写入目标设备。 0067 首先, 通过设备选择组件 210 选择欲进行复制固件码 232 的目标设备 240。接着, 主控制设备 220 根据所决定的目标设备 240 开始向第一储存单元 231 读取固件码 232 的处 理。主控制设备 220 会向来源设备 230 发出地址读取命令。其中, 地址读取命令 ( 未标示 ) 包括固件码 232 在目标设备 240。
29、 中的区段地址 ( 意即对目标设备 240 的写入起始地址 ) 与 区段数据 ( 未标示 )。在图 4 中所代表的是主控制设备 220 的各脚位的波形。在图 4 中由 上往下的排列顺序为主时脉脚位 221(CLK)、 来源选择脚位 224、 目标选择脚位 225、 主输入 脚位 222 与主输出脚位 223 的各输出波形。 0068 主控制设备 220 会先通过来源选择脚位 224 将来源设备 230 致能 ( 意即图 4 中来 源选择脚位224的由高电位拉低的部分, 并请配合图5A的黑色虚线框), 并通过主输入脚位 222 发出地址读取命令。随后, 主控制设备 220 会先指派目标设备 24。
30、0 欲写入固件码 232 的 区段地址。主控制设备 220 于完成指派区段地址后, 主控制设备 220 才开始读取区段数据。 其中, 区段地址与区段数据所代表的是固件码 232 位于目标设备 240 上的写入位置与固件 码 232 的数据本体。在图 4 中是以区段地址包括 : 第一区段地址、 第二区段地址与第三区段 地址、 而区段数据则包括 : 第一区段数据、 第二区段数据、 第三区段数据、 第四区段数据、 第 五区段数据、 第六区段数据、 第七区段数据与第八区段数据作为说明, 但并非仅局限于此一 数量。在主控制设备 220 传送区段地址后, 主控制设备 220 在通过目标选择脚位 225 与。
31、主 输入脚位 222 向目标设备 240 发出固件写入命令。在此一实施例中是以区段地址传送完成 时作为发出固件写入命令的示意说明, 请参考图 5B 黑色粗线处所示。对于本领域技术人员 也可以将固件写入命令的发出时间定义在读取至少一个区段数据之后。 0069 因此, 主控制设备 220 在接获来自于来源设备 230 的区段数据后, 主控制设备 220 随即将区段数据转送至目标设备240。 换言之, 主控制设备220会以同步的方式接收并转送 区段数据。在图 5C 中的箭号所代表的是 : 主控制设备 220 通过主输入脚位 222 指派目标设 备 240 欲写入固件码 232 的相关地址的写入时间点。
32、。 0070 在主控制设备 220 将区段地址传送给目标设备 240 的期间, 主控制设备 220 接收 来自于来源设备 230 的区段数据, 如图 5D 的箭头所示。因此, 目标设备 240 可以根据区段 地址将区段数据写入目标设备 240 的相应位置。并且主控制设备 220 会收取各区段数据并 通过输入脚位依序发送至目标设备 240 的第二储存单元 241, 如图 4 所示。 0071 如此一来, 主控制设备 220 就完成此一回合的固件码 232 读取与写入的处理。若 说 明 书 CN 103092705 A 8 6/6 页 9 是来源设备 230 仍有还有固件码 232 尚未读出, 则。
33、主控制设备 220 会重复上述的读取与写 入的动作, 直至完整的复制来源设备 230 中的固件码 252 为止。 0072 本发明所提出的序列周边接口固件复制系统与方法可以使得主控制设备 220 可 以在一边读取来源设备 230 的固件码 232 时, 也可以同时的将固件码 252 复制到目标设备 240 中。因此本发明的固件复制系统可以减少读取时的等待时间。也可以不需在主控制设 备 220 中设置额外的记忆体, 所以可以降低复制系统的设置成本。 0073 当然, 本发明还可有其它多种实施例, 在不背离本发明精神及其实质的情况下, 熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,。
34、 但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。 说 明 书 CN 103092705 A 9 1/10 页 10 图 1A 说 明 书 附 图 CN 103092705 A 10 2/10 页 11 图 1B 说 明 书 附 图 CN 103092705 A 11 3/10 页 12 图 1C 说 明 书 附 图 CN 103092705 A 12 4/10 页 13 图 2 说 明 书 附 图 CN 103092705 A 13 5/10 页 14 图 3 说 明 书 附 图 CN 103092705 A 14 6/10 页 15 图 4 说 明 书 附 图 CN 103092705 A 15 7/10 页 16 图 5A 说 明 书 附 图 CN 103092705 A 16 8/10 页 17 图 5B 说 明 书 附 图 CN 103092705 A 17 9/10 页 18 图 5C 说 明 书 附 图 CN 103092705 A 18 10/10 页 19 图 5D 说 明 书 附 图 CN 103092705 A 19 。