CN104035833A - 校验机器可读代码完整性的方法及*** - Google Patents
校验机器可读代码完整性的方法及*** Download PDFInfo
- Publication number
- CN104035833A CN104035833A CN201410050859.3A CN201410050859A CN104035833A CN 104035833 A CN104035833 A CN 104035833A CN 201410050859 A CN201410050859 A CN 201410050859A CN 104035833 A CN104035833 A CN 104035833A
- Authority
- CN
- China
- Prior art keywords
- machine readable
- readable code
- code
- verification
- check
- 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
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供一种校验机器可读代码完整性的方法及***,该方法包括:从存储器装置装载机器可读代码;从该存储器装置装载对应该机器可读代码的校验代码,其中,该机器可读代码的至少一部分以及该校验代码的至少一部分从该存储器装置的一存储器控制获得,对该机器可读代码的至少该部分实施校验运作以产生校验结果;以及根据该校验代码的至少该部分以及该校验结果校验该机器可读代码的至少该部分的完整性。本发明提供的校验机器可读代码完整性的方法可以在低成本情况下提高***可靠性。
Description
技术领域
本发明有关于机器可读代码(machine-readable code)完整性(integrity)校验(checking),更具体地,有关于透过提供附加(additional)校验代码(checking code)而校验机器可读代码完整性的方法及其***。
背景技术
近年来,存储装置(memory device)的每单位面积的存储空间显著增长。举例说明,用在微SD卡(Micro Secure Digital memory card,Micro-SD card)或者T卡(T card)中的传统的NAND闪存(flash)具有单层单元(Single Level Cell,SLC),其中,更新的NAND闪存可以具有用于存储多于一比特每单位的多层单元(Multi-Level Cell,MLC)。由于制程技术的进步,存储器单元大小也已经减小(shrunk)。小单元大小和高存储密度的结合可能引起泄漏电流(leakage current),这可能导致存储器单元已存储数据被破坏。因此,现代存储器单元的不稳定性显著增加。
嵌入式***中,机器代码可以存储在存储卡(例如,闪存卡)用以存取和执行。如果在执行之前不能检测到不稳定的机器代码,那么嵌入式***可能崩溃(crach)或者坏掉(break down)。
因此,在执行不稳定的机器代码之前需要存储装置(例如,存储卡)完整性验证机制以检测不稳定的机器代码,以提高***可靠性。
发明内容
根据本发明的实施例,提供一种校验机器可读代码的完整性的方法及***以解决上述问题。
本发明的一个实施例提供一种校验机器可读代码完整性的方法,包含:从一存储器装置装载该机器可读代码;从该存储器装置装该对应该机器可读代码的校验代码;当该机器可读代码的至少一部分以及该校验代码的至少一部分从该存储器装置的一存储器控制器获取时,对该机器可读代码的至少哦该部分实施一校验运作以产生一校验结果;以及根据该校验代码的至少该部分以及该校验结果校验该机器可读代码的至少该部分的完整性。
本发明的另一个实施例提供一种校验机器可读代码完整性的***,包含:存储器装置,用于存储该机器可读代码;存储器控制器,耦接到该存储器装置,用于从该存储器装置装载该机器可读代码,以及从该存储器装置装载对应该机器可读代码的一校验代码;以及校验电路,耦接到该存储器控制器,用于对该机器可读代码的至少一部分实施校验运作以产生一校验结果,当从该该存储器装置的存储器控制器获得该机器可读代码的至少该部分以及该校验代码的至少该部分时,以及根据该校验代码的至少该部分以及该校验结果校验该机器可读代码的至少该部分的完整性。
所属领域技术人员在阅读本申请说明书以及附图之后可以理解本发明的实施例,然本发明的实施例以及附图用以说明本发明,并不构成对本发明保护范围的限制。本发明提供的校验机器可读代码完整性的方法和***可以在低成本情况下提高***可靠性。
附图说明
图1为根据本发明的一个实施例,校验机器可读代码完整性的***方块示意图。
图2为根据本发明的一个实施例,校验机器可读代码另一个***方块示意图。
图3为根据本发明的第一实施例,校验机器可读代码完整性的方法流程图。
图4为根据本发明的第二实施例,校验机器可读代码的完整性方法流程图。
图5为图4所用方法中,校验和(checksum)比较(comparison)实现的示意图。
图6为根据本发明第一实施例,存储器装置中机器可读代码以及相关校验代码存储器分配(storage allocation)的示意图。
图7为根据本发明第二实施例,机器可读代码以及存储器装置中相关校验代码存储器分配的示意图。
图8为根据本发明第三实施例机器可读代码以及存储器装置中相关校验代码的存储器分配的示意图。
具体实施方式
在说明书及权利要求当中使用了某些词汇来指称特定组件。所属领域中技术人员应可理解,制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。间接的电气连接手段包括通过其他装置进行连接。
请参考图1,图1为根据本发明的一个实施例,机器可读代码MC校验完整性的***100的方块示意图。如图1所示,***100包含存储器装置110(例如,存储卡),存储器控制器120以及校验电路130。存储器装置110用于存储机器可读代码MC。存储器装置110也存储对应机器可读代码MC的校验代码CC。请注意,校验代码CC当机器可读代码MC写入到存储器装置110中时在存储器装置110中产生,校验代码CC与默认校验代码不同。举例说明,存储器装置110为使用NAND闪存的情况下,当机器可读代码MC写入到存储器装置110的数据区时,产生默认校验代码(即,错误校验以及校正代码(Error Checking andCorrecting,ECC)代码,以及存储在对应数据区的备用(spare)区中。校验代码CC可以由软件程序在机器可读代码MC存入存储器装置110时产生。在一个实现中,校验代码CC也可以由硬件电路在机器可读代码写入存储器装置110时烧(burn)入存储器装置110中。简而言之,存储在存储器装置110中校验代码CC与默认校验代码不同。
存储器控制器120耦接到存储器装置110,以及用于从存储器装置110装载机器可读代码MC以及校验代码CC。校验电路130耦接到存储器控制器120。一旦机器可读代码MC从存储器装置110载入,校验电路130则用于校验机器可读代码的完整性。更具体地,当机器可读代码MC的至少一部分以及校验代码CC的至少一部分从存储器控制器120获得时,校验电路130可以对机器可读代码MC的至少该部分实施校验运作以产生校验结果,以及根据校验代码CC的至少该部分以及校验结果校验机器可读代码MC的至少该部分的完整性。在一个实现中,校验电路130可以将校验结果和校验代码CC的至少该部分进行比较以校验机器可读代码的至少该部分的完整性。
当决定机器可读代码MC的至少该部分出错时,校验电路130可以校正(correct)/修改(fix)机器可读代码MC的至少该部分中错误比特。如果错误比特不能被校正,那么***100可能不执行机器可读代码MC的至少该部分。这意味着***100可以跳过机器可读代码MC的至少该部分,以避免***崩溃/坏掉。在一个实现中,存储器装置110可以进一步存储机器可读代码MC的多个副本(copy)以及校验代码CC的多个副本。以此方式,纵使不可以基于机器可读代码MC以及校验代码CC而校正错误代码,***100可以基于机器可读代码MC的多个副本以及/或者校验代码CC的多个副本而校正错误比特。下面进一步展开说明。
请参考图2,图2为根据本发明的一个实施例,校验机器可读代码MC的完整性另一个***200的方块示意图。如图2所示,***200包含便携式电子装置202以及外部存储装置210。举例说明,然不以此为限,便携式电子装置202为移动电话,外部存储装置210为T卡。便携式电子装置202包含版本大量存取装置规格(Mass Storage Device Class,MSDC)控制器220、校验和电路230,中央处理单元(Central Processing Unit,CPU)240,存储器装置250(例如,随机存取存储器RAM)以及存储器接口260。在本实施例中,外部存储装置210可以存储机器可读代码MC以及软件程序或者硬件电路所产生的对应校验代码CC。此外,如图1所示存储器装置110,存储器控制器120以及校验电路130可以分别由外部存储装置210,如2所示MSDC控制器220以及校验和电路230所实现。
请参考图2,CPU240可以控制MSDC控制器220以从外部存储装置210装载机器可读代码MC,以及已装载机器可读代码MC透过存储器接口260转移到存储器装置250。在机器可读代码MC存储到存储器装置250之后,CPU240可以透过存储器接口260存取存储器装置250,从而执行机器可读代码MC。为了校验机器可读代码MC的完整性,在执行机器可读代码MC之前,CPU240可以进一步控制校验和电路230对MSDC控制器220中装载的内容(例如,机器可读代码MC的至少一部分)实施校验和运作以产生重计算(re-calculated)校验和(即,校验结果),然后将重计算校验和和参考检验和进行比较(即校验代码CC的至少一部分)以用于错误检测以及/或者错误校正。如果重计算校验和与参考校验和匹配,那么CPU240允许存取机器可读代码MC的至少该部分用以执行。
请联合参考图2和图3,以进一步理解本申请提出的***。图3为根据本发明的第一实施例机器可读代码MC校验完整性方法的流程示意图。示例方法可以总结如下。
步骤300:开始。
步骤310:CPU240用于决定是否机器可读代码MC(即,应用执行所需代码)存储在外部存储装置210中。如果是,转到步骤320,否则回到步骤300。
步骤320:CPU240控制MSDC控制器220从外部存储装置210装载机器可读代码MC以及相关校验代码CC。
步骤330:当该机器可读代码MC的至少一部分和校验代码CC的至少一部分来自MSDC控制器220时,CPU240可以控制校验和电路230重新计算机器可读代码MC的至少该部分的校验和以产生一重计算校验和。
步骤340:校验和电路230将重计算校验和和参考校验和(即,校验代码MC的至少该部分)进行比较以决定是否重计算校验和与参考校验和匹配。
步骤350:CPU240进一步从存储器装置250获取机器可读代码MC的至少该部分用以执行。
步骤360:便携式装置202可以进一步实施错误处理运作以避免***崩溃。
步骤370:结束。
可以注意到,在步骤320中,可以不同时序(timing)装载与机器可读代码MC比较的校验代码CC。在一个实现中,校验代码CC和机器可读代码MC可以从外部存储装置210一起装载。另一个实现中,外部存储装置210可以具有多个机器可读代码以及多个校验代码(分别对应已存储的机器可读代码),以及在任何机器可读代码从外部存储装置210装载之前,所有校验代码可以从外部存储装置210装载到存储器装置250。因此,当校验机器可读代码MC的完整性时,CPU240可以控制MSDC控制器220将存储器装置250中存储的校验代码MC装载进来,用于错误检测和校正。
步骤330中校验和重计算可以不同时序实施,校验和电路230可以在机器可读代码MC的所有比特从外部存储装置210装载之后开始实施校验和重计算。在另一个实现中,只要机器可读代码MC的一部分从外部存储装置210装载进来,校验和电路230可以开始实施校验和重计算。举例说明,在机器可度代码MC的代码长度为2k字节情况下,校验和电路230可以在2k字节机器可读代码MC的所有比特装载之后,或者机器可读代码MC的每一字节装载之后,可以实施校验和重计算。
步骤360中错误处理运作可以不同方式实现。在一个实现中,便携式电子装置202可以跳过(即,不执行)机器可读代码MC的至少该部分以避免***崩溃。在另一个实现中,在机器可读代码MC对应一运作/进程(application/process)情况下,如果重计算校验和与参考校验和不匹配,那么应用/进程将被终止,以及便携式电子装置202可以告知用户该应用/进程由于机器可读代码MC被破坏而终止。在再一个实现中,校验和电路230可以尝试校正机器可读代码MC的至少该部分中的错误比特。如果错误比特被校正,那么从存储器装置250中获取机器可读代码MC的至少该部分用于执行。
请注意,图1所示存储器装置110的实现不限于外部存储装置。换言之,机器可读代码MC以及相关校验代码CC可以存储在***200的内部存储器装置中(图2未示),以及图3提出的方法也可以应用。
如上所述,提出的完整性校验机制可以透过存储机器可读代码MC的多个备份以及/或者校验代码CC的至少一副本而鲁棒性(robust)更强。请联合参考图2、图4以及图5。图4为根据本发明第二实施例的校验机器可读代码MC的完整性的方法流程图。图5为图4所示的方法中,校验和比较实现的方块示意图。在此实施例中,外部存储装置210进一步存储多个机器可读代码MC_1-MC_m以及多个校验代码CC_1-CC_n,其中,机器可读代码MC_1-MC_m为机器可读代码MC的多个副本,以及校验代码CC_1-CC_n为校验代码CC的多个副本。此外,如图5所示,分别对应机器可读代码MC-MC_m的重计算校验和RCC-RCC_m。如图4所示方法为基于图3的方法,进一步描述如下。
步骤300:开始。
步骤310:决定是否机器可读代码MC(即用于应用执行所需的代码)存储在外部存储装置210中。如果是,转到步骤320;否则回到步骤300。
步骤320:将机器可读代码MC以及相关校验代码CC从外部存储装置210装载到MSDC控制器220。
步骤330:当从MSDC控制器获得机器可读代码MC的至少一部分以及校验代码CC的至少一部分时,重计算机器可读代码MC的至少该部分的校验和以产生一重计算校验和(即,重计算校验和RCC)。
步骤340:将重计算校验和和参考检验和(即,校验代码CC的至少一部分)进行比较以决定重计算校验和与参考校验和是否匹配。如果是,转到步骤350,否则转到步骤480。
步骤350:从存储器装置250获取机器可读代码MC的至少该部分用以执行。
步骤480:校验是否所有重计算校验和和所有参考校验和不匹配,如果是,转到步骤360,否则转到步骤490。
步骤360实施错误处理运作。
步骤490:从外部存储装置210读取备份(backup)数据。
步骤370:结束。
步骤340中,当重计算校验和(即,重计算校验和RCC)与参考校验和(即,校验代码CC的至少该部分)不匹配,那么决定机器可读代码MC的至少该部分出错。错误比特可能来自机器可读代码MC的至少该部分,以及/或者校验代码CC的至少该部分。也就是说,当决定机器可读代码MC的至少该部分出错,可以默认出错比特在机器可读代码MC的至少该部分以及/或者校验代码CC的至少该部分中。因此,当错误比特在机器可读代码MC的至少该部分中时,校验和电路230可以根据机器可读代码MC_1-MC_m其中之一更新/校正(update/correct)错误比特。相似地,当错误比特在校验代码CC的至少该部分中时,校验和电路230可以根据校验代码CC_1-CC_n其中之一更新/校正错误比特。此外,当错误比特在机器可读代码MC的至少该部分以及在校验代码CC的至少该部分中时,校验和电路230可以根据机器可读代码MC_1-MC_m其中之一和校验代码CC_1-CC_n其中之一更新/校正错误比特。
具体地,当重计算校验和RCC以及参考校验和不匹配时(步骤340),便携式电子装置202可以校验是否所有重计算校验和和所有的参考校验和是否不匹配(步骤480)。因为并不是全部机器可读代码MC_1-MC_m以及校验和代码CC_1-CC_n已经被读取以及装载,所以可以决定并不是所有重计算校验和和所有的参考校验和均不匹配。因此,CPU240可以控制MSDC控制器220从外部存储装置210读取备份数据(例如,机器可读代码MC_1以及校验代码CC_1(步骤490)。然后,CPU240可以控制MSDC控制器220从外部存储装置210装载机器可读代码MC_1的至少一部分以及校验代码CC_1的至少一部分(步骤320)。
在一个实现中,校验和电路230可以透过机器可读代码MC_1的至少该部分更新机器可读代码MC的至少该部分,以及透过校验代码CC_1的至少该部分更新校验代码CC的至少该部分(步骤320)。步骤330中,校验电路230可以进一步对机器可读代码MC的至少已更新部分实施另一个校验运作以产生另一个校验结果(即,重计算校验和RCC_1)。步骤340,透过将重计算校验和RCC_1和参考校验和(即,校验代码CC_1的至少该部分)做比较,校验和电路230可以校验机器可读代码MC的至少已更新部分的完整性。
在另一个实现中,校验和电路230可以使用机器可读代码MC_1的该部分只更新机器可读代码MC的至少该部分(步骤320)。在步骤330中,校验和电路230可以对机器可读代码MC的至少已更新部分实施另一个校验运作以产生另一个校验结果(即,重计算校验和RCC_1)。步骤340中,校验和电路230可以透过将重计算校验和RCC_1和参考校验和(即,校验代码CC的至少该部分)比较而校验机器可读代码MC的至少已更新部分的完整性。
在再一个实现中,校验和电路230可以透过校验代码CC_1的至少该部分而只更新校验代码CC的至少该部分(步骤320)。既然已经获得重计算校验和RCC,那么校验和电路230可以直接透过将重计算校验和RCC和参考校验和(即,校验代码CC_1的至少该部分)而校验机器可读代码MC的至少该部分的完整性(步骤340)。
在另一个实现中,重计算校验和RCC和校验代码CC_1的中至少该部分的比较、重计算校验和RCC_1和校验代码CC的至少该部分的比较以及重计算校验和RCC_1和校验代码CC_1的至少该部分的比较,可以在步骤340并行执行。换言之,校验和电路230可以以交互匹配(cross-matching)方式校验机器可读代码MC的至少该部分的完整性。
在步骤340执行完校验和比较之后,如果决定机器可读代码的至少一部分出错,那么便携式电子装置202可以校验是否全部重计算校验和和所有参考校验和均不匹配(步骤480);否则,机器可读代码的至少该部分可以从存储器装置250获取用以执行(步骤350)。
请注意上述实施例仅为说明,然并不构成对本发明保护范围的限制。举例说明,在步骤490,CPU240可以控制MSDC控制器220从外部存储装置210读取机器可读代码MC_1-MC_m以及校验代码CC_1-CC_n,以及校验和电路230可以透过交互匹配重计算校验和RCC_1-RCC_m和校验代码CC_1-CC_n而校验机器可读代码MC的至少该部分的完整性。此外外部存储装置210中存储的备份数据可以包含机器可读代码的副本或者校验代码的副本的副本。更进一步说,外部存储装置210可以为SD卡、T卡、嵌入式多媒体卡(Embedded MultimediaCard,eMMC)、NAND闪存装置,NOR闪存装置或者一种非易失性存储装置。
透过提供对应机器可读代码、机器可读代码的副本以及校验代码的副本的附加校验代码,本发明提出方法可以提高***可靠性以及错误校正能力。此外,根据附加校验代码,本发明提出***可以更精确地决定是否机器可读代码为所需(demand)代码。举例说明,可以将签名添加到校验代码中,用以指示相关机器可读代码的程序计数器地址。请注意,已添加校验代码可以为ECC代码,循环冗余校验(cyclic redundancy check,CRC)代码,消息摘要算法(message digestalgorithm)代码,或者异或(exclusive OR,XOR)代码。
为了确认是否已装载代码为机器可读代码或者相关校验代码,机器可读代码以及相关校验代码可以在存储器装置中不同存储器区域中存储。在一个实施例中,只要机器可读代码和相关校验代码以预定格式(predetermined format)存储,在存储器装置中机器可读代码可以和相关校验代码相邻(即,机器可读代码和相关校验代码可以在相同存储器区域中存储)。
请参考图6,图6为根据本发明的第一实施例存储器装置610中机器可读代码和相关校验代码的存储器分配示意图。如图6所示,在存储器装置610中,相关校验代码的一部分存储机器可读代码的两个连续部分之间。在该实施例中,机器可读代码的每一部分为7比特代码,以及校验代码的每一部分为1比特校验和。因此,当中央处理单元(图6未示)控制存储器控制器(图6未示)从存储器装置610装载代码时,根据存储器格式中央处理单元可以将机器可读代码和相关校验代码区分开来。
请参考图7,图7为根据本发明第二实施例的机器可读代码和相关校验代码的存储器分配示意图。如图7所示,相关校验代码作为校验和表存储在存储器装置710的文件标头(header)中。在此实施例中,校验代码有16字节。因此,首先装载的16字节代码为校验代码。
请参考图8,图8为根据本发明第三实施例,机器可读代码和相关校验代码的存储器分配示意图。如图8所示,相关校验代码作为校验和表(table)的形式,在存储器装置810中,机器可读代码之后存储。在此实施例中,可以在机器可读代码的所有字节装载之后装载校验代码。举例说明,机器可读代码可以具有2k字节,以及校验代码具有16字节。因此,可以在2k字节机器可读代码装载之后装载校验代码。
请注意,对于额外校验代码所需存储空间与外部存储装置的全部存储空间相比很小。因此,本发明提出的方法可以提供低成本解决方案以提高***可靠性。
本发明的上述实施例仅用以说明本发明,并不用以限定本发明的保护范围。所属领域技术人员根据本发明的实施例,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附权利要求所界定者为准。
Claims (10)
1.一种校验机器可读代码完整性的方法,包含:
从一存储器装置装载该机器可读代码;
从该存储器装置装该对应该机器可读代码的校验代码;
当一存储器控制器从该存储器装置获取该机器可读代码的至少一部分以及该校验代码的至少一部分时,对该机器可读代码的至少该部分实施一校验运作以产生一校验结果;以及
根据该校验代码的至少该部分以及该校验结果校验该机器可读代码的至少该部分的完整性。
2.如权利要求1所述的校验机器可读代码完整性的方法,其特征在于,校验该机器可读代码的至少该部分的完整性的步骤包含:
将该校验结果与该校验代码的至少该部分比较,以校验该机器可读代码的至少该部分的完整性。
3.如权利要求1所述的校验机器可读代码完整性的方法,其特征在于,进一步包含:
当决定该机器可读代码的至少该部分出错时,校正该机器可读代码中至少该部分中错误比特。
4.如权利要求1所述的校验机器可读代码完整性的方法,其特征在于,进一步包含:
在该存储器装置中存储该机器可读代码的至少一个副本;
当决定该机器可读代码的至少该部分出错时,从该存储器装置装载该机器可读代码至少一部分的副本;
使用该机器可读代码至少该部分的副本更新该机器可读代码的至少该部分;
对该机器可读代码的至少已更新部分实施另一校验运作以产生另一校验结果;以及
根据该校验代码的至少该部分以及该另一校验结果校验该机器可读代码至少该已更新部分的完整性。
5.如权利要求1所述的校验机器可读代码完整性的方法,其特征在于,进一步包含:
将该校验代码的至少一副本存储在该存储器装置中;
当决定该机器可读代码的至少该部分出错时,从该存储器装置中??装载该检验代码的一副本的至少一部分;
使用该校验代码的该副本的至少该部分更新该校验代码的至少该部分;以及
根据该校验代码至少该已更新部分以及该校验结果校验该机器可读代码至少该部分的完整性。
6.一种校验机器可读代码完整性的***,包含:
存储器装置,用于存储该机器可读代码;
存储器控制器,耦接到该存储器装置,用于从该存储器装置装载该机器可读代码,以及从该存储器装置装载对应该机器可读代码的一校验代码;以及
校验电路,耦接到该存储器控制器,用于对该机器可读代码的至少一部分实施校验运作以产生一校验结果,当该机器可读代码的至少该部分以及该校验代码的至少该部分从该该存储器装置的存储器控制器获得时,以及根据该校验代码的至少该部分以及该校验结果校验该机器可读代码的至少该部分的完整性。
7.如权利要求6所述的校验机器可读代码完整性的***,其特征在于,透过将该校验结果与该校验代码的至少该部分进行比较,该校验电路校验该机器可读代码的至少该部分的完整性。
8.如权利要求6所述的校验机器可读代码完整性的***,其特征在于,当决定该机器可读代码至少该部分出错时,该校验电路进一步校正该机器可读代码的至少该部分中的出错比特。
9.如权利要求6所述的校验机器可读代码完整性的***,其特征在于,该存储器装置进一步存储该机器可读代码的至少一副本,当决定该机器可读代码的至少该部分出错时,该存储器控制器从该存储器装置装载该机器可读代码的一副本的至少一部分,以及该校验电路进一步透过该机器可读代码的该副本的至少该部分更新该机器可读代码的至少该部分,对该机器可读代码的至少已更新部分实施另一校验运作以产生另一校验结果,以及更具该校验代码的至少该部分以及该另一校验结果校验该机器可读代码至少已更新部分的完整性。
10.如权利要求6所述的校验机器可读代码完整性的***,其特征在于,该存储器装置具有多个机器可读代码以及对应已经存储的该多个机器可读代码的多个校验代码,在该机器可读代码任何一者从该存储装置装载之前,该存储器控制器从该存储器装置装载该校验代码的全部。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN992/CHE/2013 | 2013-03-07 | ||
IN992CH2013 | 2013-03-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104035833A true CN104035833A (zh) | 2014-09-10 |
Family
ID=51466607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410050859.3A Pending CN104035833A (zh) | 2013-03-07 | 2014-02-14 | 校验机器可读代码完整性的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035833A (zh) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366242A (zh) * | 2001-01-19 | 2002-08-28 | 华为技术有限公司 | 一种双机备份的实现方法 |
CN1512342A (zh) * | 2002-12-27 | 2004-07-14 | 技嘉科技股份有限公司 | 智能型固化软件的升级控制方法 |
CN1614566A (zh) * | 2004-11-29 | 2005-05-11 | 中兴通讯股份有限公司 | 一种用户数据库的备份恢复方法 |
CN1632756A (zh) * | 2003-12-24 | 2005-06-29 | 英业达股份有限公司 | 在Linux操作***引导过程中实现映象文件自动容错的方法 |
CN1650267A (zh) * | 2002-04-25 | 2005-08-03 | 甲骨文国际公司 | 增强数据完整性的检验装置 |
CN1894671A (zh) * | 2003-12-18 | 2007-01-10 | 诺基亚有限公司 | 确保数据记录集合完整性的方法 |
CN1906593A (zh) * | 2003-11-24 | 2007-01-31 | Tsx公司 | 用于故障解决的***和方法 |
CN1971536A (zh) * | 2005-11-24 | 2007-05-30 | 鸿富锦精密工业(深圳)有限公司 | 基本输入输出***的纠错***及方法 |
CN201047943Y (zh) * | 2007-01-24 | 2008-04-16 | 北京蓝科泰达科技有限公司 | 一种计算机***的快速恢复设备 |
US20080098388A1 (en) * | 2004-06-29 | 2008-04-24 | Koninklijke Philips Electronics, N.V. | Safe Flashing |
CN101258471A (zh) * | 2005-07-15 | 2008-09-03 | Gsip有限责任公司 | 闪存纠错 |
CN101329631A (zh) * | 2007-06-21 | 2008-12-24 | 大唐移动通信设备有限公司 | 一种嵌入式***自动检测和恢复启动的方法及装置 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式***的存储器件、固件启动及升级方法 |
CN101656627A (zh) * | 2009-09-23 | 2010-02-24 | 福建星网锐捷网络有限公司 | 一种主程序还原的方法、装置及网络设备 |
CN101764731A (zh) * | 2009-12-09 | 2010-06-30 | 熊伟 | 一种以太网环网算法切换方法 |
CN101807152A (zh) * | 2009-02-13 | 2010-08-18 | 环旭电子股份有限公司 | 自我验证选择只读存储器的基本输出入***及其验证方法 |
CN102314354A (zh) * | 2010-06-30 | 2012-01-11 | 无锡中星微电子有限公司 | 一种嵌入式***启动方法及嵌入式装置 |
CN102446125A (zh) * | 2010-10-06 | 2012-05-09 | 西门子公司 | 验证控制装置的应用程序的方法和执行该方法的控制装置 |
CN102609282A (zh) * | 2012-01-19 | 2012-07-25 | 苏州希图视鼎微电子有限公司 | Nand闪存的固化代码的执行方法 |
CN102799496A (zh) * | 2012-06-30 | 2012-11-28 | 深圳市同洲电子股份有限公司 | 一种与非型闪存操作***内核和文件***校验方法及装置 |
CN102799494A (zh) * | 2012-08-29 | 2012-11-28 | 南车株洲电力机车研究所有限公司 | 一种校验内存中应用程序的方法和装置 |
-
2014
- 2014-02-14 CN CN201410050859.3A patent/CN104035833A/zh active Pending
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366242A (zh) * | 2001-01-19 | 2002-08-28 | 华为技术有限公司 | 一种双机备份的实现方法 |
CN1650267A (zh) * | 2002-04-25 | 2005-08-03 | 甲骨文国际公司 | 增强数据完整性的检验装置 |
CN1512342A (zh) * | 2002-12-27 | 2004-07-14 | 技嘉科技股份有限公司 | 智能型固化软件的升级控制方法 |
CN1906593A (zh) * | 2003-11-24 | 2007-01-31 | Tsx公司 | 用于故障解决的***和方法 |
CN1894671A (zh) * | 2003-12-18 | 2007-01-10 | 诺基亚有限公司 | 确保数据记录集合完整性的方法 |
CN1632756A (zh) * | 2003-12-24 | 2005-06-29 | 英业达股份有限公司 | 在Linux操作***引导过程中实现映象文件自动容错的方法 |
US20080098388A1 (en) * | 2004-06-29 | 2008-04-24 | Koninklijke Philips Electronics, N.V. | Safe Flashing |
CN1614566A (zh) * | 2004-11-29 | 2005-05-11 | 中兴通讯股份有限公司 | 一种用户数据库的备份恢复方法 |
CN101258471A (zh) * | 2005-07-15 | 2008-09-03 | Gsip有限责任公司 | 闪存纠错 |
CN1971536A (zh) * | 2005-11-24 | 2007-05-30 | 鸿富锦精密工业(深圳)有限公司 | 基本输入输出***的纠错***及方法 |
CN201047943Y (zh) * | 2007-01-24 | 2008-04-16 | 北京蓝科泰达科技有限公司 | 一种计算机***的快速恢复设备 |
CN101329631A (zh) * | 2007-06-21 | 2008-12-24 | 大唐移动通信设备有限公司 | 一种嵌入式***自动检测和恢复启动的方法及装置 |
CN101807152A (zh) * | 2009-02-13 | 2010-08-18 | 环旭电子股份有限公司 | 自我验证选择只读存储器的基本输出入***及其验证方法 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式***的存储器件、固件启动及升级方法 |
CN101656627A (zh) * | 2009-09-23 | 2010-02-24 | 福建星网锐捷网络有限公司 | 一种主程序还原的方法、装置及网络设备 |
CN101764731A (zh) * | 2009-12-09 | 2010-06-30 | 熊伟 | 一种以太网环网算法切换方法 |
CN102314354A (zh) * | 2010-06-30 | 2012-01-11 | 无锡中星微电子有限公司 | 一种嵌入式***启动方法及嵌入式装置 |
CN102446125A (zh) * | 2010-10-06 | 2012-05-09 | 西门子公司 | 验证控制装置的应用程序的方法和执行该方法的控制装置 |
CN102609282A (zh) * | 2012-01-19 | 2012-07-25 | 苏州希图视鼎微电子有限公司 | Nand闪存的固化代码的执行方法 |
CN102799496A (zh) * | 2012-06-30 | 2012-11-28 | 深圳市同洲电子股份有限公司 | 一种与非型闪存操作***内核和文件***校验方法及装置 |
CN102799494A (zh) * | 2012-08-29 | 2012-11-28 | 南车株洲电力机车研究所有限公司 | 一种校验内存中应用程序的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101730510B1 (ko) | 메타데이터 태그를 통한 불규칙적인 패리티 분포 검출 | |
CN101848000B (zh) | 解码方法、编码方法及启动控制*** | |
US8341491B2 (en) | System and method for providing data integrity in a non-volatile memory system | |
US8321757B2 (en) | Method and apparatus for error correction | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN106776122A (zh) | 一种基于Flash启动过程中主备保护的方法 | |
CN109086078B (zh) | 安卓***升级方法、装置、服务器及移动终端 | |
TW201545167A (zh) | 在非揮發性記憶體中處理錯誤更正碼的方法及其非揮發性儲存裝置 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
CN107220097B (zh) | 一种大规模复杂结构软件的在轨烧写与重载方法 | |
US20180006669A1 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
US20150143201A1 (en) | Error-correcting code distribution for memory systems | |
CN112214346A (zh) | 用于存储器子***中的数据修改期间的错误检测的方法及装置 | |
US11698970B2 (en) | Double wrapping for verification | |
CN107239358A (zh) | 安卓***的启动方法、移动终端及具有存储功能的装置 | |
CN102346692A (zh) | 一种iptv升级文件的校验方法 | |
CN101470666B (zh) | 一种数据存储方法 | |
US7747911B1 (en) | Self verification of non-volatile memory | |
CN105354107A (zh) | NOR Flash的数据传输方法及*** | |
CN104035833A (zh) | 校验机器可读代码完整性的方法及*** | |
CN111611000B (zh) | 一种高可靠的固件空中升级方法及*** | |
US20150012688A1 (en) | Computer system and operating method thereof | |
US10452309B2 (en) | Method and device operating a memory device | |
CN107656747B (zh) | 一种数据升级方法及移动终端 | |
CN116578307A (zh) | 数据预置方法、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140910 |