远程存储器诊断的制作方法

文档序号:30435197发布日期:2022-06-15 23:18阅读:144来源:国知局
远程存储器诊断的制作方法
远程存储器诊断
1.相关申请的交叉引用
2.本技术是于2020年3月25日提交的美国非临时申请第16/829,219号的国际申请,该美国非临时申请要求享有于2019年10月24日提交的在先申请美国临时申请第62/925,645号的权益,所有这些申请出于所有目的,通过引用以其整体并入本文。
技术领域
3.本发明总体上涉及诊断存储器阵列设备的领域。更具体地,本公开涉及在这些设备发生故障之前安全地且远程地检测存储器设备的单元中的问题。


背景技术:

4.通常,非易失性存储器设备(例如,nor闪存设备)或其他存储器设备类型可以集成到各种最终使用系统(例如,汽车系统)中。图1是汽车系统100的示意表示,其中可以实现存储器设备集成电路。例如,轿车可以包括引擎控制系统102a和制动致动器系统102b,它们可由形成集成电路(ic)的一部分的车载存储器设备系统控制。
5.在该汽车系统应用和其他应用中,汽车驾驶的功能安全要求提高这种存储组件的存储器阵列的可靠性。然而,当前只有在系统故障后才检测错误。具体地,将包括故障存储器设备的存储器单元(例如,客户纠正措施请求(ccar)单元)从其汽车系统中移除,并在自动测试设备(ate)中执行内部测试程序以调试存储器设备的故障。ate调试典型地由存储器设备制造商或受信任的第3方控制,以维护存储器设备的代码的安全性,例如,防止这种代码被黑客入侵。由于存储器的数据只能在安全环境中访问以实现诊断,因此从oem(原始设备制造商)的最终产品系统(例如,汽车)收集故障存储器单元;接收到ate中,然后ate将该单元置于测试模式。然后在存储器设备上运行测试程序以收集数据,然后对其进行分析以诊断故障。
6.不幸的是,这种技术和设置增加了故障分析,并且花费大量时间来物理移除和运送存储器单元。另外地,在故障之前无法主动执行纠正措施以避免这种故障。如果发生灾难性故障(例如,损坏的代码),制造商还可能发出对已经集成到最终产品系统中的每个存储器设备的召回。该召回可能与显著的成本相关联。
7.鉴于前述,目前需要改进的系统和技术,用于在故障事件之前诊断存储器阵列设备中的问题,使得可以在故障之前执行纠正措施。


技术实现要素:

8.以下呈现本公开的简化发明内容,以便提供对本公开的某些实施例的基本理解。该发明内容不是对本公开的广泛概述,并且该发明内容没有标识本公开的关键/重要元素或描绘本公开的范围。其唯一目的是以简化形式呈现本文公开的一些概念,作为稍后呈现的更详细描述的序言。
9.公开了一种用于诊断存储器设备的健康状况的方法和系统。在一个实施例中,诊
断是从远程服务器经由被嵌入在最终使用系统中的存储器设备上的经加密的通道发起的。存储器设备包括存储器阵列中的多个存储器单元。在远程服务器处,响应于由存储器设备在多个存储器单元上执行诊断程序来接收经加密的诊断数据。诊断数据与存储器单元的健康状况相关。
10.在一方面,经加密的诊断数据被解密为经解密的诊断数据,并且经解密的诊断数据被分析以确定存储器单元的健康状况。在另一方面,如果分析指示不健康的存储器单元,则针对存储器设备执行故障缓解。在另一方面,在执行之前由存储器设备对经解密或经加密的诊断程序执行认证功能,并且认证功能是散列消息认证码(hashed message authentication code,hmac)。
11.在特定实现方式中,发起诊断包括从远程服务器向存储器设备发送经加密的诊断程序,该存储器设备被配置为在执行诊断程序之前解密这种经加密的诊断程序。在一方面,在发送到存储器设备之前由远程服务器执行对经加密的诊断程序的加密。在另一方面,对经加密的诊断程序的加密基于公共加密密钥,该公共加密密钥与存储器设备处供应的私有加密密钥配对,该私有加密密钥用于解密由存储器设备接收到的经加密的诊断程序。
12.在另一实施例中,发起诊断还包括由远程服务器发送测试模式命令,以在将经加密的诊断程序发送到存储器设备之前指示存储器设备切换到测试模式。在这个方面,在发送到存储器设备之前,tcp/ip报头被附加到经加密的诊断程序,并且在由存储器设备接收之前,tcp/ip报头由桥驱动器设备替换为总线协议报头。在另一实施例中,测试模式命令是由存储器设备实现的安全协议的形式的。在一个示例中,安全协议是传输层安全(tls)协议。
13.在另一实施例中,本发明涉及至少一种非暂时性计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被布置为执行上面描述的方法的任何组合。
14.在替代实施例中,本发明涉及一种集成电路(ic)系统,包括:具有多个存储器单元的存储器阵列;用于执行加密和解密的密码子系统;以及处理器,其与存储器阵列和密码子系统耦合。处理器被配置为从密码子系统接收经加密的诊断数据,并且将这种经加密的诊断数据传送到远程服务器,同时ic被嵌入在最终用户系统中。经加密的诊断数据与存储器阵列的存储器单元的健康状况相关。在一个实施例中,存储器阵列包括非易失性存储器。
15.在特定实施例中,处理器还被配置为:从远程服务器接收经加密的诊断程序;将经加密的诊断程序传送到密码子系统以解密为经解密的诊断程序,以及在存储器阵列上执行经解密的诊断程序以获得诊断数据,该诊断数据被传送到密码子系统以加密为经加密的诊断数据。
16.在又一个实施例中,ic包括用于存储用于经加密或经解密的诊断程序的认证码的附加存储器,并且处理器还被配置为使用认证码对经加密或经解密的诊断程序执行认证操作,并且仅当认证通过时执行经解密的诊断程序。在另一方面,附加存储器还被配置为存储认证密钥,并且认证操作包括散列消息认证码(hmac),该散列消息认证码(hmac)是对经加密或经解密的诊断程序执行的并且还基于认证密钥。
17.在具体实现方式中,ic还包括一次性可编程存储系统,其用于存储私有加密密钥,并且对经加密的诊断程序的解密是基于私有加密密钥的。在该方面,由远程服务器使用与这种私有加密密钥配对的公共加密密钥将经解密的诊断程序加密为经加密的诊断程序。
18.下面参考附图进一步描述本发明的这些方面和其他方面。
附图说明
19.图1是汽车系统的示意表示,其中可以实现存储器设备集成电路。
20.图2是示出根据本公开的一个实施例的用于关于存储器设备设置用于远程实现的诊断程序的过程的流程图。
21.图3是示出根据本公开的特定实施例的用于由远程服务器进行安全诊断程序部署的过程的流程图。
22.图4是根据本公开的一个示例的诊断代码部署的示意表示。
23.图5是示出根据本公开的一个实施例的用于安全地执行从远程服务器接收到的诊断程序的过程的流程图。
24.图6是根据本公开的一个示例的安全诊断结果部署的示意表示。
25.图7示出了来自在存储器设备上执行诊断程序的示例诊断结果。
26.图8示出了根据一些实施例实现的包括存储器设备的处理系统的框图。
27.图9是根据本公开的一个实施例的密码系统的示意表示。
28.图10是根据本公开的一个实施例的服务器系统的示意表示。
具体实施方式
29.在以下描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有这些具体细节中的一些的情况下实践本公开。在其他实例中,尚未详细描述公知的过程操作以免不必要地模糊本发明。尽管将结合具体实施例来描述本发明,但应当理解,这并不旨在将本发明限制于这些实施例。
30.通常,本公开的实施例涉及任何类型的存储器阵列设备,将安全地执行针对其的诊断,以诊断和防止这种存储器阵列中的问题。非易失性存储器(nvm)设备通常涵盖集成电路设备,其包括至少一个非易失性存储器模块,例如,可编程存储器阵列。nvm设备可以包括以下设备类型:prom(可编程只读存储器)、eprom(可擦除prom)、eeprom(电可擦除prom)、闪速存储器(例如,加州圣何塞市的赛普拉斯半导体公司的semper secure nor flash设备)、emmc(嵌入式多媒体卡)、mram(磁阻式随机存取存储器)、feram(铁电ram)、nvram(非易失性ram)和mcu(微控制器单元)。nvm设备典型地在与其他集成电路设备排列、布线和封装在一起之前或之后被编程和供应以形成系统或产品。例如,一个或多个nvm设备和其他设备类型可以排列、键合、布线和封装在封装系统设备中的印刷电路板上。注意,术语非易失性可编程设备和非易失性存储器设备在本文中可互换使用。
31.本文描述的某些实施例提供了用于在设备故障之前安全地检测存储器设备中的产品质量退化的技术和系统。在一个实施例中,集成电路(ic)包括存储器设备,该存储器设备具有存储器阵列和用于实现加密和解密的密码子系统。ic还可以包括主控制器单元(mcu)或处理器,其可以用作用于在远程服务器与存储器设备之间接合的桥驱动器系统的一部分。可替代地,通过示例的方式,mcu和存储器设备可以是单独封装的ic设备,在印刷电路板上安装且通信地耦合在一起。
32.mcu和其他桥驱动器组件通常可以被配置为通过在远程安全服务器与存储器设备
之间传输经加密的测试命令、测试代码数据和测试结果数据,来与存储器设备的密码子系统协作促进与远程服务器的安全连接。经加密的测试代码数据可以从远程服务器接收并由存储器设备的密码子系统解密。关于存储器阵列的存储器单元的健康状况的测试结果也可以由密码子系统加密,然后例如经由mcu发送回远程服务器。测试代码、测试程序、诊断和诊断程序在本文中可互换使用。此外,测试结果、测试结果数据、诊断数据、诊断结果和诊断结果数据可互换使用。
33.这种设计允许评估和诊断存储器设备的存储器阵列,而无需从最终产品系统等中移除。即,可以通过远程地连接来在存储器设备保留在最终产品系统中的同时访问来自存储器阵列的测试结果数据,来对存储器设备执行诊断。可以在存储器设备发生故障之前及早检测并缓解存储器退化。因此,通过在故障前采取纠正措施,可以提高存储组件的最终用户可靠性。
34.图2是示出根据本公开的一个实施例的用于关于存储器设备设置用于安全和远程实现的测试程序的过程200的流程图。以下设置过程可以利用任何合适类型和数量的测试程序来实现,以对存储器阵列执行诊断或以其他方式评估这种阵列的功能和健康状况。此外,这个过程可以关于多个存储器设备实现。
35.最初,在操作202中,可以使用私有认证密钥在每个测试程序上运行认证散列函数以获得认证码。可以以任何合适的方式获得任何合适的消息认证码。例如,可以在每个测试程序上实现散列消息认证码(hmac)。通过示例的方式,任何密码散列函数(例如,sha-256或sha-3)可以用于hmac的计算。hmac使用两通散列计算。认证密钥首先用于导出两个密钥——内部密钥和外部密钥。算法的第一通产生从测试程序和内部密钥导出的内部散列。第二通产生从内部散列结果和外部密钥导出的最终hmac代码。
36.在供应期间,在操作204中,可以提供针对每个测试程序计算出的认证码以及私有认证密钥并将其存储在存储器设备中。例如,存储器设备ic的主mcu可以被编程为在启动时供应存储器设备。在另一示例中,存储器设备由存储器供应商编程。认证密钥稍后可以由存储器设备使用以再次对测试程序进行散列计算,并且如果它是认证的,则存储的散列(例如,来自操作204)和计算出的散列(例如,来自操作504)将匹配。可以对经加密或经解密的测试程序执行认证。
37.在供应期间,在操作206中,用于解密/加密的私钥/公钥对也可以存储在存储器设备中。私钥可以用于稍后解密在存储器设备中接收和认证的每个测试程序,而在发送回远程服务器之前,存储器设备使用公钥来加密测试结果。在该供应期间,存储器设备供应商可以通过将用于期望的测试代码的选定验证码供应到存储器设备中来可选地决定哪些测试代码可以与存储器设备一起使用。
38.在供应完成之后,然后可以在操作210中将存储器设备部署到最终产品系统中。例如,存储器设备ic可以集成到子系统中,例如,用于特定控制模块和/或最终系统(例如,汽车系统)的印刷电路板。存储器设备可以形成ic系统的一部分,通过示例的方式,该ic系统还包括处理器(例如,cpu或mcu),以经由控制总线访问来自存储器设备的存储器阵列的数据。
39.在操作212中,用于解密/加密的一个或多个测试程序和私钥/公钥对也可以存储(或稍后下载)到安全服务器上。安全服务器还可以被配置为实现用于与存储器设备安全地
通信的各种功能,如本文进一步描述的。通常,安全服务器可以驻留在系统站点(例如,汽车工厂)或受信任的第3方站点。过程200然后可以结束(或对于其他存储器设备重复)。
40.图3是示出根据本公开的特定实施例的用于由远程服务器进行安全测试程序部署的过程300的流程图。图4是根据本公开的一个示例的这种部署的示意表示。将一起描述图3和图4。尽管该示出的示例说明了由远程服务器将经加密的测试程序部署到存储器设备,但是测试代码可以可替代地在存储器设备中供应。在该替代示例中,远程服务器可以稍后发起对存储器设备先前部署的测试代码的执行,然后等待从存储器设备接收经加密的测试结果。
41.在图3和图4的所示部署示例中,在操作302中,安全服务器(例如,402)可以最初指示存储器设备切换到测试模式(从用户模式)。该指令可以经由远程连接通过如图4中示出的桥驱动器组件的云网络404,在安全服务器402与存储器设备ic 410之间传送。在该过程300(以及本文描述的其他过程)中,在远程服务器与存储器设备之间的每个所示的通信操作可以包括它们之间的任何数量的交互。即,远程服务器可以发出用于将存储器设备置于测试模式的命令,而存储器设备在测试模式已经开始时发送回复。
42.在操作304中,在任何合适的时间,安全服务器可以使用其公共加密密钥(存储器设备具有与其对应的私有加密密钥)来获得和加密测试代码。未经加密的测试代码可以由存储器设备(例如,410)制造商的网站或存储器设备(例如,410)制造商批准的第3方网站安全地提供到由批准的oem系统实体(例如,汽车公司或受信任的第3方设施)控制的服务器(例如,402)。可替代地,可以将经加密的测试代码提供给服务器,该服务器不再对测试代码执行加密。可以如所示的在该过程300期间或在该过程300之前根据需要获得测试代码。
43.在所示示例中,实现了对称加密,然而在本公开的不同范围内设想了其他加密方法。如图4中示出的,利用tls(传输层安全)协议(例如,416)对测试代码414进行加密,以产生经加密的测试代码或“密文”418和附加的tls报头420。然后,在操作306中,安全服务器402(或另一桥组件)可以根据经加密的测试代码创建分组。例如,用于与存储器设备410通信的安全存储器接口报头和tcp/ip报头被添加到测试代码分组。如所示的,经加密的测试代码418包括tls报头420和tcp/ip报头422以形成经加密的测试代码分组421。
44.tls存储器报头通常可以包括任何合适数量和类型的tls存储器命令和参数。存储器设备被配置为基于存储器报头(例如,tls报头)执行各种任务。例如,存储器报头可以指示存储器设备进入测试模式并等待接收测试代码或指示分组的有效载荷包含经加密的测试代码。下面的表1通过示例的方式提供了用于各种诊断测试的各种tls存储器命令。
45.表1:诊断测试示例
[0046][0047]
上面使用了以下首字母缩略词:gcn/lcn(全局循环计数器/局部循环计数器)、pgm(程序)、vt10max(“10”级的最大阈值电压)、vt01min(“01”级的最小阈值电压))、ckbd(棋盘格)、vg(栅极电压)、prepgm(预编程)、vt00min(“00”级的最小阈值电压)、vt00max(“00”级的最大阈值电压)、vt11max(“11”级的最大阈值电压)、vt11min(“11”级的最小阈值电压)、spgm(软编程)、dref/dcol(动态参考/虚拟列)、ecc(纠错码)、iref(电流参考)。
[0048]
返回参考图3,在操作308中,安全服务器402然后可以将经加密的测试代码分组421发送到存储器设备。一旦测试代码被解密并且驻留在存储器设备中,服务器也可以调用对这种测试代码的执行。例如,存储器设备410可以在先前接收到的回复分组中向服务器指示该驻留状态。如通过图4中的示例所示,经加密的测试代码分组421由桥驱动器424接收并发送到存储器设备ic 410。桥驱动器424可以包括任何数量和类型的交换机、路由器、云网络设备和控制器设备(例如,mcu/cpu、总线控制器、存储器控制器等)。桥驱动器组件可以形成云网络404和/或存储器设备ic 410的一部分。桥驱动器424的任何合适的组件(例如,mcu)也可以被配置为移除tcp/ip报头422并添加总线协议报头(例如,spi事务报头426),以
形成经加密的测试代码分组427。如下文进一步描述的,经加密的测试代码分组427然后通常由存储器设备410接收并解密(例如,经由利用tls 428的解密)以获得底层经解密的有效载荷414。然后,在远程服务器402等待测试结果的同时结束测试代码到存储器设备410的部署。
[0049]
桥驱动器424(和服务器)可以利用任何合适的通信协议来促进在存储器设备与服务器之间的命令,从而为存储器设备提供测试程序/代码。对于闪存/eeprom/mcu存储器,串行外围接口(spi)协议可以用于通过与存储器设备410耦合的spi总线推送(或接收)数据。在更具体的示例中,存储器设备的spi总线可以使用四路io配置,其包括每个存储器设备的以下信号/引脚:1个芯片选择引脚(cs),其用于启用每个设备;4个半双工串行输入/输出引脚(io0、io1、io2、io3),其用于串行数据/地址/命令输入和输出;以及1个时钟引脚(ck)。基于极性和相位值的四种不同组合,ck信号可以用于指定关于io信号的四种不同模式(命令、编程、读取等)。也可以在io信号的特定周期中指定不同的模式,例如,测试模式。当然,存储器设备(和服务器)可以利用其他引脚配置(例如,3线或4线配置)进行通信,尽管这不如四路io配置高效。
[0050]
图5是示出根据本公开的一个实施例的用于安全地执行从远程服务器接收到的测试程序的过程500的流程图。最初,在操作502中,存储器设备可以接收具有经加密的测试代码的安全分组。在移除报头之后,在认证和将测试代码下载到存储器设备的存储器阵列之前,经加密的测试代码可以暂时存储在ram中。
[0051]
在操作504中,存储器设备可以以任何合适的方式认证测试代码。例如,存储器设备对接收到的测试代码使用先前供应的私有认证密钥和hmac函数来获得计算出的认证码,然后将该计算出的认证码与先前供应的认证码进行比较。认证过程优选地在解密之前对经加密的测试代码执行,但也可以在测试代码被解密之后执行。在后面的示例中,认证码是基于未经加密的测试码先前获得并供应给存储器设备的。
[0052]
然后,在操作506中,可以确定测试代码是否已经通过认证。例如,确定计算出的认证码和供应的认证码是否匹配。如果接收到的测试码中有一个或多个位为关闭,则认证码将不匹配,并且针对接收到的“测试代码”的认证将失败。如果测试代码未通过认证,则部署过程500可以结束。
[0053]
如果在操作506中认证通过,则在操作508中,存储器设备可以使用先前供应并存储在其存储器设备中的私有加密密钥,以解密接收到的测试代码。然后在操作510中,可以下载经解密的测试代码并且在存储器设备的阵列单元上执行以获得测试结果。接收到的经加密的测试代码可以存储在存储器设备的内部sram中。经解密的测试代码也可以存储在存储器设备的内部sram中并从其执行。在执行之后,测试代码然后可以从存储器设备中删除。服务器可以在接收到测试结果后指示存储器设备移除测试代码。
[0054]
注意,可以在开始任何进一步的通信(例如,建立测试代码传输)之前在服务器与存储器设备之间执行认证。例如,可以确定通信是否已经使用“https”安全连接发起。
[0055]
在一些实施例中,远程服务器402还可以发送单独的经加密的测试代码部分,每个经加密的测试代码部分被调整大小以由存储器设备的输入引脚以块(chunk)的形式接收。存储器设备可以等待收集足够的经加密的测试部分以填充其存储目标的对应的目标页。例如,测试代码部分可以一次以16个字节(经由4个io引脚)传送。存储器设备可以被配置为等
待直到16字节的测试代码部分的16个块被接收和收集,然后才在目标地址处开始认证和存储测试代码的所有256个字节。存储器的一部分(或其他板载ram存储器)可以用于暂时存储接收到的测试代码的多个块,直到接收到的测试代码块的大小对应于目标地址或页大小为止。可替代地,可以对每个经加密的测试代码块进行解密并暂时存储,直到收集到足够的经解密的块为止,然后将其写入目标地址。如果有足够的存储器,则可以在分别解密或存储整个经解密或经加密的测试代码之前分别收集整个经解密或经加密的测试代码。例如,接收到的经加密的测试代码块可以存储在存储器设备的内部sram中。经解密的测试代码也可以存储在存储器设备的同一内部sram中并在其中执行。
[0056]
图6是根据本公开的一个示例的安全测试结果部署的示意表示。在测试代码被执行之后,测试结果614然后可以使用先前在存储器设备中供应的公共加密密钥进行加密,并且在操作514中根据经加密的测试结果创建分组。例如,在测试结果614上实现利用tls(传输层安全)协议616的加密以产生经加密的测试结果分组627,该经加密的测试结果分组627具有经加密的有效载荷618、tls报头620和总线协议报头626(例如,spi)。关于存储器设备的测试结果部署结束。测试结果也可以从存储器设备中删除。
[0057]
经加密的测试结果分组627由桥驱动器424接收,该桥驱动器424用tcp/ip报头622替换总线协议报头626,并将得到的分组623转发到安全服务器402,该安全服务器402执行解密628(例如,利用tls)以获得经解密的测试结果614。注意,经加密的分组通过桥驱动器组件,而不由任何桥组件对分组的有效载荷进行解密。在一个示例中,测试结果可能源自“读出gcn/lcn”诊断测试(在上面的表1中列出),其包括从选定扇区读取gcn/lcn并检查以确保存储器单元是否在规范内老化。
[0058]
安全服务器402可以以任何合适的方式分析测试结果以评估存储器设备的健康状况。测试结果分析可以在安全的环境中发生,并且通常提供对存储器阵列的健康状况的指示。图7示出了来自在存储器设备上执行测试程序的示例测试结果数据。如所示的,测试结果数据绘制在v
t
分布图中,x轴表示阈值电压,y轴表示循环次数。该数据包括两组图:指示健康存储器的数据702a和702b,以及与之相比的指示不健康存储器的数据704a和704b。
[0059]
返回参考图5,如果需要并且可行,则在操作516中,可以基于对测试结果的分析来执行潜在存储器设备故障的缓解,并且过程500结束。例如,存储器阵列可以由服务器或供应商重新校准以具有较低的位故障率。可以通过相同的测试代码执行重新校准。例如,上面表1中列出的“编程ckbd模式”诊断测试可以用于测试针对选定页a的页pgm脉冲计数。如果结果显示pgm脉冲计数异常,则可以在选定页b上执行该相同的诊断测试以校准页a。执行适当的缓解步骤之后,最终产品系统可以利用相同的重新校准的存储器设备继续运行。在其他示例中,可以在发生故障之前替换整个pcb(或存储器设备ic)。
[0060]
图8示出了根据一些实施例实现的包括存储器设备802的处理系统800的框图。处理系统800通常包括经由地址总线806、数据总线808和控制总线810以常规方式耦合到处理器804的非易失性存储器设备802。本领域技术人员将认识到,图8的处理系统800为了说明本公开的目的已经被简化并且不旨在是完整的描述。
[0061]
在各种实施例中,处理系统800可以包括处理器804,其可以是一种通用或专用处理设备。例如,在一个实施例中,处理器可以是可编程系统或控制器中的处理器,该可编程系统或控制器进一步包括存储器设备,例如,可从加州圣何塞市的赛普拉斯半导体公司商
业获得的可编程片上系统或psoc
tm
控制器。
[0062]
存储器设备802可以包括存储器阵列852。因此,存储器阵列852可以被组织为非易失性存储器单元的行和列(在该图中未示出)。在实施例中,非易失性存储器单元可以包括但不限于闪速存储器单元、f-ram、m-ram、r-ram、eeprom、sonos单元。存储器阵列852经由多条选择线和读取线816(对于存储器阵列的每一行有至少一条选择线和一条读取线)耦合到行解码器860。存储器阵列852还经由多条位线820耦合到列多路复用器854。应当认识到,公共源极线可以作为线820或线816的一部分来实现。存储器阵列852可以耦合到多个读出放大器858以从中读取多位字。
[0063]
存储器设备802还可以包括附加存储装置853,例如,用于存储和执行固件的rom 862、用于存储和执行固件、存储经解密的测试代码、存储和执行经解密的测试代码的sram 860,等等。附加存储装置还可以包括一次性可编程(otp)存储器系统864,其用于存储认证码、认证密钥、公共和私有加密密钥等。在一个示例中,otp存储器系统864可以包括专门的电路,其被布置为只允许对对应的存储器进行一次编程,然后禁止编程。附加存储装置还可以包括用于存储认证码、认证密钥和私钥等的非易失性存储器。在供应之后,非易失性存储器然后可以被设置为用作otp存储器864。
[0064]
存储器设备802可以进一步包括命令和控制电路824以控制行解码器860、列多路复用器854和读出放大器858,并且从读出放大器858接收读取数据,以及生成存储器阵列852操作所需的电压,其可以被路由到行解码器860和列多路复用器854。
[0065]
在各种实施例中,控制电路824可以包括一个或多个处理器(例如,mcu 866)和专用存储器,其可以被配置为实现先前描述的技术中的一些,以及在rom 862和sram 860中的固件的执行,以及在sram 860中的测试代码的执行。以这种方式,系统800可以利用专用处理单元,例如,控制电路824,其可以被配置为结合在附加存储装置853中执行代码来实现先前描述的过程。此外,在一些实施例中,控制电路824可以在专用集成电路(asic)中实现,或者可以在现场可编程门阵列的可重编程逻辑中实现。
[0066]
命令和控制电路824还可以包括密码子系统826,其用于基于如上面所描述的所提供的私钥来对接收到的经加密的分组执行解密。另外地,密码子系统826被配置为基于如上面所描述的所提供的公钥来对测试结果进行加密。因此,密码子系统826可以包括控制逻辑,例如,控制逻辑830。
[0067]
在特定实施例中,命令和控制电路824可以进一步被配置为控制行解码器860通过向第一行中的第一选择线施加电压来选择存储器阵列852的第一行用于编程操作,并且通过将另一电压施加到第二行中的第二选择线来取消选择存储器阵列的第二行。命令和控制电路824可以进一步被配置为控制列多路复用器854,以通过将电压施加到第一列中的第一位线来选择第一行中的存储器单元以进行编程,并且通过将另一个电压施加到第二列中的第二位线来禁止第一行中的未选择的存储器单元编程。行解码器860或列多路复用器854可以进一步被配置为将电压施加到一条或多条公共源极线,这些公共源极线可以耦合到被包括在存储器阵列852中的存储器单元。
[0068]
在各种实施例中,通信接口811可以被配置为向其他系统组件发送和接收数据,或者可以被配置为通过网络发送和接收分组或数据分组。例如,通信接口811可以经由总线或通信网络通信地耦合到用户接口设备。通信接口811可以被配置为从可以被包括在数据处
理系统或计算机系统804中的用户接口设备接收数据。在各种实施例中,这样的数据可以包括识别磨损均衡参数的输入。在各种实施例中,通信接口811可以是支持以太网接口、帧中继接口、电缆接口和dsl接口的设备。此外,可以提供各种超高速接口,例如,快速以太网接口、千兆以太网接口、hssi接口、pos接口、fddi接口等。通常,这些接口可以包括适合与适当介质通信的端口。在某些情况下,这些接口还可能包括独立的处理器,并且在某些实例中,这些接口还包括易失性存储器,例如,某种类型的ram。
[0069]
密码子系统826可以以硬件和/或软件的任何适当组合来实现。图9是根据本公开的一个实施例的密码系统902的示意表示。如所示的,加密电路可以包括高级加密标准(aes)块906,其用于基于私有加密密钥908来对在4条地址线904上串行接收的测试代码部分执行一个或多个解密算法。在该示例中,实现流式密码以使延迟最小化,但是可以使用其他类型。测试代码数据可以以16字节块在选定的地址线904上输入。当然,存储器设备802的任何合适的输入引脚都可以用于输入要被解密的测试代码数据。在此示例中,密钥的长度为128位,但也可以使用其他长度。在该实现方式中,块在16字节边界上传送。例如,编程1个字节的数据可能要求16个字节的存储,而不允许增量编程或覆盖。
[0070]
经加密的数据可以经由数据输出线910以16字节块相应地输出到例如非易失性存储器(nvm)阵列。加密电路902还可以包括多位xor门916a和916b,当要以未加密方式传送数据时,aes块906可以用0来驱动该多位xor门916a和916b。
[0071]
图10是服务器系统1002的示意表示。如所示的,服务器系统可以包括处理器1004、存储系统1006和接口1008。处理器1002和包括机器可读存储介质的存储器1004可以被配置为协作实现如上文进一步描述的服务器方法或操作中的任一个。各种特殊配置的设备也可以用于代替处理器1002或作为处理器1002的补充。接口1008典型地被配置为通过网络发送和接收分组。服务器1002的组件还可以经由总线(例如,pci总线或其他互连结构)相互通信并与外部设备通信
[0072]
支持的接口的特定示例包括以太网接口、帧中继接口、电缆接口、dsl接口、令牌环接口等。此外,可以提供各种超高速接口,例如,快速以太网接口、千兆以太网接口、atm接口、hssi接口、pos接口、fddi接口等。通常,这些接口可以包括适合与适当介质通信的端口。在某些情况下,这些接口还可能包括独立的处理器,并且在某些实例中,这些接口还包括易失性ram。尽管描述了特定的服务器,但应该认识到各种替代配置是可能的。
[0073]
因为可以采用这样的信息和程序指令来实现本文描述的系统/方法,所以本公开涉及机器可读存储介质,其包括用于执行本文描述的各种操作的程序指令、状态信息等。机器可读存储介质的示例包括但不限于诸如硬盘、软盘和磁带之类的磁性介质;诸如cd-rom光盘之类的光学介质;诸如软盘之类的磁光介质;以及专门配置用于存储和执行程序指令的硬件设备,例如,rom和ram。程序指令的示例包括机器代码(例如,由编译器生成)和包含可以由计算机使用解释器执行的更高级别代码的文件两者。
[0074]
尽管为了清楚理解的目的已经对前述公开进行了稍微详细的描述,但是显而易见的是可以在所附权利要求书的范围内实践某些改变和修改。应该注意,存在实现本发明的过程、系统和装置的许多替代方式。因此,本实施例应被认为是说明性的而不是限制性的,并且本发明不限于本文给出的细节。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1