发明名称 利用杂凑函数测试记忆体的方法与系统
摘要 一种测试记忆体的方法。此方法包括下列步骤。首先利用一杂凑演算法产生一测试型样。接着,将此测试型样写入记忆体。接着,从记忆体读出此测试型样。接着,利用此杂凑演算法以及已读出之测试型样产生一签章。接着,将此签章与一参考签章进行比对,以验证此记忆体。
申请公布号 TWI270887 申请公布日期 2007.01.11
申请号 TW093134768 申请日期 2004.11.12
申请人 刘俨赋 发明人 刘俨赋
分类号 G11C29/00(2006.01) 主分类号 G11C29/00(2006.01)
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼
主权项 1.一种测试记忆体的方法,至少包含: 利用一杂凑演算法(hash algorithm)产生一测试型样( test pattern); 将该测试型样写入该记忆体; 从该记忆体读出该测试型样; 利用该杂凑演算法以及已读出之该测试型样产生 一签章(signature);以及 将该签章与一参考签章进行比对,以验证该记忆体 。 2.如申请专利范围第1项所述之方法,其中该杂凑演 算法包含一SHA。 3.如申请专利范围第2项所述之方法,其中该杂凑演 算法系选自以SHA-1、SHA-224、SHA-256、SHA-384以及SHA- 512所组成群体其中之一。 4.如申请专利范围第2项所述之方法,更包含: 利用一ROM储存复数个Kt参数,该些Kt参数系供该杂 凑演算法使用,该些Kt参数定义于FIPS PUB 180-2中。 5.如申请专利范围第1项所述之方法,其中该杂凑演 算法包含一MD5演算法。 6.如申请专利范围第1项所述之方法,更包含: 使用一讯息块缓冲器(message block buffer)储存一讯息 块(message block);以及 以该讯息块当作一输入,进行该杂凑演算法,以产 生一杂凑値(hash value)。 7.如申请专利范围第6项所述之方法,更包含: 利用一种子(seed)当作一讯息块,供该杂凑演算法使 用; 利用该杂凑演算法产生一初始杂凑値(initial hash); 以及 将该初始杂凑値写入该记忆体。 8.如申请专利范围第6项所述之方法,更包含: 利用一种子(seed)当作一讯息块,供该杂凑演算法使 用; 利用该杂凑演算法产生一初始杂凑値(initial hash); 将该初始杂凑値扩展(expanding)以产生一扩展后初 始杂凑値(expanded initial hash value);以及 将该扩展后初始杂凑値写入该记忆体。 9.如申请专利范围第8项所述之方法,其中该扩展后 初始杂凑値的长度与一讯息块的长度相同。 10.如申请专利范围第9项所述之方法,更包含: 利用该扩展后初始杂凑値当作一输入,进行该杂凑 演算法,以产生一第二杂凑値; 将该第二杂凑値扩展至与一讯息块相同长度;以及 将该扩展后第二杂凑値写入该记忆体。 11.如申请专利范围第10项所述之方法,更包含: 重复利用上一个扩展后杂凑値进行杂凑演算法以 产生下一个杂凑値; 将每一个已产生之杂凑値扩展;以及 将每一个扩展后杂凑値写入该记忆体,直到填满该 记忆体。 12.如申请专利范围第11项所述之方法,其中扩展每 一个已产生之杂凑値之步骤包含: 将该杂凑値反转(invert);以及 将该杂凑値与该反转后杂凑値相连接以产生一扩 展后杂凑値,该扩展后杂凑値之长度与一讯息块之 长度相同。 13.如申请专利范围第12项所述之方法,更包含: 如果记忆体已经填满,将该扩展后初始杂凑値从该 记忆体中读出;以及 将从记忆体中读出的扩展后杂凑値当作一输入,进 行该杂凑演算法,以产生下一个杂凑値。 14.如申请专利范围第13项所述之方法,更包含: 将每一个扩展后杂凑値从该记忆体中读出;以及 重复用前一次由该记忆体中读出之扩展后杂凑値 当作一输入,进行一杂凑演算法,以产生下一个杂 凑値,直到最后一个扩展后杂凑値从该记忆体中读 出,且利用该最后之扩展后杂凑値产生最后杂凑値 。 15.如申请专利范围第14项所述之方法,更包含: 以该杂凑演算法产生之该最后杂凑値卜作该签章; 以及 将该签章与一参考签章进行比对,以决定该记忆体 是否有任何缺陷(fault)。 16.一种测试记忆体的方法,至少包含: 利用一杂凑演算法(hash algorithm)产生一测试型样( test pattern); 将该测试型样写入该记忆体; 从该记忆体读出该测试型样; 利用该杂凑演算法以及已读出之该测试型样产生 一第一签章(signature); 将该第一签章与一第一参考签章进行比对,以验证 该记忆体; 将一反转后测试型样写入该记忆体; 从该记忆体读出该反转后测试型样; 利用由该记忆体中读出之该反转后测试型样产生 一第二签章;以及 将该第二签章与一第二参考签章进行比对,以验证 该记忆体。 17.如申请专利范围第16项所述之方法,更包含: 利用一种子(seed)当作一讯息块,供该杂凑演算法使 用; 利用该杂凑演算法产生一初始杂凑値(initial hash); 将该初始杂凑値扩展(expanding)以产生一扩展后初 始杂凑値(expanded initial hash value);以及 将该扩展后初始杂凑値写入该记忆体。 18.如申请专利范围第17项所述之方法,更包含: 利用该扩展后初始杂凑値当作一输入,进行该杂凑 演算法,以产生一第二杂凑値; 将该第二杂凑値扩展至与一讯息块相同长度;以及 将该扩展后第二杂凑値写入该记忆体。 19.如申请专利范围第18项所述之方法,更包含: 重复利用上一个扩展后杂凑値进行杂凑演算法以 产生下一个杂凑値; 将每一个已产生之杂凑値扩展;以及 将每一个扩展后杂凑値写入该记忆体,直到填满该 记忆体。 20.如申请专利范围第19项所述之方法,其中扩展每 一个已产生之杂凑値之步骤包含: 将该杂凑値反转(invert);以及 将该杂凑値与该反转后杂凑値相连接以产生一扩 展后杂凑値,该扩展后杂凑値之长度与一讯息块之 长度相同。 21.如申请专利范围第20项所述之方法,其中反转该 测试型样之步骤包含: 以相同的种子重新进行(reinitialize)该杂凑演算法; 以及 将一扩展后杂凑値中杂凑値的部分和反转后杂凑 値的部分位置对调。 22.如申请专利范围第19项所述之方法,更包含: 如果记忆体已经填满,将该扩展后初始杂凑値从该 记忆体中读出;以及 将从记忆体中读出的扩展后初始杂凑値当作一输 入,进行该杂凑演算法,以产生下一个杂凑値。 23.如申请专利范围第22项所述之方法,更包含: 将每一个扩展后杂凑値从该记忆体中读出;以及 重复用前一次由该记忆体中读出之扩展后杂凑値 当作一输入,进行一杂凑演算法,以产生下一个杂 凑値,直到最后一个扩展后杂凑値从该记忆体中读 出,且利用该最后之扩展后杂凑値产生最后杂凑値 。 24.一种测试记忆体的测试系统,至少包含: 一测试型样产生装置,该测试型样产生装置利用一 杂凑演算法(hash algorithm)产生一测试型样(test pattern)并将该测试型样写入该记忆体;以及 一签章产生装置,该签章产生装置由该记忆体读出 该测试型样并利用该杂凑演算法以及已读出之该 测试型样产生一签章(signature); 其中,该签章系供一参考签章进行比对,以验证该 记忆体之读写过程中是否有任何错误。 25.如申请专利范围第24项所述之测试系统,其中该 测试系统系内建于一晶片,该晶片包含该记忆体。 26.如申请专利范围第24项所述之测试系统,其中该 杂凑演算法包含一SHA。 27.如申请专利范围第26项所述之测试系统,其中该 杂凑演算法系选自以SHA-1、SHA-224、SHA-256、SHA-384 以及SHA-512所组成群体其中之一。 28.如申请专利范围第26项所述之测试系统,更包含: 一ROM供储存复数个Kt参数,该些Kt参数系供该杂凑 演算法使用,该些Kt参数定义于FIPS PUB 180-2中。 29.如申请专利范围第24项所述之测试系统,其中该 杂凑演算法包含一MD5演算法。 30.如申请专利范围第24项所述之测试系统,更包含: 一讯息块缓冲器(message block buffer)供储存一讯息块 (message block),其中该讯息块系当作该杂凑演算法之 一输入,以进行该杂凑演算法。 31.如申请专利范围第24项所述之测试系统,更包含: 一加法器电路,其中该加法器电路进行1(e)+h+Wt+Kt +Ch(e,f,g),当该测试系统实现SHA-256或SHA-224时,1(e)= (e >6)^(e >11)^(e >25),当该测试系统实现SHA-512或SHA-384时,1(e)=(e >14)^(e >18)^(e >41); 其中Ch(e,f,g)=(e&f)^(~e&g)且e,h,Wt,Kt,f,以及g系定义于 FIPS PUB 180-2之参数。 32.如申请专利范围第24项所述之测试系统,更包含: 一加法器电路,其中该加法器电路进行0(a)+Maj(a,b ,c),当该测试系统实现SHA-256或SHA-224时,0(a)=(a >2)^(a >13)^(a >22),当该测试系统实现SHA-512或SHA-384时,E0(a)=(a >28)^(a >34)^(a >39); 其中Maj(a,b,c)=(a&b)^(a&c)^(b&c)且a,b,以及c是定义于FIPS PUB 180-2的参数。 33.如申请专利范围第24项所述之测试系统,更包含: 一第一加法器电路,其中该第一加法器电路进行 1(e)+h+Wt+Kt+Ch(e,f,g),当该测试系统实现SHA-256或SHA-224 时,1(e)=(e >6)^(e >11)^(e >25),当该测试系统实现SHA-512或SHA-384时,1(e)=(e >14)^(e >18)^(e >41),该第一加法器电路进行加法运算之后输出一T1 値; 一第二加法器电路,其中该第二加法器电路进行 0(a)+Maj(a,b,c),当该测试系统实现SHA-256或SHA-224时, 0(a)=(a >2)^(a >13)^(a >22),当该测试系统实现SHA-512或SHA-384时,0(a)=(a >28)^(a >34)^(a >39),该第二加法器电路进行加法运算之后输出一T2 値; 复数个第一暂存器,供储存该杂凑演算法之每一序 列演算所产生之中间値,其中每一第一暂存器具有 相同宽度之输出,该些输出分别对应于a,b,c,d,e,f,g, 以及h之値:以及 复数个第二暂存器,供储存该杂凑演算法对于一讯 息块进行演算之后所产生之一杂凑値,其中每一第 二暂存器具有相同宽度之输出,该些输出分别对应 于H0,H1,H2,H3,H4,H5,H6,以及H7之値,当实现SHA-256或SHA- 224之演算时,每一个输出是一个32-bit字的宽度大小 ,当实现SHA-512或SHA-384之演算时,每一个输出是一个 64-bit字的宽度大小; 其中Ch(e,f,g)=(e&f)^(~e&g)且e,h,Wt,Kt,f,以及g系定义于 FIPS PUB 180-2之参数,Maj(a,b,c)=(a&b)^(a&c)^(b&c)且a,b,以 及c是定义于FIPS PUB 180-2的参数。 34.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择T1+T2当作输 出値,当一序列之运算结束后,选择H0+a当作输出値; 其中该输出値存入对应于a値之第一暂存器。 35.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择a当作输出 値,当一序列之运算结束后,选择H1+b当作输出値; 其中该输出値存入对应于b値之第一暂存器。 36.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择b当作输出 値,当一序列之运算结束后,选择H2+c当作输出値; 其中该输出値存入对应于c値之第一暂存器。 37.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择c当作输出 値,当一序列之运算结束后,选择H3+d当作输出値; 其中该输出値存入对应于d値之第一暂存器。 38.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择d+T1当作输 出値,当一序列之运算结束后,选择H4+e当作输出値; 其中该输出値存入对应于e値之第一暂存器。 39.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择e当作输出 値,当一序列之运算结束后,选择H5+f当作输出値; 其中该输出値存入对应于f値之第一暂存器。 40.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择f当作输出 値,当一序列之运算结束后,选择H6+g当作输出値; 其中该输出値存入对应于g値之第一暂存器。 41.如申请专利范围第33项所述之测试系统,更包含: 一多工器,当一序列之运算进行时,选择g当作输出 値,当一序列之运算结束后,选择H7+h当作输出値; 其中该输出値存入对应于h値之第一暂存器。 42.如申请专利范围第24项所述之测试系统,更包含: 一加法器电路,其中该加法器电路进行1(Wt-2)+Wt-7 +0(Wt-15)+Wt-16,当该测试系统实现SHA-256或SHA-224时, 1(Wt-2)=(Wt-2 >17)^(Wt-2 >19)^(Wt-2 10)且0(Wt-15)=(Wt-15 >7)^(Wt-15 >18)^(Wt-15 3),当该测试系统实现SHA-512或SHA-384时,1(Wt-2)=(Wt-2 >19)^(Wt-2 >61)^(Wt-2 6)且0(Wt-15)=(Wt-15 >1)^(Wt-15 >8)^(Wt-15 7); 其中,Wt-2,Wt-7,Wt-15,以及Wt-16是定义在FIPS PUB 180-2的 参数。 43.如申请专利范围第42项所述之测试系统,更包含: 一多工器(multiplexer)供选择一Wt値,该Wt値系选自该 加法器电路之输出以及Wt0_15其中之一,其中Wt0_15系 定义于FIPS PUB 180-2。 44.如申请专利范围第24项所述之测试系统,更包含: 一编解码器(codec)电路,供产生一读取Kt参数的位址 ,以进行该杂凑演算法,其中该Kt参数系定义于FIPS PUB 180-2。 图式简单说明: 第1A图绘示一外部测试装置之示意图; 第1B图绘示一内含AMBIST记忆体测试系统的记忆晶 片之一范例; 第2A图绘示一AMBIST系统测试一记忆体之范例流程 图; 第2B图、第2C图以及第2D图绘示AMBIST方法中细部步 骤的范例; 第2E图绘示扩展杂凑値的例子; 第2F图绘示反转扩展后杂凑値的例子; 第3A图绘示一杂凑値产生器(hash generator)的示意方 块图; 第3B图绘示一杂凑値产生器之硬体内细部步骤的 范例; 第4A图和第4B图绘示AMBIST系统的细部流程图的范例 ; 第5A图、第5B图、第5C图以及第5D图绘示一种利用 SHA-256杂凑値产生器之硬体的AMBIST系统的一个例子 ; 第6A图绘示利用SHA-256的硬体的最上层架构的范例 方块图; 第6B图绘示QCOM 601的细节之范例图; 第6C图绘示计算单元600的细节之范例图;以及 第7A图以及第7B图绘示SHS杂凑计算单元600的细部架 构。
地址 桃园县中坜市元化路125巷15之2号