CN104572015A - 与fpga结合的flash芯片及指令处理方法 - Google Patents
与fpga结合的flash芯片及指令处理方法 Download PDFInfo
- Publication number
- CN104572015A CN104572015A CN201310495546.4A CN201310495546A CN104572015A CN 104572015 A CN104572015 A CN 104572015A CN 201310495546 A CN201310495546 A CN 201310495546A CN 104572015 A CN104572015 A CN 104572015A
- Authority
- CN
- China
- Prior art keywords
- flash
- rpmc
- fpga
- chip
- external command
- 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.)
- Granted
Links
Landscapes
- Logic Circuits (AREA)
- Microcomputers (AREA)
Abstract
本发明提供了一种与FPGA结合的FLASH芯片,所述FPGA与Flash-1之间通过互连的内部IO引脚对进行内部相互通信;所述FPGA与Flash-2中相同的IO引脚相连,并且连接到所述芯片的同一外部共享引脚上;外部指令通过所述芯片的外部共享引脚传输到Flash-2与FPGA中,Flash-2与FPGA分别判断是否执行所述外部指令;若所述外部指令为所述Flash-2无法识别的RPMC验证指令,则FPGA依据配置信息与RPMC的值生成第一RPMC验证值,并判断是否与RPMC验证指令中的第二RPMC验证值一致;若不一致,则所述芯片为非法芯片。本发明用以解决设计复杂度高,设计周期长,设计成本高,通用性弱,工作效率低等问题。
Description
技术领域
本发明涉及芯片技术领域,特别是涉及一种与FPGA结合的FLASH芯片及指令处理方法。
背景技术
RPMC(Replay Protection Monotonic Counter,应答保护单调计数器)是Intel主推的基本输入输出系统(Basic Input-Output System,BIOS)芯片的一个新功能。它包含一个大容量的Flash芯片和RPMC电路。其中,Flash芯片的容量为8M、16M、32M、64M、128M、256M或者更高,用来存储CPU BIOS的代码和数据;RPMC电路保证读写数据的机密性和完整性。RPMC电路与其集成的FLASH一起构成了个人计算机(PersonalComputer,PC)系统中BIOS的硬件平台。
在设计具有RPMC功能的FLASH芯片时,设计者通常会把大容量Flash和RPMC集成在一个芯片上,即RPMC电路和Flash一起设计。
但是,这种设计方法存在以下缺点:由于需要将FLASH和RPMC集成在一个芯片上,因此单片芯片的面积大、封装成本高,导致设计成本较高;并且RPMC电路和FLASH一起设计,导致芯片设计复杂度高、设计周期长;芯片在一个时刻只能做一种操作;另外,芯片的重复利用性差,功能升级困难,并且该芯片的Flash的容量不可扩展。
因此,本领域技术人员迫切需要解决的问题之一在于,提出一种与FPGA结合的FLASH芯片及指令处理方法,用以解决设计复杂度高,设计周期长,设计成本高,通用性弱,工作效率低等问题。
发明内容
本发明所要解决的技术问题是提供一种与FPGA结合的FLASH芯片及指令处理方法,用以解决设计复杂度高,设计周期长,设计成本高,通用性弱,工作效率低等问题。
为了解决上述问题,本发明公开了一种与FPGA结合的FLASH芯片,包括:
现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中存储有所述RPMC的值,其中,
所述Flash-1和所述FPGA各自包括内部IO引脚,所述Flash-1的内部IO引脚与所述FPGA的内部IO引脚互连,所述FPGA与所述Flash-1之间通过互连的内部IO引脚对进行内部相互通信;
所述FPGA与所述Flash-2中相同的IO引脚相连,并且连接到所述芯片的同一外部共享引脚上;
外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中;外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中,所述Flash-2与所述FPGA分别判断是否执行所述外部指令;
其中,所述外部指令包括RPMC验证指令;若所述外部指令为所述Flash-2无法识别的RPMC验证指令,则所述FPGA依据配置信息与所述RPMC的值生成第一RPMC验证值,并判断是否与所述RPMC验证指令中的第二RPMC验证值一致;若不一致,则所述芯片为非法芯片。
优选地,当通过外部共享引脚接收到外部指令时,所述FPGA通过与所述Flash-1之间互连的内部IO引脚通知将所述RPMC的值加1。
优选地,所述外部指令包括RPMC更新指令;
当通过外部共享引脚接收到外部指令为所述Flash-2无法识别的RPMC更新指令,则所述FPGA通过与所述Flash-1之间互连的内部IO引脚通知依据RPMC更新指令对所述RPMC的值进行更新。
优选地,所述Flash-1及所述Flash-2为NOR型非易失性存储器NOR-Flash、NAND型非易失性存储器NAND-Flash,或者,电可擦只读存储器EEPROM。
优选地,所述FPGA中还存储有纠错码ECC,和/或,坏块管理BBM。
本发明实施例还公开了一种与FPGA结合的FLASH芯片外部指令处理的方法,所述芯片包括现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中存储有所述RPMC的值,所述的方法包括:
接收外部指令;
若所述外部指令为RPMC验证指令,则获取所述配置信息及RPMC的值;
依据所述配置信息与RPMC的值生成第一RPMC验证值;
判断所述第一RPMC验证值与所述RPMC验证指令中的第二RPMC验证值是否一致;若不一致,则判定所述芯片为非法芯片。
优选地,所述的方法还包括:
当接收到所述外部指令时,所述RPMC的值加1。
优选地,所述的方法还包括:
若所述外部指令为RPMC更新指令,则依据所述RPMC更新指令对所述RPMC的值进行更新并存储。
优选地,所述的方法还包括:
在预置的时间段接收到所述RPMC更新指令。
优选地,所述的方法还包括:
当接收到多个外部指令时,分别判断是否执行所述多个外部指令。
与现有技术相比,本发明包括以下优点:
1、本发明实施例所提出的与FPGA结合的FLASH芯片可以包括现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;Flash-1和FPGA各自包括内部IO引脚,所述Flash-1的内部IO引脚与所述FPGA的内部IO引脚互连,所述FPGA与所述Flash-1之间通过互连的内部IO引脚对进行内部相互通信;所述FPGA与Flash-2中相同的IO引脚相连,并且连接到所述芯片的同一外部共享引脚上;外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中。在具体实现中,还将定期接收到RPMC验证指令,FPGA依据本地配置以及Flash-1中的RPMC的值生成验证值,并与RPMC验证指令中的验证值进行比对,判断是否一致,若一致,说明该芯片为合法芯片,可以继续运行,若不一致,说明该芯片为非法芯片,为了保证数据的机密性和完整性,可以禁止该芯片继续运行。另外,由于在本发明实施例中可以利用现有的Flash芯片即可实现,并且,不需要像流水线一样需通过一系列工艺步骤制造芯片,因此,芯片设计复杂度低、设计周期短、成本低。
2、Flash-1及Flash-2的容量可以扩展,通用性强,例如,可以增加单片Flash的容量,或者将多个Flash封装在一起。
3、选择Flash-1及Flash-2的自由度高,例如可以选择NOR-Flash,NAND-Flash,或者EEPROM等其他存储器类型芯片。
4、FPGA可以多次重开发,并且速度快,只需对FPGA开发即可实现算法的升级,成本低。
5、Flash和FPGA中的RPMC还可以同时执行不同的指令,即Flash和RPMC可以并行工作,因此,提高了芯片的性能。
6、利用FPGA与通用Flash来实现特殊功能的FLASH芯片,提升了开发速度,降低了开发成本。
附图说明
图1是本发明的一种与FPGA结合的FLASH芯片的结构图;
图2是本发明的一种与FPGA结合的FLASH芯片外部指令处理的方法实施例的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,与FPGA结合的FLASH芯片包括现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;Flash-1和FPGA各自包括内部IO引脚,所述Flash-1的内部IO引脚与所述FPGA的内部IO引脚互连,所述FPGA与所述Flash-1之间通过互连的内部IO引脚对进行内部相互通信;所述FPGA与Flash-2中相同的IO引脚相连,并且连接到所述芯片的同一外部共享引脚上;外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中。在本发明实施例中可以利用现有的Flash芯片即可实现,并且,不需要像流水线一样需通过一系列工艺步骤制造芯片,因此,芯片设计复杂度低、设计周期短、成本低。
参照图1,示出了本发明一种与FPGA结合的FLASH芯片的结构图,所述芯片可以包括:
现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中可以设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中可以存储有所述RPMC的值;
本发明实施例中,Flash-1,Flash-2和RPMC可以是各自独立的芯片。Flash-1和Flash-2可以选择不同的容量来满足不同系统的需求,由于可以复用已设计好的Flash芯片,因此不必重新设计,大大减少了开发周期;FPGA中的设计了RPMC,故具备了应答保护单调计数的功能,也可以单独使用。
其中,FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
由于FPGA还可以编程来实现多种特殊功能,因此,所述FPGA中还可以存储有纠错码ECC,和/或,坏块管理BBM,以实现不同的功能。并且,如果实现特殊功能算法需要存储大量的中间数据可以选择RAM容量大的FPGA,如果算法需要较高的工作频率则可以选择高速FPGA。
所述Flash-1和所述FPGA可以各自包括内部IO引脚,所述Flash-1的内部IO引脚可以与所述FPGA的内部IO引脚互连,所述FPGA可以与所述Flash-1之间通过互连的内部IO引脚对进行内部相互通信。
FPGA和Flash-1之间有IO接口,用于实现特殊数据的存储与控制(根据系统需求也可以使用或不使用Flash-1)。其中,对于Flash-1和FPGA的内部IO引脚的互连,可以是将Flash-1和FPGA中表示同一个状态位的内部IO引脚互连。
例如,Flash-1中的内部IO引脚IO_0用于状态位busy的输出,FPGA中的内部IO引脚IO_2用于状态位busy的输入,因此,可以将Flash-1中的内部IO引脚IO_0和FPGA中的内部IO引脚IO_2互连,IO_0和IO_2即为互连的内部IO引脚对。互连后Flash-1即可将自身的状态位busy通过其内部IO引脚IO_0输出至FPGA的内部IO引脚IO_2,FPGA即可获知Flash-1当前的状态。
再例如,Flash-1中的内部IO引脚IO_1用于状态位busy的输入,FPGA中的内部IO引脚IO_3用于状态位busy的输出,因此,可以将Flash-1中的内部IO引脚IO_1和FPGA中的内部IO引脚IO_3互连,IO_1和IO_3即为互连的内部IO引脚对。互连后FPGA即可将自身的状态位busy通过其内部IO引脚IO_3输出至Flash-1的内部IO引脚IO_1,Flash-1即可获知FPGA当前的状态。
外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中;外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中,所述Flash-2与所述FPGA分别判断是否执行所述外部指令;
外部指令可以通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中,然后Flash-2和FPGA分别判断是否执行所述外部指令,并根据判断的结果控制Flash-2和FPGA执行相应操作。在具体实现中,通过共用接口对FPGA与Flash-2进行数据读写与控制,并实现特殊功能的运算与控制。Flash-2和FPGA中可以具有相同的IO引脚,对于这些相同的IO引脚可以将其互连,并且连接到所述芯片的同一外部共享引脚上。本发明实施例中,Flash-2和FPGA中的相同的IO引脚可以指功能相同的IO引脚,例如,Flash-2中的IO引脚CE可以实现串行外设接口(SerialPeripheral Interface,SPI)接口的功能,FPGA中的IO引脚CSE也可以实现SPI接口的功能,此时,Flash-2中的IO引脚CE和FPGA中的IO引脚CSE即可为相同的IO引脚,因此,可以将这两个引脚CE和CSE互连。
在本发明的一种优选示例中,所述外部指令可以包括RPMC验证指令;
若所述外部指令为所述Flash-2无法识别的RPMC验证指令,则所述FPGA依据配置信息可以与所述RPMC的值生成第一RPMC验证值,并判断是否与所述RPMC验证指令中的第二RPMC验证值一致;若不一致,则所述芯片为非法芯片。
若外部指令为RPMC验证指令,则Flash-2无法识别的,故不会进行相应的操作,而FPGA则可识别出该指令为RPMC验证指令,将通过与Flash-1之间通过互连的内部IO引脚对的获取RPMC的值,依据配置信息与RPMC的值生成RPMC验证值,并判断与RPMC验证指令中的RPMC验证值是否一致,若一致,则说明该芯片为合法芯片,可以该芯片的继续运行;若不一致,则说明该芯片为非法芯片,为了保证数据的机密性和完整性,可以禁止该芯片继续运行。
本发明实施例中,所述芯片的引脚可以包括以下两种:
1、外部共享引脚
本发明实施例中,Flash-2和FPGA中包括相同的IO引脚,所述Flash-2与所述FPGA中的相同IO引脚互连,并且连接到所述芯片的同一外部共享引脚上,所述外部共享引脚可以为多个。
例如,图1中的IO_F_0,IO_F_1,...,IO_F_n即为所述的芯片的外部共享接口,Flash-2中与IO_F_0,IO_F_1,...,IO_F_n连接的IO接口、以及FPGA中与IO_F_0,IO_F_1,...,IO_F_n连接的IO接口,即为Flash-2和FPGA中相同的IO接口。
需要说明的是,由于图1为芯片的逻辑连接示意图,因此其中的IO_F_0,IO_F_1,...,IO_F_n均称为接口,该逻辑连接图中的这些接口在芯片的物理连接上即称为引脚。
优选地,当所述芯片通过外部共享引脚接收到外部指令时,可以执行以下过程:
所述FPGA可以与所述Flash-2中相同的IO引脚相连,并且可以连接到所述芯片的同一外部共享引脚上;外部指令可以通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中;所述外部指令可以包括RPMC验证指令;
其中,若所述外部指令为所述Flash-2无法识别的RPMC验证指令,则所述FPGA依据配置信息可以与所述RPMC的值生成第一RPMC验证值,并判断是否与所述RPMC验证指令中的第二RPMC验证值一致;若不一致,则所述芯片为非法芯片。
例如,如果芯片接收到外部指令a(RPMC验证指令),此时外部指令a会通过外部共享引脚分别传输到所述Flash-2与所述FPGA中,Flash-2和FPGA的都会对该外部指令a进行识别。若Flash-2的无法识别外部指令a,而FPGA的可以识别外部指令a,则FPGA针对该外部指令a执行对应指令a的操作;
如果芯片接收到外部指令b(程序PROGRAM或者擦除ERASE),此时Flash-2判断为需要执行外部指令b,FPGA判断为不需要执行外部指令b,则由Flash-2按照所述外部指令b执行对应指令b的操作。
在Flash-2执行所述外部指令b的过程中,如果芯片又接收到外部指令c,Flash-2判断为不需要执行外部指令c,而FPGA判断为需要执行外部指令c,则可以由FPGA按照所述外部指令c执行对应指令c的操作。
同样的,如果芯片接收到外部指令d,此时通过Flash-2判断为不需要执行外部指令d,而FPGA判断为需要执行外部指令d,则可以由FPGA按照所述外部指令d执行对应指令d的操作。在FPGA执行所述外部指令d的过程中,如果芯片又接收到外部指令e,Flash-2判断为需要执行外部指令e,而FPGA判断为不需要执行外部指令e,则可以由Flash-2按照所述外部指令e执行对应指令e的操作。
因此,通过上述过程,Flash-2和FPGA可以同时执行相同的指令或不同的指令,从而实现Flash-2和FPGA并行执行指令的过程。例如,Flash-2在执行程序(PROGRAM)或擦除(ERASE)的过程中,FPGA可以执行指令。
2、互连的内部IO引脚对
本发明实施例中,所述Flash-1和所述FPGA各自还包括内部IO引脚,所述Flash-1的内部IO引脚与所述FPGA的内部IO引脚互连,所述Flash-1与所述FPGA之间通过互连的内部IO引脚对进行内部相互通信。
例如,图1中Flash-1中的内部IO接口(即引脚)IO_#和与其互连的FPGA中的内部IO接口IO_#即组成所述的芯片上互连的内部IO接口对(即互连的内部IO引脚对),所述互连的内部IO接口对为多个。所述Flash-1与所述FPGA之间可以通过Flash-1中的内部IO接口IO_#和与其互连的FPGA中的内部IO接口IO_#进行内部相互通信。
本发明实施例中,Flash-1与FPGA之间可以通过互连的内部IO引脚对进行内部相互通信。例如,可以将Flash-1中用于状态位busy的输出的内部IO引脚IO_0和FPGA中用于状态位busy的输入的内部IO引脚IO_2互连;并将Flash-1中用于状态位busy的输入的内部IO引脚IO_1和RPMC中用于状态位busy的输出的内部IO引脚IO_3互连。IO_0和IO_2、以及IO_1和IO_3分别为互连的内部IO引脚对。因此,FLASH与RPMC之间可以通过上述互连的内部IO引脚对IO_0和IO_2、以及IO_1和IO_3进行内部相互通信,将自身的状态位busy的值通知对方。
因此,当FPGA接收到外部指令时,可以通过与Flash-1之间可以通过互连的内部IO引脚对进行通信,获取机传输相应的数据,或者通知对方执行相应的操作。
在本发明的一种优选实施例中,当通过外部共享引脚接收到外部指令时,所述FPGA可以通过与所述Flash-1之间互连的内部IO引脚通知将所述RPMC的值加1。
为了保证数据的机密性和完整性,RPMC的值在每次通过外部共享引脚接收到外部指令时,FPGA可以通过与所述Flash-1之间互连的内部IO引脚通知将所述RPMC的值加1,以便保证与外部的主机进行相互通信的芯片为合法的芯片。
在本发明的一种示例中,所述外部指令可以包括RPMC更新指令;
当通过外部共享引脚接收到外部指令为所述Flash-2无法识别的RPMC更新指令,则所述FPGA通过与所述Flash-1之间互连的内部IO引脚通知依据RPMC更新指令对所述RPMC的值进行更新。
若外部指令为RPMC更新指令,则Flash-2无法识别,故不会进行相应的操作,而FPGA则可识别出该指令为RPMC更新指令,将通过与Flash-1之间通过互连的内部IO引脚对通知Flash-2更新RPMC的值,以保持与外部主机RPMC的值一致。
本发明实施例中可以利用现有的Flash芯片即可实现,所述Flash-1及所述Flash-2可以为NOR型非易失性存储器NOR-Flash、NAND型非易失性存储器NAND-Flash,或者,电可擦只读存储器EEPROM等存储器芯片。在实际中,可以选择不同的容量的存储器来满足不同系统的需求,如果数据量特别大可以使用NAND-Flash,如果运算复杂、数据量小可以使用NOR-Flash或EEPROM。当然,也可以利用其他的Flash芯片,本发明实施例对此不作限制。
参照图2,示出了本发明的一种与FPGA结合的FLASH芯片外部指令处理的方法实施例的步骤流程图,所述芯片可以包括现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中可以设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中可以存储有所述RPMC的值,所述的方法可以包括如下步骤:
步骤101,接收外部指令;
在本发明的一种优选实施例中,所述方法还可以包括:
步骤S11,当接收到所述外部指令时,所述RPMC的值加1。
在本发明的一种优选实施例中,所述方法还可以包括:
步骤S21,在接收到多个外部指令时,分别判断是否执行所述多个外部指令。
步骤102,在所述外部指令为RPMC验证指令时,则获取所述配置信息及RPMC的值;
步骤103,依据所述配置信息与RPMC的值生成第一RPMC验证值;
步骤104,判断所述第一RPMC验证值与所述RPMC验证指令中的第二RPMC验证值是否一致;若不一致,则执行步骤105
步骤105,判定所述芯片为非法芯片。
在本发明的一种优选实施例中,所述方法还可以包括:
步骤S31,在所述外部指令为RPMC更新指令时,依据所述RPMC更新指令对所述RPMC的值进行更新并存储。
在本发明的一种优选实施例中,所述方法还可以包括:
步骤S41,在预置的时间段接收到所述RPMC更新指令。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种与FPGA结合的FLASH芯片及指令处理方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种与FPGA结合的FLASH芯片,其特征在于,包括:
现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中存储有所述RPMC的值,其中,
所述Flash-1和所述FPGA各自包括内部IO引脚,所述Flash-1的内部IO引脚与所述FPGA的内部IO引脚互连,所述FPGA与所述Flash-1之间通过互连的内部IO引脚对进行内部相互通信;
所述FPGA与所述Flash-2中相同的IO引脚相连,并且连接到所述芯片的同一外部共享引脚上;
外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中;外部指令通过所述芯片的外部共享引脚传输到所述Flash-2与所述FPGA中,所述Flash-2与所述FPGA分别判断是否执行所述外部指令;
其中,所述外部指令包括RPMC验证指令;若所述外部指令为所述Flash-2无法识别的RPMC验证指令,则所述FPGA依据配置信息与所述RPMC的值生成第一RPMC验证值,并判断是否与所述RPMC验证指令中的第二RPMC验证值一致;若不一致,则所述芯片为非法芯片。
2.根据权利要求1所述的一种与FPGA结合的FLASH芯片,其特征在于,
当通过外部共享引脚接收到外部指令时,所述FPGA通过与所述Flash-1之间互连的内部IO引脚通知将所述RPMC的值加1。
3.根据权利要求1或2所述的一种与FPGA结合的FLASH芯片,其特征在于,所述外部指令包括RPMC更新指令;
当通过外部共享引脚接收到外部指令为所述Flash-2无法识别的RPMC更新指令,则所述FPGA通过与所述Flash-1之间互连的内部IO引脚通知依据RPMC更新指令对所述RPMC的值进行更新。
4.根据权利要求1或2所述的与FPGA结合的FLASH芯片,其特征在于,所述Flash-1及所述Flash-2为NOR型非易失性存储器NOR-Flash、NAND型非易失性存储器NAND-Flash,或者,电可擦只读存储器EEPROM。
5.根据权利要求1所述的与FPGA结合的FLASH芯片,其特征在于,所述FPGA中还存储有纠错码ECC,和/或,坏块管理BBM。
6.一种与FPGA结合的FLASH芯片外部指令处理的方法,其特征在于,所述芯片包括现场可编程门阵列FPGA,第一存储芯片Flash-1,以及,第二存储芯片Flash-2;所述FPGA中设置有应答保护单调计数器RPMC及配置信息;所述第一存储芯片Flash-1中存储有所述RPMC的值,所述的方法包括:
接收外部指令;
若所述外部指令为RPMC验证指令,则获取所述配置信息及RPMC的值;
依据所述配置信息与RPMC的值生成第一RPMC验证值;
判断所述第一RPMC验证值与所述RPMC验证指令中的第二RPMC验证值是否一致;若不一致,则判定所述芯片为非法芯片。
7.根据权利要求6所述的方法,其特征在于,还包括:
当接收到所述外部指令时,所述RPMC的值加1。
8.根据权利要求6所述的方法,其特征在于,还包括:
若所述外部指令为RPMC更新指令,则依据所述RPMC更新指令对所述RPMC的值进行更新并存储。
9.根据权利要求8所述的方法,其特征在于,还包括:
在预置的时间段接收到所述RPMC更新指令。
10.根据权利要求6-9任一权利要求所述的方法,其特征在于,还包括:
当接收到多个外部指令时,分别判断是否执行所述多个外部指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495546.4A CN104572015B (zh) | 2013-10-21 | 2013-10-21 | 与fpga结合的flash芯片及指令处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495546.4A CN104572015B (zh) | 2013-10-21 | 2013-10-21 | 与fpga结合的flash芯片及指令处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572015A true CN104572015A (zh) | 2015-04-29 |
CN104572015B CN104572015B (zh) | 2018-08-03 |
Family
ID=53088194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495546.4A Active CN104572015B (zh) | 2013-10-21 | 2013-10-21 | 与fpga结合的flash芯片及指令处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572015B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159720A (zh) * | 2020-03-27 | 2020-05-15 | 深圳市芯天下技术有限公司 | 对rpmc进行测试的系统 |
CN111370051A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种非易失存储器验证系统及方法 |
CN112270152A (zh) * | 2020-10-29 | 2021-01-26 | 厦门紫光展锐科技有限公司 | 芯片io引脚验证系统和方法 |
CN113448895A (zh) * | 2021-06-25 | 2021-09-28 | 武汉新芯集成电路制造有限公司 | 存储集成芯片及其通信方法、封装结构及封装方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700642A (zh) * | 2005-05-25 | 2005-11-23 | 北京兆日科技有限责任公司 | 一种单调计数器的实现方法 |
US20070162964A1 (en) * | 2006-01-12 | 2007-07-12 | Wang Liang-Yun | Embedded system insuring security and integrity, and method of increasing security thereof |
CN101222698A (zh) * | 2007-01-12 | 2008-07-16 | 展讯通信(上海)有限公司 | 一种基于硬件序列号的imei码保护方法 |
CN102110055A (zh) * | 2009-12-25 | 2011-06-29 | 比亚迪股份有限公司 | 闪存芯片存储配置方法以及闪存芯片存储配置装置 |
CN102646085A (zh) * | 2011-02-22 | 2012-08-22 | 海力士半导体有限公司 | 半导体装置 |
US20130159727A1 (en) * | 2011-12-20 | 2013-06-20 | Nitin V. Sarangdhar | Secure replay protected storage |
CN103219333A (zh) * | 2013-04-09 | 2013-07-24 | 北京兆易创新科技股份有限公司 | 增强型Flash芯片、封装方法和指令执行方法 |
CN103236428A (zh) * | 2013-04-09 | 2013-08-07 | 北京兆易创新科技股份有限公司 | 一种含有RPMC的增强型Flash芯片及其封装方法 |
CN103247612A (zh) * | 2013-04-09 | 2013-08-14 | 北京兆易创新科技股份有限公司 | 一种增强型flash芯片和一种芯片封装方法 |
-
2013
- 2013-10-21 CN CN201310495546.4A patent/CN104572015B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700642A (zh) * | 2005-05-25 | 2005-11-23 | 北京兆日科技有限责任公司 | 一种单调计数器的实现方法 |
US20070162964A1 (en) * | 2006-01-12 | 2007-07-12 | Wang Liang-Yun | Embedded system insuring security and integrity, and method of increasing security thereof |
CN101222698A (zh) * | 2007-01-12 | 2008-07-16 | 展讯通信(上海)有限公司 | 一种基于硬件序列号的imei码保护方法 |
CN102110055A (zh) * | 2009-12-25 | 2011-06-29 | 比亚迪股份有限公司 | 闪存芯片存储配置方法以及闪存芯片存储配置装置 |
CN102646085A (zh) * | 2011-02-22 | 2012-08-22 | 海力士半导体有限公司 | 半导体装置 |
US20130159727A1 (en) * | 2011-12-20 | 2013-06-20 | Nitin V. Sarangdhar | Secure replay protected storage |
CN103219333A (zh) * | 2013-04-09 | 2013-07-24 | 北京兆易创新科技股份有限公司 | 增强型Flash芯片、封装方法和指令执行方法 |
CN103236428A (zh) * | 2013-04-09 | 2013-08-07 | 北京兆易创新科技股份有限公司 | 一种含有RPMC的增强型Flash芯片及其封装方法 |
CN103247612A (zh) * | 2013-04-09 | 2013-08-14 | 北京兆易创新科技股份有限公司 | 一种增强型flash芯片和一种芯片封装方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111370051A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种非易失存储器验证系统及方法 |
CN111370051B (zh) * | 2018-12-25 | 2022-02-18 | 北京兆易创新科技股份有限公司 | 一种非易失存储器验证系统及方法 |
CN111159720A (zh) * | 2020-03-27 | 2020-05-15 | 深圳市芯天下技术有限公司 | 对rpmc进行测试的系统 |
CN111159720B (zh) * | 2020-03-27 | 2020-07-24 | 深圳市芯天下技术有限公司 | 对应答保护单调计数器rpmc进行测试的系统 |
CN112270152A (zh) * | 2020-10-29 | 2021-01-26 | 厦门紫光展锐科技有限公司 | 芯片io引脚验证系统和方法 |
CN112270152B (zh) * | 2020-10-29 | 2022-06-21 | 厦门紫光展锐科技有限公司 | 芯片io引脚验证系统和方法 |
CN113448895A (zh) * | 2021-06-25 | 2021-09-28 | 武汉新芯集成电路制造有限公司 | 存储集成芯片及其通信方法、封装结构及封装方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104572015B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018064885A1 (zh) | 一种对可编程逻辑器件进行配置或更新的装置和方法 | |
US9558247B2 (en) | Storage device and stream filtering method thereof | |
CN104572015A (zh) | 与fpga结合的flash芯片及指令处理方法 | |
US20160274816A1 (en) | Programmable Logic Device With On-Chip User Non-Volatile Memory | |
CN203588252U (zh) | 一种fpga现场可编程门阵列配置程序的升级电路 | |
CN205450909U (zh) | 一种基于fpga实现的bmc | |
CN103399840A (zh) | 一种计算机配置文件的带外修改方法及计算机 | |
CN104951334A (zh) | FPGA双片QSPI flash的程序加载方法 | |
CN106708416B (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
CN102866865A (zh) | 一种fpga专用配置存储器多版本码流存储电路架构 | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
CN102253844B (zh) | 一种启动处理器的方法和设备 | |
CN107526614B (zh) | Fpga开发板的通信方法 | |
TWI806262B (zh) | 橋接裝置與資料儲存系統 | |
CN115129392A (zh) | 芯片配置方法、装置、计算机设备和存储介质 | |
CN203250312U (zh) | 一种接口形式可扩展的通用核心处理子板 | |
CN112799887A (zh) | 一种芯片ft测试系统以及测试方法 | |
CN117033112A (zh) | 一种系统级dft实现方法、系统、设备及介质 | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103426452A (zh) | 一种存储器级联以及封装方法及其装置 | |
CN103247611B (zh) | 一种增强型flash芯片和一种芯片封装方法 | |
CN206209364U (zh) | 基于dsp与fpga的控制电路装置 | |
CN205281492U (zh) | 基于可编程芯片的电路板 | |
CN203849724U (zh) | 基于可编程芯片的pcb板 | |
CN204406848U (zh) | 基于双fpga芯片的验证开发板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |