用于在下载固件中校正错误的电路和方法

文档序号:6608457阅读:108来源:国知局
专利名称:用于在下载固件中校正错误的电路和方法
技术领域
这里公开的本发明涉及电子设备领域,更具体地涉及具有固件的电子设备。
背景技术
固件是指存储在存储器(如只读存储器(ROM))中的微程序,其控制 硬件。即使在固件也是一种程序这点上其被看作与软件相同,但是可以说固 件具有软件和硬件的全部特性,与普通的应用软件不同,因为它与硬件紧密
地相关。
在构造用于特殊功能的硬件中,用于所有电路的完全硬件结构可以导致 架构中增加的复杂度,并且甚至可能需要难以在逻辑图中表示的部分。
在这方面,通过组织包含软件的存储单元作为硬件的控制电路中的核心, 同时用软件替换相当多的部分,上述问题可能被处理同时还维持低成本。从 而制造的这种硬件化的软件被称为固件。
通常,电子设备(如MP3、存储棒、多媒体卡(MMC)、数字多功能用 盘(DVD)播放器、移动电话等等)由制造者通过包括基本固件制造。升级 固件可以用于向电子设备增加新功能,调整固件故障,或者改变或增强现有 功能。
公知的是,为了升级固件,需要将电子设备以有线或者无线模式与主机 (如计算机系统)连接,并且下载新的固件。然而,如果将主机连接到电子 设备的网络不稳定,或者由于主机系统的故障将错误引入固件,则可能将错 误的固件下载到电子设备中,其可能损害或影响电子设备的操作。

发明内容
一种使用固件操作的设备,能够包括非易失性存储器和配置为接收从外 部到电子设备的固件数据信号传输的接口电路,其中固件数据信号包括错误 校正码。错误校正电路耦合到接口电路以及非易失性存储器,并且被配置来修复在固件数据信号的传输期间引入固件数据信号的错误,以便在电子设备 提供校正的固件数据信号,并且将校正的固件数据信号存储到非易失性存储器中。
在根据本发明的某些实施例中,使用固件操作的电子设备包括错误校正 电路,该电路被配置来修复在固件数据信号在网络上的传输期间引入固件数 据信号的错误,以便在电子设备提供校正的固件数据信号,并且将校正的固 件数据信号存储到非易失性存储器中,其中固件数据信号包括错误校正码位 和循环冗余检验位。
在根据本发明的某些实施例中,错误校正码位和循环冗余检验位都包括 在数据包中,根据此接收固件数据信号。在根据本发明的某些实施例中,错
误校正电路还包括校正子发生器电路、耦合到校正子发生器电路的密钥方 程解算器电路、耦合到密钥方程解算器电路的Chien搜索错误评估器电路、 以及耦合到Chien搜索错误评估器电路的错误校正器电路。
在根据本发明的某些实施例中,更新存储在电子设备的非易失性存储器 中的固件的方法包括接收包括错误校正检验码位的固件数据信号,确定该 固件数据信号包括可校正的错误,校正包括在固件数据信号中的可校正的错 误以提供校正的固件数据信号,并且将校正的固件数据信号存储到非易失性 存储器中。
在根据本发明的某些实施例中,固件数据信号包括错误校正码位和循环 冗余检验位。在根据本发明的某些实施例中,包括在校正的固件数据信号中 的数据和错误校正码位适合在用于编程非易失性存储器的一个扇区大小的数
据量中。
在根据本发明的某些实施例中,固件下载系统包括主机系统和电子设备, 该主机系统配置来传输固件数据信号,该固件数据信号包括错误校正码,该 电子设备配置来接收来自主机系统的固件数据信号。该电子设备能够包括非 易失性存储器和接口电路,该接口电路配置来接收从外部到电子设备的固件 数据信号传输,其中固件数据信号包括错误校正码。错误校正电路耦合到接 口电路和非易失性存储器,并且被配置来修复在固件数据信号的传输期间引
入固件数据信号的错误,以便在电子设备提供校正的固件数据信号,并且将 校正的固件数据信号存储到非易失性存储器中。


参照以下附图将描述本发明的非限制和非穷举的实施例,除非另外指定, 其中相同的参考标号指遍及各个附图的相同的部分。附图中
图1是图示在根据本发明的某些实施例中的固件下载系统的框图。
图2显示包括CRC位的固件数据包的传统格式。
图3显示在根据本发明的某些实施例中的、包括CRC位和从主机传输的 错误校正码位的固件数据包的格式。框图。
具体实施例方式
下面将参照附图更全面地描述本发明的实施例,附图中显示本发明的实 施例。然而,本发明可以体现在许多不同形式中并且不应解释为限制在这里 列出的实施例。相反地,提供这些实施例以便本公开将彻底和完整,并且将 完全地将本发明的范围传达给本领域的技术人员。相同标号始终指相同元件。
应当理解,虽然这里使用术语第一、第二等描述各种元件,但是这些元 件并不由这些术语限于。这些术语仅^又用来使一个元件区别于另一个。例如, 在不背离本发明的范围情况下,第一元件可称为第二元件,并且类似地,第 二元件可以称为第一元件。如在这里使用的术语"和/或"包括一个或者多个 相关列出项的任何和全部组合。
这里使用的术语仅仅是用于描述特定实施例的目的并且不意在成为本发 明的限制。如在这里使用的单数形式"一"、"一个,,以及"该"都意在同样 包括复数形式,除非上下文清楚地另有指示。还应当理解,当这里使用的术 语"包括"、"现在包括"、"包含"和/或"现在包含"指一定的特征、整数、 步骤、操作、元件、和/或组件的存在,但是并不排除一个或者多个其他特征、 整数、步骤、操作、元件、组件、和/或它们的组的存在或添加。
除非另有定义,这里使用的全部术语(包括技术和科学术语)具有与一 名本发明所属领域技术人员通常理解相同的含义。还应当理解的是,这里使 用的术语应当解释为具有与其在本说明书上下文以及相关领域中含义一致的 含义,并且不应以理想化或者过度形式感觉解释,除非这里明显地如此定义。
图l是图示根据本发明的某些实施例的固件下载系统的框图。参照图1,固件下载系统包括主机100和电子设备200。电子设备200在通信网络上从 主机100下载固件202以便升级固件202。在才艮据本发明的某些实施例中, 电子设备200能够是个人计算机、个人数字助理(PDA)、数字照相机、MP3 播放器、或者DVD播放器等等。电子设备200还能够包括存储器卡接口来使 得外部存储器卡能够由电子设备200使用。电子设备200中可用的存储器卡 是能够存储语音或者要在例如便携式数字装置(如移动电话或者PDA)上播 放的运动图像数据的存储介质。存储器卡能够是智能媒体卡、致密闪卡、存 储器棒、安全数字(SD)卡等等。但是,本发明可适用于能够从主机下载固 件的其他设备或者装置,而不限制为电子数字产品和存储器卡。
主机100能够与电子设备200经由通信网络IIO通过连接器连接,以有 线方式经由例如连接到因特网或者其他网络。在根据本发明的某些实施例中, 主机100能够与电子设备200无线连接。
根据本发明的某些实施例,主机100传输固件数据信号到电子设备200, 该信号包含错误校正码(ECC )。在电子设备200接收到包含ECC的固件数 据信号后,其能够修复包括在或者引入固件数据信号的错误,并且将校正的 固件数据信号存储到非易失性存储器(未示出)中。
图2显示固件数据包的格式,而图3 (相比之下)显示本发明某些实施 例中从主机100传输的包括ECC和CRC位的固件数据包格式。固件数据包 的一般格式包括512字节数据和16字节的循环冗余检验(CRC )数据。CRC 数据使用循环二进制码,该码能够被用于检测在固件数据信号在网络110上 传输期间引入的错误。该CRC错误4全查的方式进行使得传输点传输数据,该 数据被划分为多块,每块跟随有从使用二进制多项式计算获得的循环标记, 并且接收点通过是否接收到的数据通过相同的计算导致相同的循环标记来发 现传输错误。虽然上述CRC方案可以检测在传输期间引入的某些错误,但是 CRC方案可能不具有实际校正检测到的错误的能力。
在根据本发明的某些实施例中,主机100传输包含能够被用于修复错误 的ECC的固件数据信号。电子设备100能够使用CRC位检测固件数据信号 中的错误,然后解码ECC位以校正检测到的(多个)错误。
图4是图示根据本发明某些实施例的电子设备200的内部电路结构框图。 参照图4,电子设备200包括接口 210、緩冲存储器220、只读存储器(ROM) 230、中央处理单元(CPU) 240、 ECC单元250、非易失性存储器260、以及总线270。
接口 210经由通信网络110连接到图1中所示的主机。接口 210能够使 用包括在从主机100接收的固件数据包中的CRC码,检测数据信号中的错误。 接口 210将从主机100传输的 一 系列固件数据信号存储到緩冲存储器220中。 通过接口 210存储在緩冲存储器220中的固件数据信号包括512字节,即, 一个扇区,包括505字节数据信号和7字节ECC码。尽管描述的本实施例是 一个扇区是512字节,但一个扇区的大小能够是任何能够基于例如存储器架 构的尺寸。
緩冲存储器220包括多个扇区(未示出)。从接口 210输入的固件数据信 号存储在緩冲存储器220中的以一个扇区为大小的各单元中。CPU 240从緩 冲存储器220读出固件数据信号并将读取的固件数据信号提供给ECC单元 250。
ECC单元250包括校正子发生器251、密钥方程解算器(KES ) 252、 Chien搜索错误评估器(CSEE)253、以及错误校准器254。校正子发生器251 使用例如Horner算法计算固件数据信号的校正子。计算出的校正子被提供给 KES 252。 KES 252获得错误位置的系数和来自接收的校正子的数量多项式。 众所周知,KES 252通过Berlekamp-Massey算法或者Euclid算法计算各系数。 计算的各系数被提供给CSEE 253。 CSEE 253基于错误位置和数量多项式计 算错误位置和值。错误位置和值被传输到错误校正器254并用于编码的固件 数据信号的校正。
从错误校正器254输出的数据信号是错误校正的固件数据信号,包括从 主机100传输的505字节数据和7字节空数据。作为示例空数据可以设置为 'FFFFFFF,或者'0000000,。从错误校正器254输出的具有512字节的固 件数据信号被存储到非易失性存储器260中。在根据本发明的某些实施例中, 该非易失性存储器260是一种闪存。然后,CPU 240能够识别并利用包括在 512字节中的非空数据(即,1个扇区中的505个字节),该数据由存储在非 易失性存储器260中的固件数据信号提供。
ROM 230存储用于操作电子设备200的固件。电子设备200的用于各种 应用的固件存储在非易失性存储器260中。存储在非易失性存储器260中的 固件可以根据用户的便利更新,或者从主机100下载新固件。
在根据本发明某些实施例中,主机100提供给电子设备200包括ECC的固件数据信号包。电子设备200通过分析ECC检测该固件数据信号包中的错 误,然后能够校正检测出的错误,从而允许下载到电子设备200的固件的增 强的完整性。参照图4,在根据本发明的某些实施例中,由接口电路210接收从主机 传输的数据。接口电路210能够使用包括在其中的CRC码检测固件数据信号 中的错误。在根据本发明的某些实施例中,虽然接口电路210将数据和ECC 码存储在緩存220中,但是并不将CRC位存储在緩存220中。接口电路210 能够发信号给CPU240以读取存储在緩存220中的固件数据信号,该固件数 据信号然后被提供给ECC单元250。然后ECC单元250能够利用ECC码来 确定由CRC码检测的错误是否是可校正的。如果该错误是可校正的,则ECC 单元250校正该数据错误以提供505字节数据字码(word)与要被存储的空 数据的七字节一起作为非易失性存储器260中的512字码。上面公开主题被认为是说明性的,而不是限制性的,并且权利要求意在 覆盖所有这种落入本发明真实精神和范围内的修改、改进,以及其他实施例。 因此,到法律所允许的最大范围,本发明的范围由权利要求及其等价物的允 许的最宽解释确定,而不被前面的详细说明限制或者限定。相关申请的交叉引用本申请要求于2006年12月11日提交的韩国专利申请No. 2006-125739 的优先权,这里通过引用合并其全部内容。
权利要求
1.一种使用固件操作的电子设备,该设备包括非易失性存储器;接口电路,其被配置来接收从外部到该电子设备的固件数据信号传输,该固件数据信号包括错误校正码;以及错误校正电路,其耦合到接口电路和非易失性存储器,被配置来修复在固件数据信号的传输期间引入到固件数据信号中的错误,以在该电子设备提供校正的固件数据信号,并且将校正的固件数据信号存储在非易失性存储器中。
2. 如权利要求1所述的电子设备,还包括緩冲电路,其被配置来暂时存储经由接口接收的固件数据信号。
3. 如权利要求2所述的电子设备,还包括中央处理单元,其被配置来协调错误校正电路的操作,以修复存储在緩 冲器中的固件数据信号中包括的错误,并且将校正的固件数据信号存储在非 易失性存储器中。
4. 如权利要求1所述的电子设备,其中非易失性存储器包括闪存。
5. 如权利要求1所述的电子设备,其中接收的固件数据信号包包括数 据、错误校正码位、以及循环冗余4企验位。
6. 如权利要求5所述的电子设备,其中数据和错误校正码位适合在用于 编程非易失性存储器的一个扇区大小的数据量中。
7. 如权利要求6所述的电子设备,其中校正的固件数据信号包括空数据, 其被配置来替换错误校正码位,该码位被配置为适合在用于编程非易失性存 储器的一个扇区大小的数据量中。
8. —种固件下载系统,包括主机系统,其被配置来传输包括错误校正码的固件数据信号;以及 电子设备,其被配置来接收来自主机系统的固件数据信号,其中该电子 设备包括非易失性存储器;接口电路,其被配置来接收从外部到该电子设备的固件数据信号传 输,该固件数据信号包括错误校正码;以及错误校正电路,其耦合到接口电路和非易失性存储器,被配置来修 复在固件数据信号的传输期间引入到固件数据信号中的错误,以在该电 子设备提供校正的固件数据信号,并且将校正的固件数据信号存储在非 易失性存储器中。
9. 如权利要求8所述的固件下载系统,其中电子设备包括非易失性存储卡。
10. 如权利要求8所述的固件下载系统,其中接收的固件数据信号包包 括数据、错误校正码位、以及循环冗余检验位。
11. 如权利要求IO所述的固件下载系统,其中数据和错误校正码位适合 在用于编程非易失性存储器的一个扇区大小的数据量中。
12. 如权利要求11所述的固件下载系统,其中校正的固件数据信号包括 空数据,其被配置来替换错误校正码位,该码位被配置为适合在用于编程非 易失性存储器的一个扇区大小的数据量中。
13. —种使用固件操作的电子设备,该设备包括错误校正电路,其被配置来修复在固件数据信号在网络上的传输期间引 入到固件数据信号中的错误,以在该电子设备提供校正的固件数据信号,并 且将校正的固件数据信号存储在非易失性存储器中,其中固件数据信号包括 错误校正码位和循环冗余纟企验位。
14. 如权利要求13所述的电子设备,其中错误校正码位和循环冗余检验 位都包括在数据包中,根据该数据包接收固件数据信号。
15. 如权利要求13所述的电子设备,其中错误校正电路还包括 校正子发生器电路;密钥方程解算器电路,其耦合到校正子发生器电路; Chien搜索错误评估器电路,其耦合到密钥方程解算器电路;以及 错误校正器电路,其耦合到Chien搜索错误评估器电路。
16. —种更新存储在电子设备的非易失性存储器中的固件的方法,该方 法包括接收包括错误校正检验码位的固件数据信号; 确定该固件数据信号包括可校正的错误;校正包括在固件数据信号中的可校正错误,以提供校正的固件数据信号;以及将校正的固件数据信号存储在非易失性存储器中。
17. 如权利要求16所述的方法,其中固件数据信号包括错误校正码位和循环冗余检验位,该方法还包括使用循环冗余检验位检测可校正的错误;然后 使用错误校正检验码位校正该可校正的错误。
18. 如权利要求17所述的方法,其中包括在校正的固件数据信号中的数 据和错误校正码位适合在用于编程非易失性存储器的一个扇区大小的数据量
全文摘要
一种使用固件操作的电子设备能够包括非易失性存储器和接口电路,该接口电路被配置来接收从外部到电子设备的固件数据信号传输,其中固件数据信号包括错误校正码。错误校正电路被耦合接口电路和非易失性存储器,并且被配置来修复在固件数据信号的传输期间引入到固件数据信号中的错误,以在电子设备提供校正的固件数据信号,并且将校正的固件数据信号存储在非易失性存储器中。
文档编号G06F11/08GK101246441SQ200710093290
公开日2008年8月20日 申请日期2007年12月11日 优先权日2006年12月11日
发明者赵南泌 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1