可认证的非挥发性内存组件及其操作及制造方法

文档序号:6507321阅读:149来源:国知局
可认证的非挥发性内存组件及其操作及制造方法【专利摘要】本发明提供一种内存组件封装封住两个分开的芯片,一个是标准的非挥发性内存集成电路(“IC”)芯片,及另一个是合适的认证IC芯片。任一芯片可堆栈于另一芯片上,或芯片可并排放置。外部接点可对应标准的非挥发性内存IC芯片的电源及信号需求,使得内存组件封装的输出-引脚可表示为标准的输出引脚。认证IC芯片的电源及信号需求可满足用于非挥发性内存集成电路芯片的一些或全部引脚,或满足组件封装的其他未使用的引脚。一或多个额外外部接点可专门加入于认证集成电路芯片。一或多个信号可专属于标准的非挥发性内存IC芯片与认证IC芯片之间。【专利说明】可认证的非挥发性内存组件及其操作及制造方法【
技术领域
】[0001]本发明是有关于一种数字内存组件,且特别是有关于一种可被认证的非挥发性内存组件及其操作方法与制造方法。【
背景技术
】[0002]通常,非挥发性内存(且特别是包括NOR及NAND型态的所有类型的闪存)由于其显著的成本优势已变得日益普遍。现今,不同接口的闪存可以被获得,其范围从传统的NAND接口至低引脚数串行式(lowpincountserial)NAND接口、以及包括单SP1、双SPI及四SPI的串行式外围接口(SerialPeripheralInterface,“SPI”)、以及四外围接口(QuadPeripheralInterface,“QPI”)。从美国加州圣荷西(SanJose,California,USA)的华邦电子股份有限公司购得的SPIFLASH(RTM),产品号W25Q128FV(参看华邦电子股份有限公司,数据单:SpiFlash3V128M-BitSerialFlashMemorywithDual/QuadSPI&QPI,版本D,2012年10月I日),即是一个成功的串行式闪存组件的实例。[0003]非挥发性内存被广泛地使用在今日的包括个人计算机系统及工作站的数字电子设备;包括手机、智能型手机、手机式平板(Phablets)及书写平板(tablets)的移动通讯组件;例如MP3播放器及电玩组件的娱乐系统;医药组件控制器;以及云端系统。储存于此种非挥发性内存上的信息的安全性对计算机产业始终是重要的事。而解决此种数字电子设备的安全性上的弱点(securityvulnerabilities)为保持产业运作的不可或缺部分。[0004]很多使用于上述数字电子设备的非挥发性内存与用以运行储存于非挥发性内存中的计算机码及存取数字数据的处理机(微处理机或控制器)是被分开封装的。这样的分开的封装会表现出安全性上的弱点。参照图1,上述的计算机码及/或存取数字数据可以多种方式被恶意地存取及/或修改,例如(举例来说),透过分接至(tappinginto)一或多个例如为系统控制器10与非挥发性内存组件12的间的数据输入(datain,“DI”)及数据输出(dataout,“D0”)的线路14,再将探针直接连接至已封装的非挥发性内存组件12的一或多个引脚的延伸部位;当已封装的非挥发性内存组件12被安装于数字电子设备中时,强迫读取及/或修改已封装的非挥发性内存组件12的内容;以及将非挥发性内存组件12从数字电子设备中物理性的移除来读取及/或修改内容。[0005]一般使用非挥发性内存组件来储存用于各种类型应用的可执行码(executablecode),包括机顶盒(settopboxes)、手机、个人计算机、调制解调器等等,以及多种不同的应用。通常储存于非挥发性内存组件(且特别是用于个人计算机的闪存组件)上的一种类型的码,一般已知的是基本输入输出系统(BasicInput/Outputsystem,“B1S”)码。B1S码促进硬件的初始化处理以及对操作系统进行过渡控制(transit1ncontrol)。基于B1S在系统构造(architecture)内的独一无二及特殊的权利地位,藉由恶意对B1S进行未被授权的(unauthorized)修改会构成系统的严重的威胁。B1S安全性由DavidCooper等人在2011年4月,国家标准技术研究所(Nat1nalInstituteofStandardsandTechnology,“NIST”)中被发表于B1SProtect1nGuidelines:SpecialPublicat1n800-147。[0006]图2绘示子系统20的一实例,子系统20用于避免嵌入于可修改的非挥发性内存组件(例如闪存)中的B1S程序代码被未授权的修改,其并被揭露于1998年12月I日授予Davis的美国专利第5,844,986号。主机处理机21及系统内存23经由芯片组(作为接口)22与密码协处理机(cryptographiccoprocessor)配置于系统总线24上,密码协处理机25包括总线接口26、处理单元27及具有B1S程序代码29的非挥发性内存28,并用以执行基于公用/私人密钥协议(public/privatekeyprotocol)的B1S升级的认证及验证(validat1n)。藉由核对(verify)嵌入于B1S升级中的数字签名(signature)来执行认证。虽然图标中主机处理机21与密码协处理机25是分开的,但密码协处理机25可为主机处理机21的一部分。在此情况下,主机处理机21直接存取B1S程序代码29而不需经由系统总线24。[0007]虽然执行密码处理的安全引擎(securityengine)与欲保卫的储存程序代码及/或数据的非挥发性内存可为分开且分离的组件,将非挥发性内存(例如串行式闪存)以及安全引擎亦可为一基板上的单一集成电路。【
发明内容】[0008]本发明的一实施例为一种内存组件,其包括:封装主体;非挥发性内存集成电路芯片,包含于封装主体(packagebody)中且包括第一接口、稱接至第一接口的控制逻辑、以及耦接至控制逻辑与第一接口的非挥发性内存数组;认证集成电路芯片,包含于封装主体中且包括第二接口、耦接至第二接口的认证引擎、耦接至认证引擎的挥发性内存缓存器、以及耦接至认证引擎与第二接口的非挥发性内存数组;以及接点,从封装主体延伸或配置于封装主体上,且接点电性耦接至第一接口与第二接口。[0009]本发明的另一实施例为非挥发性内存集成电路芯片的认证方法,所述非挥发性内存集成电路芯片包含于封装主体中且具有从封装主体延伸或配置于封装主体上的多数个接点,所述非挥发性内存集成电路芯片具有电性耦接到至少一些所述接点的第一接口,所述认证方法包括:在包含于封装主体中的认证集成电路芯片的非挥发性内存数组中储存原始密钥,所述认证集成电路芯片更包括第二接口以及耦接至第二接口的认证引擎,所述非挥发性内存数组耦接至认证引擎以及第二接口;在认证集成电路芯片的非挥发性内存数组内保持单调计数;在认证引擎内加密(encrypting)单调计数以产生已加密的计数;以及将已加密的计数经由所述第二界面从所述认证引擎供给(furnishing)所述接点的一者,所述第二接口电性耦接到至少一些所述接点。[0010]本发明的另一实施例为非挥发性内存集成电路芯片的认证方法,所述非挥发性内存集成电路芯片包含于封装主体中且具有从封装主体延伸或配置于封装主体上的多数个接点,所述非挥发性内存集成电路芯片具有电性耦接到至少一些所述接点的第一接口,所述认证方法包括:在包含于封装主体中的认证集成电路芯片的非挥发性内存数组中储存原始密钥,所述认证集成电路芯片更包括第二接口、耦接至第二接口的认证引擎、以及耦接至认证引擎的挥发性内存缓存器,所述非挥发性内存数组耦接至认证引擎以及第二接口;在认证集成电路芯片的非挥发性内存数组内保持单调计数;认证集成电路芯片接收与用于提供单调计数的密钥哈希讯息认证码(keyed-hashmessageauthenticat1ncode;密钥HMAC)相关的请求(request);将单调计数经由第二接口从认证引擎供给所述接点的一者,第二接口电性耦接到至少一些所述接点;认证集成电路芯片接收与用于增加单调计数的密钥HMAC相关的请求;以及在认证集成电路芯片中增加单调计数。[0011]本发明的另一实施例为内存组件的制造方法,包括:将标准的非挥发性内存集成电路芯片及认证集成电路芯片堆栈在一起,以形成芯片在芯片上(die-on-die)堆栈,所述标准的非挥发性内存集成电路芯片包括第一接口、耦接至第一接口的控制逻辑、以及耦接至控制逻辑与第一接口的非挥发性内存数组,且所述认证集成电路芯片包括第二接口、耦接至第二接口的认证引擎、耦接至认证引擎的挥发性内存缓存器、以及耦接至认证引擎与第二接口的非挥发性内存数组;将多数个接点电性耦接至第一接口与第二接口;以及将芯片在芯片上堆栈囊封(encapsulating)于封装主体中,所述接点从封装主体延伸或配置于封装主体上。[0012]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。【专利附图】【附图说明】[0013]通过参照附图详细描述其示例实施方式,本公开的上述和其它特征及优点将变得更加明显。[0014]图1为不可信赖的内存子系统的方块示意图。[0015]图2为用于计算机的B1S的可信赖的非挥发性内存子系统的方块示意图。[0016]图3为可信赖的非挥发性内存组件及控制器的方块示意图。[0017]图4为适用于图3的可信赖的非挥发性内存组件的闪存集成电路芯片的方块示意图。[0018]图5为适用于图3的可信赖的非挥发性内存组件的认证集成电路芯片的方块示意图。[0019]图6为包含认证集成电路芯片的一闪存组件的打线(bonding)上视图,其中认证集成电路芯片装设于串行式闪存芯片上且接合至(bondedto)外部接点。[0020]图7为图6的已封装的闪存组件的侧视图。[0021]图8为包含认证集成电路芯片的另一闪存组件的打线上视图,其中认证集成电路芯片装设于串行式闪存芯片上且接合至外部接点。[0022]图9为显示不同类型联机(connect1ns)的已封装的闪存组件的侧视图。[0023]图10为显示认证集成电路芯片与内存组件的非挥发性内存集成电路芯片之间以及至组件之外部引脚的说明性内联机组(setofinterconnect1ns)ο[0024]图11为显示认证集成电路芯片与内存组件的非挥发性内存集成电路芯片之间以及至组件之外部弓丨脚的另一说明性内联机组。[0025]图12为显示认证集成电路芯片与内存组件的非挥发性内存集成电路芯片之间以及至组件之外部弓丨脚的另一说明性内联机组。[0026]图13为显示认证集成电路芯片与内存组件的非挥发性内存集成电路芯片之间以及至组件之外部弓丨脚的另一说明性内联机组。[0027]图14为包含认证集成电路芯片的另一闪存组件的打线上视图,认证集成电路芯片装设于串行式闪存芯片上,且另一闪存组件包括用于外部接点及内部芯片至芯片(die-to-die)接点的打线接合(wirebonds)。[0028]图15为包含认证集成电路芯片的另一闪存组件的打线上视图,其中认证集成电路芯片装设于串行式闪存芯片上,且另一闪存组件包括用于外部接点及内部芯片至芯片接点的打线接合。[0029]图16为一种预启动(pre-boot)认证处理的流程图。[0030]图17为一种单调计数器读取处理的流程图。[0031]图18为一种B1S码升级处理的流程图。[0032]图19为一种内存组件认证处理的流程图。[0033]其中,附图标记说明如下:[0034]10:系统控制器[0035]12:非挥发性内存组件[0036]14:线路[0037]20:子系统[0038]21:主机处理机[0039]22:芯片组[0040]23:系统内存[0041]24:系统总线[0042]25:密码协处理机[0043]26:总线接口[0044]27:处理单元[0045]28:非挥发性内存[0046]29=B1S程序代码[0047]30:控制器[0048]31、35、1030、1130、1230、1330:接口[0049]32:内存组件封装[0050]33、50、62、80、81、83、91、1010、1110、1210、1310:认证集成电路芯片[0051]34:标准的非挥发性内存集成电路芯片[0052]36:可信赖的平台模块/TPM[0053]40:闪存集成电路芯片[0054]41:SPI/QPI1/0控制[0055]42:控制逻辑[0056]43、53:通信译码器[0057]44、54:状态缓存器[0058]45,55:地址序列器[0059]46、56:闻压产生器[0060]47:位移缓存器[0061]48、58:感测放大器[0062]51:1/0控制[0063]52:认证引擎与控制逻辑[0064]57=SRAM[0065]59:挥发性内存[0066]60、63:内存集成电路芯片[0067]61、65、67、82、84、85、86、87、89:焊垫[0068]1240、1:340:内部联机[0069]64:引线框架芯片垫[0070]66、68:黏合剂[0071]69:闸控电路[0072]70:塑料材料的封装主体[0073]71?78、98、99:引脚[0074]90:封装主体[0075]92、94:黏合剂[0076]93、1020、1120、1220、1320:非挥发性内存集成电路芯片[0077]95:引线框架芯片垫[0078]96,97:布线排列[0079]140:闪存数组[0080]141、151:列译码器[0081]142、152:行译码器[0082]150:非挥发性内存数组[0083]154:用户内存[0084]156:密钥内存[0085]158:计数器[0086]1000、1100、1200、1300:内存组件[0087]1040、1140:内部联机[0088]1400:预启动认证处理[0089]1500:单调计数器读取处理[0090]1600:用于认证B1S码升级的处理[0091]1900:用于内存组件认证的处理[0092]1410?1490、1510?1560、1610?1690、1910?1980:方块【具体实施方式】[0093]虽然执行密码处理的安全引擎与欲保卫的用以储存程序代码及/或数据的非挥发性内存可被实施在单一基板上的单一集成电路上,但此种作法会造成显著的成本上的浪费,特别是视成本考虑为重要因素的串行式闪存。通常,不同的串行式闪存提供许多不同的密度。对不同密度的串行式闪存提供安全性的技术特征需要将安全功能性设计至每一种密度的串行式闪存中。此外,假如安全引擎或内存变得过时或被发现有缺陷,整个库存的内存集成电路芯片及其光罩需要被丢弃,且将需要新的内存集成电路设计。[0094]图3绘示以下方式,其中内存组件封装32封住两个分开的芯片,一个是标准的非挥发性内存集成电路芯片34,且另一个是合适的认证集成电路芯片33。任一芯片33或34可堆栈于另一芯片上。或者,芯片33及34可并排(side-by-side)放置,其可减少内存组件封装32的高度但会增加覆盖区(footprint)。组件封装32的外部接点(未绘示)可对应标准的非挥发性内存集成电路芯片34的电源及信号需求,使得内存组件封装32的输出引脚(pin-out)可配置为常用的标准的非挥发性内存集成电路芯片34的内存产品类型的标准的输出引脚。认证集成电路芯片33的电源及信号可藉由非挥发性内存集成电路芯片34的一些或全部引脚提供,或藉由内存组件封装32的其他未使用的引脚提供。一或多个额外外部接点可专门(exclusively)加入认证集成电路芯片33,但其中认证集成电路芯片33所需的接点数量小于或等于标准的非挥发性内存集成电路芯片34所需的接点数量,藉由使用用于标准的非挥发性内存集成电路芯片34的信号及电源线(powerlines)来满足认证集成电路芯片33的需求,以允许外部输出引脚为标准的,进而增强兼容性。在一些实施中,一或多个信号可专属(dedicated)于标准的非挥发性内存集成电路芯片34与认证集成电路芯片33之间,但这些芯片间(inter-die)信号不会接至任何外部接点。[0095]标准的非挥发性内存集成电路芯片34可为任何类型的非挥发性内存,例如(举例来说)NOR闪存、NAND闪存、EEPROM、PCRAM、FRAM、RRAM、MRAM等等,所述非挥发性内存具有任何类型的合适的接口,包括并列式接口,例如并列式闪存总线接口及NAND总线接口;串行式接口,例如串行式外围接口(“SPI”)及四外围接口(“QPI”)等等。认证集成电路芯片33可使用其所具有的挥发性内存以及非挥发性内存来储存密钥,且可包括任何其所需求的电路及对任何想要的安全算法进行程序化动作,上述动作不管是对称密钥(symmetric-key)或公用密钥(public-key)密码学,其中包括(举例来说)RSA算法、进阶加密标准(AdvancedEncrypt1nStandard,“AES”)规格、安全哈希算法(SecurityHashAlgorithm,“SHA”)、讯息认证码(MessageAuthenticat1nCodes,“MAC”)、数据加密标准(DataEncrypt1nStandard,“DES”)规格、随机数生成(randomnumbergenerat1n)、单调计数器、或任何其他加密算法,以通过接口31上的控制器30实施认证程序。另可视需求设置一可信赖的平台模块(trustedplatformmodule,“TPM”)36,其可以合适的接口35(例如低引脚数(“LPC”)接口、I2C接口、或SPI接口)与控制器30通信。在一些实施例中,藉由认证集成电路芯片33即可提供足够的安全性,因此并不需要TPM36及接口35,且一或多个原始密钥(rootkey)可于制造时或由原始设备制造商(“OEM”)于一次程序化程序中建立于认证集成电路芯片33中。省去TPM36及接口35会简化接口信号且可提供显著的节约成本。在一些实施例中。可视需求藉由多个非挥发性原始密钥及非挥发性单调计数器以进行多认证程序。[0096]内存组件封装32可为任何想要的类型的集成电路封装,包括(举例来说)小型集成电路(SmallOutlineIntegratedCircuit,“S0IC”)、极小型封装(VerySmall-OutlinePackage,“VS0P”)、塑料双排型封装(PlasticDualIn-Linepackage,“FOIP”)、超薄小型无引线(ThinSmallOutlineNoLead,“WS0N”)、以及耐热增强型球栅数组(ThermallyEnhancedBallGridArray,“TFBGA”)。合适的封装类型亦可包括用于低密度零件的150mil8-pinSOIC封装、用于中高密度零件的208mil8_pinSOIC封装、以及低轮廓(lowprofile)6mmx5mm8-padWSON封装。可使用与标准的非挥发性内存集成电路芯片34的接口匹配(matching)的任何类型的接口,包括单及多位SP1、QP1、传统NAND闪存组件接口、以及串行式NAND闪存接口。施加至接口31上的指令可被认证集成电路芯片33及标准的非挥发性内存集成电路芯片34两者接收。虽然一些指令对芯片33及34两者是共享的,认证集成电路芯片33可忽略对标准的非挥发性内存集成电路芯片34的特定指令,而标准的非挥发性内存集成电路芯片34可忽略对认证集成电路芯片33的特定指令。[0097]由于图3的实施例仅需设计单一的认证集成电路,因此可提供很快地可上市时间(time-to-market)并可节约产品的成本。相较之下,过去面对不同密度的内存时,单集成电路解决方案的供货商必需花费精力和时间去设计不同密度的内存以及用于每一种密度的内存的新芯片的安全方块。然而,对图3的实施例而言,单认证集成电路可被设计成与任何密度的标准的非挥发性内存一起使用,并仅需使用一个适当的光罩以及一个制程即可将单认证集成电路重复的复制至各个芯片中,每一个芯片可与任何标准的非挥发性内存集成电路芯片一起封装,以提供不同密度的各种安全内存解决方案。此外,各种不同的认证集成电路可被设计成与任何密度的标准的非挥发性内存一起使用,以提供不同密度及不同安全算法的各种已封装的内存组件。另外,实施不同密码算法的多认证集成电路芯片可与特定的标准内存集成电路芯片一起封装,以提供能给予多个安全性解决方案的单一的已完成封装的内存。此外,在无需修改标准的非挥发性内存的情况下,任何客制化安全引擎可随时被设计成与任何标准的非挥发性内存一起使用。在各种情形中,皆无需进行修改即可直接使用标准的非挥发性内存集成电路芯片,因此不会产生因修改内存设计以及重新制作生产治具的额外成本。此外,使用者可因具有安全性非挥发性内存组件而受益,所述安全性非挥发性内存组件位于具备方便及熟悉的输出引脚的方便且熟悉的封装中。[0098]图4绘示一说明性的串行式闪存集成电路芯片40,其为一种适于图3的实施例的实施型态之一。闪存集成电路芯片40包括任何构造的闪存数组140,以及其他各种支持(support)内存程序化、抹除及读取的电路,例如列译码器141、行译码器142、控制逻辑42、通信译码器43、状态缓存器(statusregister)44、地址序列器(addresssequencer)45、高压产生器46、位移缓存器(shiftregister)47、以及感测放大器(senseamplifier)48。[0099]虽然可使用任何想要的通信接口,特别合适的接口为提供单位元、双位及四位SPI与四外围接口(“QPI”)的SPI/QPI接口。关于内存数组的对SPI及QPI接口及对电路的额外细节可在美国专利第7,558,900中找到,其由华邦电子股份有限公司公开且于2009年7月7日授予Jigour等人,数据表单:SPIFLASH(RTM)W25Q128FV3V128M_BitSerialFlashMemorywithDual/QuadSPI&QPI,版本D,2012年10月I日,其全部内容于此并入本文参考。说明性SPI/QPII/O控制41实施SPI/QPI接口,其使用信号CLK作为频率信号(clocksignal);使用信号/CS作为芯片选择反向信号(chipselectcomplementsignal);使用信号DI或100作为串行式数据-输入(单位元SPI)及位O串行式数据-输入/输出(多位SPI及QPI);使用信号DO或101作为串行式数据-输出(单位元SPI)及位I串行式数据-输入/输出(多位SPI及QPI);使用信号/WP或102作为写入保护反向信号(writeprotectcomplementsignal)(单位元SPI)及位2串行式数据-输入/输出(多位SPI及QPI);使用信号/HOLD或103作为保持反向信号(holdcomplementsignal)(单位元SPI)及位3串行式数据-输入/输出(多位SPI及QPI);电源VDD;以及电源VSS。[0100]控制器30对不可信赖的内存功能所使用的指令集(commandset)可为特定用于标准的非挥发性内存集成电路芯片34的标准指令集。[0101]图5绘示一种说明性认证集成电路芯片50,其包括非挥发性内存数组150以及其他各种支持内存程序化、抹除及读取的电路,例如列译码器151、行译码器152、认证引擎与控制逻辑52、通信译码器53、状态缓存器54、地址序列器55、高压产生器56、SRAM57、感测放大器58、以及挥发性内存59。非挥发性内存数组150提供敏感信息(例如原始安全密钥及单调计数器值)给可信赖的非挥发性储存件。部分非挥发性内存150设计为一次性可程序化或只读的(举例来说,只读存储器或“ROM”)以储存原始安全密钥。挥发性内存59提供了对从原始密钥衍生的密钥的暂时储存。I/O控制51接口于(interfaceswith)SPI/QPI信号及电源线。说明性地,认证集成电路芯片50可以任何SPI模式或QPI模式来操作,且因此使用CLK、/CS、DI/100、D0/101、102及103信号线以及VDD及VSS电源线。可不使用信号/WP及/HOLD。举例来说,认证集成电路芯片(未绘示)可仅仅以单位元SPI模式来操作,且因此使用CLK、/CS、DI及DO以及VDD及VSS电源线。此外,不需使用信号/WP及/HOLD,因而可仅仅使用六个引脚。[0102]控制器30对认证及对可信赖的内存功能所使用的指令集可为具体用于认证集成电路芯片33的指令,除了一些指令可同时用于认证及可信赖的内存功能以及不可信赖的内存功能。[0103]图6及图7绘示说明性非挥发性内存组件的各种打线示意图。为清楚起见,图6显示其中未绘示封住塑料(encasingplastic)的上视图,且图7显示沿着一对相对引脚74及75的侧视图,引脚仅仅为常用于集成电路封装中的一种类型的外部接点。说明性地,封装类型为8-pinSOIC类型封装。使用任何合适的黏合剂(bondingagent)68(例如,金-锡或金-硅焊料或环氧树脂接着剂)来将内存集成电路芯片60接合至引线框架芯片垫(leadframediepad)64或其他类型的支撑结构。使用任何合适的黏合剂66(说明性地,金-锡或金-硅焊料或环氧树脂接着剂)来将较小的认证集成电路芯片62接合至内存集成电路芯片60的顶部。此种排列亦可称为芯片在芯片上(chip-on-chip)技术。虽然图标内存集成电路芯片60大于认证集成电路芯片62,但其相对尺寸亦可相反,使得内存集成电路芯片可装设于相对较大的认证集成电路芯片上(未绘示)。说明性地,内存集成电路芯片60具有SPI/QPI闪存接口,使得已封装的非挥发性内存组件的引脚71?78分别指定/CS、D0或1U/WP或102,VSS,DI或100,CLK,/HOLD或103、以及VDD,且布线(wires)分别将内存集成电路芯片60上的八个焊垫连接至这些引脚。类似地,打线分别的将认证集成电路芯片62的八个焊垫连接至这些引脚。或者,可透过打线以将内存集成电路芯片60上的八个焊垫与认证集成电路芯片62上的八个焊垫分别各自连接,且可使用其他打线以将个别的连接焊垫对(bondingpadpairs)连接至引脚(参看,举例来说,图9中的布线排列96)。塑料材料的封装主体70被射出成型,从而将内存集成电路芯片60、认证集成电路芯片62、导线(leadwires)、以及部分引脚(例如显示于图7中的74及75)封住以保护及稳固这些零件。[0104]假如需要较多引脚,可使用较大的封装类型。举例来说,若需要包括用于内存集成电路芯片60及认证集成电路芯片62两者的RESET信号,在此情况下可使用16-pinSOIC类型封装。举例来说,输出引脚中除了其他未使用的引脚可为用于SPI/QPI串行式内存的标准输出引脚,除了其他未使用的引脚的其中的一者则可被指定用于传送RESET信号。[0105]绘示于图6及图7的封装技术的范例,且在有需求的情况下,可使用其他系统内封装(system-1n-package)或三维集成电路及多芯片封装(mult1-chippackaging,“MCP”)技术。对极薄封装主体而言,引线框架芯片垫上的并排排列的内存集成电路芯片60及认证集成电路芯片62可能是较为合适的。在此类型的实施中,需要制造具有额外轨线(traces)及焊垫(bondingpads)的认证集成电路芯片62,使得各种打线接合的距离可保持最短。此夕卜,虽然使用合适的黏合剂来堆栈内存集成电路芯片60及认证集成电路芯片62可相当有效,但亦可使用其他堆栈技术,例如(举例来说)将个别的芯片附接至基板的顶部及底部。类似地,可使用基板以支撑并排排列的芯片。可用许多其他技术来于将内存集成电路芯片60及认证集成电路芯片62上的焊垫或其他接点互相连接,以及将内存集成电路芯片60及认证集成电路芯片62上的焊垫或其他接点连接至封装外部上引脚或接点(包括焊料凸块(solderbumps))。[0106]显示于图8中的封装配置类似于显示于图6中的封装配置,除了认证集成电路芯片80被设计成仅仅在单位元SPI模式中操作,使得信号线102及103未被使用。由于未使用/WP及/HOLD,可消去图6中用于连接至102及103的焊垫及布线。图8亦显示内部芯片至芯片联机的一个实例,所述内部芯片至芯片联机使用内存集成电路芯片60上的焊垫82与认证集成电路芯片80上的焊垫84之间的布线。此种内部芯片至芯片布线之一实例显示为图9中的布线排列(wiringarrangement)97。[0107]图10至图13绘示外部信号与电源连接(powerconnect1n)及内部信号联机的各种排列。图10显示具有认证集成电路芯片1010及内存集成电路芯片1020(其分享共享接口1030)的内存组件1000。若有需求时,可提供一或多个内部联机1040。[0108]图11绘示一种内存组件1100,其中认证集成电路芯片1110分享内存集成电路芯片1120的信号及/或电源线的子集合,其具有未分享的外部信号及/或电源连接(接口1130)。若有需求时,可提供一或多个内部联机1140。[0109]图12绘示一种内存组件1200,其中内存集成电路芯片1220分享认证集成电路芯片1210的信号及/或电源线的子集,其具有未分享的外部信号及/或电源连接(接口1230)。若有需求时,可提供一或多个内部联机1240。[0110]图13绘示一种内存组件1300,其中认证集成电路芯片1310分享内存集成电路芯片1320的信号及/或电源线的子集。认证集成电路芯片1310及内存集成电路芯片1320两者具有未分享的外部信号及/或电源连接(接口1330)。若有需求时,可提供一或多个内部联机1340。[0111]图14及图15绘示内部芯片至芯片联机的替代性实例,所述内部芯片至芯片联机基于认证结果控制/CS至内存集成电路芯片的施行。[0112]显示于图14中的封装配置与显示于图6中的封装配置相似,除了:认证集成电路芯片81经设计以控制传至内存集成电路芯片60的/CS信号的应用,以省去内存集成电路芯片60的引脚71与焊垫61之间的布线,且于认证集成电路芯片81上的焊垫85与内存集成电路芯片60上的焊垫61之间制作内部芯片至芯片联机。从引脚71至焊垫86提供/CS信号至认证集成电路芯片81。当认证事件通过,传递/CS信号至焊垫61,而当认证事件失败,不传递/CS信号至焊垫61。[0113]绘示于图15中的封装配置类似于显示于图6中的封装配置,除了:认证集成电路芯片83被设计成产生内部认证通过/失败信号,以控制传至内存集成电路芯片63的/CS信号的应用,内存集成电路芯片63被设计成包括闸控电路(gatingcircuit)69(例如为NOR闸),且于认证集成电路芯片83上的焊垫89与内存集成电路芯片63上的焊垫67之间制作内部芯片至芯片联机,以施加内部认证通过或失败信号。从引脚71提供/CS信号至认证集成电路芯片83上的焊垫87以及至内存集成电路芯片63上的焊垫65两者。当认证事件通过,内部认证通过/失败信号变“低”,使得闸控电路69通过/CS信号。假如认证事件失败,内部认证通过/失败信号变“高”,使得闸控电路69不会通过/CS信号。[0114]图15的封装配置于以下情况是有利的:/CS信号的计时(timing)是在重要路径中,因为/CS信号放置于图14的封装配置中,因此/CS信号至内存集成电路芯片的施行没有拖延。虽然内存集成电路芯片63被设计成包括闸控电路69,内存集成电路芯片63仍然可被视为标准内存集成电路芯片,因为内存集成电路芯片63可与或可不与认证集成电路芯片一起使用。当内存集成电路芯片63未与认证集成电路芯片一起使用时(未绘示),焊垫67可被布线至VSS引脚74或可被布线至任何布线至引脚74的焊垫,使得闸控电路69通过/CS信号。[0115]实施实例[0116]图16至图19绘示一种认证处理的范例,当用于B1S储存时,其可藉由认证集成电路芯片50(图5)并有闪存集成电路芯片40进行。通信译码器可响应专门(specialized)认证-特定指令,例如用于读取单调计数器值的计数器读取指令(图17),且亦可响应一些标准内存指令,例如用于增加记忆-修改单调计数器(memory-modifiedmonotoniccounter)的抹除/程序化指令,以侦测重送攻击(replayattacks)(图16)。非挥发性内存150可包括数个有区别的区域,例如(举例来说)用户内存154、信息区域(未绘示)、组态内存(configuraitonmemory)(未绘示)、密钥内存156、以及计数器158。用户内存154可具有数个区块,所述区块可经组态成提供各种不同的存取限制(accessrestrict1ns)(范围从开放存取(openaccess)至完全限制(fullrestrict1ns)),作为安全密钥的所述存取限制杜绝(preclude)读取/写入操作且仅仅容许对此种数据的内部、认证使用。信息区域保持例如芯片识别信息(chipidentificat1ninformat1n)的只读信息。组态内存提供认证集成电路芯片的个人化资源(personalizat1nofresources),包括(举例来说)计数器及密钥使用,且组态内存包括锁住内存以使得组态永久(permanent)的能力。密钥内存区域156为一次性程序化(“0ΤΡ”)区,其储存一或多个非使用者可存取的秘密密钥(例如,原始密钥)。计数器区域158储存不可逆的(nonreversible)单调计数器的数值。本文描述的认证技术仅仅为说明性的,且极多本领域已知的认证技术适于认证集成电路芯片中的实施。[0117]本文所描述的非挥发性内存150的组态仅仅为说明性的。一些认证及加密实施可使用仅仅一个原始密钥以及多个单调计数器,在此情况下,非挥发性内存150可组态成具有仅仅一个密钥内存及多个单调计数器内存。[0118]包含认证集成电路芯片及非挥发性内存集成电路芯片的内存组件可被制造成认证集成电路芯片未被初始化的内定状态(defaultstate)。制造商可初始化认证集成电路芯片,或制造商可寄送于未初使化状态的认证集成电路芯片,使得受领者(通常为原始设备制造商(“OEM”))可初始化认证集成电路芯片。初始化为一次性程序化处理,其中原始密钥KRT被写入密钥内存区域156且单调计数器被初始化。初始化之后,假如原始密钥KRT作为私人密钥,可于用户内存154中产生并储存公用密钥KPUB。至此,内存组件已完成被使用的准备。[0119]图16绘示一种预启动(pre-boot)认证处理1400。假设内存控制器或其他处理机从紧接前一个对话(immediately-pr1rsess1n)得知认证单调计数器值CNT,且得知对应于内存组件的原始密钥KRT的公用密钥KPUB(方块1410)。公用密钥KPUB可从内存组件读取、从认证机构(certificat1nagency)获得、或以任何其他合适的方式取得。接着,举例来说,控制器藉由使用随机数产生器以任何合适的方式产生对话密钥KSES(方块1420);控制器通过公用密钥KPUB产生包括计数器CNT加密及对话密钥KSES加密的认证挑战(authenticat1nchallenge)(方块1430);且控制器寄送认证挑战至内存组件(方块1440)。内存组件中的认证集成电路芯片通过私人密钥KRT解密(decrypt)认证挑战,以恢复(recover)计数器CNT及对话密钥KSES(方块1450)。然后,认证集成电路芯片比较CNT以及计数器156中的对应单调计数器的值(图5)(方块1460)。假如计数器未达匹配,以下情形可能发生:非挥发性内存集成电路芯片的未授权抹除/程序引起单调计数器于授权(authorized)程序之外的增加,且认证失败(方块1490)。假如计数器匹配,可储存对话密钥KSES于挥发性内存59中(图5)(方块1470)供后续对话中使用,且认证通过(方块1480)。[0120]于认证对话期间,藉由授权程序,控制器可增加计数器CNT以持续追踪(track)至内存组件的所有授权的抹除/程序化存取。以此方式,于对话的最后,藉由控制器维持的计数器CNT应当与认证集成电路芯片中的单调计数器匹配,除非一个未授权程序已篡改了(tamperedwith)内存集成电路芯片。藉由以下列方式读取单调计数器,控制器可完成两个计数器的比较。[0121]图17绘示一种使用用于对称加密的对话密钥的单调计数器读取处理1500。控制器发送单调计数器读取指令至内存组件(方块1510)。一旦接收指令(方块1520),认证集成电路芯片产生响应,所述回应包括藉由对话密钥KSES加密的计数器值(方块1530)。内存组件发送回应至控制器(方块1540),其通过对称对话密钥KSES解密回应以恢复单调计数器值(方块1550)。控制器可以任何想要的方式使用单调计数器值(方块1560),例如(举例来说)比较两个计数器以决定内存集成电路芯片是否被篡改。[0122]图18显示一种用于认证B1S码升级的程序1600。从发送器接收B1S升级(方块1610),以及经发送器签名的B1S哈希(hash)(方块1620)。假如未储存于认证集成电路芯片的用户记忆区中,以任何合适的方式取得发送器的公用密钥,例如(举例来说)从认证机构取得,且将公用密钥储存于认证集成电路芯片的用户记忆区中(方块1630)。接着,认证集成电路芯片可解密已签名的哈希(signedhash)(方块1640)、产生B1S升级的哈希(方块1650)、以及比较已解密的哈希与已产生的哈希(方块1660)。假如匹配发生(方块1670,是),可授权B1S升级(方块1680)。假如匹配未发生(方块1670,否),终结B1S升级(方块1690)。[0123]图19显示一种用于内存组件认证的处理1900,其基于内存组件中的系统控制器与认证集成电路芯片之间的安全通信。图19的处理使用密钥哈希讯息认证码(keyedhashmassageauthenticat1ncode,“keyed-HMAC”)。在处理1900中,系统控制器至认证集成电路芯片的一些请求是通过密钥HMAC来产生。密钥HMAC使用基于原始密钥及对话数据的推导密钥(derivedkey),其中对话数据由系统控制器所产生,且原始密钥储存于认证集成电路芯片上。说明性地,对话数据可为对话密钥。密钥HMAC的进一步的描述可在以下找到:国家标准技术研究所(NIST),密钥哈希讯息认证码(HMAC),FIPSPublicat1n198-1,2008年7月,其全部内容于此并入本文参考。如前面提及NIST中的文件所述,基于密码哈希功能的MAC已知为HMACt5MAC为用于认证讯息的来源以及讯息的完整性两者,且HMAC具有两个功能不同的参数:一个讯息输入及一个秘密密钥,其仅仅为讯息创作者(messageoriginator)与预期的接收器(intendedreceiver(s)所知。发送器使用HMAC功能以从秘密密钥产生一数值(MAC)以及产生讯息输入。寄送MAC及讯息至讯息接收器,所述讯息接收器使用如发送器所使用的相同的密钥及HMAC功能来计算所接收的讯息上的MAC,且比较计算结果与所接收的MAC。假如两个数值匹配,证实了讯息的来源以及讯息的完整性。[0124]于处理程序1900中,认证集成电路芯片从系统控制器接收对话数据及HMAC,其产生对话数据以及计算HMAC(方块1910)。因为系统控制器产生用于每一电源周期(powercycle)的独特对话数据,由于对话数据的动态本质(dynamicnature)而提供额外的安全性。认证集成电路芯片计算推导密钥,所述推导密钥是基于储存于认证集成电路芯片的密钥内存中的原始密钥以及对话数据(方块1910)。认证集成电路芯片中所计算的推导密钥与系统控制器中所计算的推导密钥相同。接着,认证集成电路芯片可接收一请求,以提供认证集成电路芯片中所维持的非挥发性单调计数器的值(方块1920),通过使用推导密钥的HMAC从系统控制器发送所述请求。系统控制器从认证集成电路芯片接收计数器值,且比较此计数器值与维持在系统控制器中的计数器值(方块1930)。当没有匹配时,认证失败(方块1970),且于是结束操作(方块1980)。在匹配情况下,认证通过(方块1940)。接着,系统控制器可通过密钥HMAC发送请求至认证集成电路芯片,以增加非挥发性单调计数器至下一个状态/计数,其被认证集成电路芯片正式收到(dulyreceived)、认证且被实行(方块1950)。随后完成流程(方块1960)。[0125]本文所提出的包括其应用及优点的本发明的描述为说明性的,且不意欲限制本发明(申请专利范围中所提出)的范畴。本文所揭露的实施例的变化及修改是可能的,且在学习此发明文件之后,本领域具有通常知识者可理解所述实施例的各种构件的实际替代物及对等物。说明性地,可变化本文给定的特定值,可改变步骤顺序,可重复一些步骤,且可省略一些步骤。在不背离本发明(包括本发明后附的申请专利范围)的范畴及精神的情况下,可对本文所揭露的实施例(包括实施例的各种构件的替代物及对等物)进行这些和其他的变化及修改。【权利要求】1.一种内存组件,包括:封装主体;非挥发性内存集成电路芯片,包含于所述封装主体中且包括第一接口、耦接至所述第一接口的控制逻辑、以及耦接至所述控制逻辑与所述第一接口的非挥发性内存数组;认证集成电路芯片,包含于所述封装主体中且包括第二接口、耦接至所述第二接口的认证引擎、耦接至所述认证引擎的挥发性内存缓存器、以及耦接至所述认证引擎与所述第二接口的非挥发性内存数组;以及接点,从所述封装主体延伸或配置于所述封装主体上,且所述接点电性耦接至所述第一接口以及所述第二接口。2.根据权利要求1所述的内存组件,其中所述第一接口及所述第二接口分享所述接点的共享集;以及所述接点与所述第一接口兼容。3.根据权利要求2所述的内存组件,其中所述共享集为全部所述接点。4.根据权利要求2所述的内存组件,其中所述共享集少于全部所述接点。5.根据权利要求2所述的内存组件,其中所述第一接口为串行外围设备接口。6.根据权利要求2所述的内存组件,其中所述第一接口为串行外围设备或四元外围设备接口。7.根据权利要求2所述的内存组件,其中所述第一接口为并列式闪存接口。8.根据权利要求2所述的内存组件,其中所述第一接口为与非门接口。9.根据权利要求1所述的内存组件,其中标准的所述非挥发性内存集成电路芯片以及所述认证集成电路芯片为堆栈形式。10.根据权利要求1所述的内存组件,其中所述认证集成电路芯片的所述非挥发性内存数组包括一次性可程序化区段。11.根据权利要求1所述的内存组件,其中所述认证集成电路芯片的所述非挥发性内存数组包括密钥内存以及单调计数内存。12.根据权利要求11所述的内存组件,其中所述密钥内存用于储存多数个原始密钥,以及所述单调计数内存用于储存多数个计数值,所述计数值对应所述原始密钥且所述计数值为动态的且单调地变化。13.根据权利要求1所述的内存组件,其中所述认证集成电路芯片小于所述非挥发性内存集成电路芯片且装设于所述非挥发性内存集成电路芯片上。14.根据权利要求1所述的内存组件,其中所述非挥发性内存集成电路芯片小于所述认证集成电路芯片且装设于所述认证集成电路芯片上。15.一种非挥发性内存集成电路芯片的认证方法,所述非挥发性内存集成电路芯片包含于封装主体中且具有从所述封装主体延伸或配置于所述封装主体上的多数个接点,所述非挥发性内存集成电路芯片具有电性耦接到至少一些所述接点的第一接口,所述认证方法包括:在包含于所述封装主体中的认证集成电路芯片的非挥发性内存数组中储存原始密钥,所述认证集成电路芯片更包括第二接口以及耦接至所述第二接口的认证引擎,所述非挥发性内存数组耦接至所述认证引擎以及所述第二接口;在所述认证集成电路芯片的所述非挥发性内存数组内保持单调计数;在所述认证引擎内加密一单调计数器值;以及将已加密的所述计数值经由所述第二界面从所述认证引擎供给所述接点的其中之一者,所述第二接口电性耦接到至少部份的所述接点。16.根据权利要求15所述的非挥发性内存集成电路芯片的认证方法,其中所述认证集成电路芯片包括耦接至所述认证引擎的挥发性内存缓存器,所述认证方法更包括储存对话密钥于所述认证集成电路芯片之所述挥发性内存缓存器中,且其中所述加密步骤包括透过所述对话密钥来加密所述计数值。17.一种非挥发性内存集成电路芯片的认证方法,所述非挥发性内存集成电路芯片包含于封装主体中且具有从所述封装主体延伸或配置于所述封装主体上的多数个接点,所述非挥发性内存集成电路芯片具有电性耦接到至少部份的所述接点的第一接口,所述认证方法包括:在包含于所述封装主体中的认证集成电路芯片的非挥发性内存数组中储存原始密钥,所述认证集成电路芯片更包括第二接口、耦接至所述第二接口的认证引擎、以及耦接至所述认证引擎的挥发性内存缓存器,所述非挥发性内存数组耦接至所述认证引擎以及所述第二接口;在所述认证集成电路芯片的所述非挥发性内存数组内保持单调计数;所述认证集成电路芯片接收与用于提供所述单调计数的密钥哈希讯息认证码相关的请求;将所述单调计数经由所述第二界面从所述认证引擎供给所述接点的一者,所述第二接口电性耦接到至少一些所述接点;所述认证集成电路芯片接收与用于增加所述单调计数的所述密钥哈希讯息认证码相关的请求;以及在所述认证集成电路芯片中增加所述单调计数。18.根据权利要求17所述的非挥发性内存集成电路芯片的认证方法,更包括:基于对话数据以及所述原始密钥计算推导密钥;以及储存所述推导密钥于所述挥发性内存缓存器中;其中所述密钥哈希讯息认证码为基于所述推导密钥的密钥哈希讯息认证码。19.一种内存组件的制造方法,包括:将标准的非挥发性内存集成电路芯片及认证集成电路芯片堆栈在一起,以形成芯片在芯片上堆栈,所述标准的非挥发性内存集成电路芯片包括第一接口、耦接至所述第一接口的控制逻辑、以及耦接至所述控制逻辑与所述第一接口的非挥发性内存数组,且所述认证集成电路芯片包括第二接口、耦接至所述第二接口的认证引擎、耦接至所述认证引擎的挥发性内存缓存器、以及耦接至所述认证引擎与所述第二接口的非挥发性内存数组;将多数个接点电性耦接至所述第一界面与所述第二界面;以及将所述芯片在芯片上堆栈囊封于封装主体中,所述接点从所述封装主体延伸或配置于所述封装主体上。20.根据权利要求19所述的内存组件的制造方法,其中所述电性耦接步骤包括将所述第一接口及所述第二接口互相电性耦接,所述第二接口为所述第一界面的子集,且所述接点兼容于所述第一接口。21.根据权利要求19所述的内存组件的制造方法,其中所述认证集成电路芯片小于所述非挥发性内存集成电路芯片,且所述堆栈步骤包括将所述认证集成电路芯片堆栈于所述非挥发性内存集成电路芯片上。22.根据权利要求19所述的内存组件的制造方法,其中所述非挥发性内存集成电路芯片小于所述认证集成电路芯片,且所述堆栈步骤包括将所述非挥发性内存集成电路芯片堆栈于所述认证集成电路芯片上。【文档编号】G06F21/78GK104346587SQ201310343744【公开日】2015年2月11日申请日期:2013年8月8日优先权日:2013年8月8日【发明者】谢明辉,克里希纳·千卓·谢加,陈晖申请人:华邦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1