一种闪存控制器和闪存控制器的控制方法

文档序号:8282224阅读:275来源:国知局
一种闪存控制器和闪存控制器的控制方法
【技术领域】
[0001]本发明涉及电子电路技术领域,特别是涉及一种闪存控制器和一种闪存控制器的控制方法。
【背景技术】
[0002]随着集成电路技术的不断提高,MCU(Micro Control Unit,微控制单元)芯片的应用越来越广泛,小到儿童玩具,大到工程机械,都需要用到MCU芯片。MCU芯片通常包含CPU (Central Processing Unit,中央处理器)、闪存(Flash Memory)、SRAM (Static RandomAccess Memory,静态随机存储器)和各种外围设备。在MCU芯片掉电时,闪存的内容不会丢失,而SRAM的内容则会丢失。闪存通常会被分为两个独立的区域:一个是闪存用户区,用来存储用户的程序;另一个是闪存信息区,用来存放MCU芯片的配置信息。SRAM —般用作片上缓存。
[0003]对于MCU芯片的方案商而言,也就是基于MCU芯片开发程序和外围电路的厂商,程序最终会烧写到MCU芯片的闪存用户区中,由于方案商的核心价值在于所开发的程序,故需要保证程序绝对安全,不能被他人窃取。MCU芯片的信息保护方案的目标就是保护闪存用户区的内容不被他人窃取。目前市场上的MCU芯片的产品在信息保护方案方面,都只是对其闪存用户区的内容整体地保护,无法满足多家公司合作开发程序的需求。因为它只能保护闪存用户区的内容不被客户窃取,而不能阻止合作开发程序的公司相互窃取对方的程序。
[0004]因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提出一种闪存控制器,用以保护程序不被客户窃取,同时保护合作开发程序的公司不能相互窃取对方的程序。

【发明内容】

[0005]本发明实施例所要解决的技术问题是提供一种闪存控制器,用以保护程序不被客户窃取,同时保护合作开发程序的公司不能相互窃取对方的程序。
[0006]相应的,本发明实施例还提供了一种闪存控制器的控制方法,用以保证上述装置的实现及应用。
[0007]为了解决上述问题,本发明公开了一种闪存控制器,所述闪存控制器包括指令总线接口、数据总线接口、配置寄存器、擦除访问过滤单元、读写访问过滤单元和闪存控制单元;
[0008]读写访问过滤单元,用于接收控制信息;当接收到来自指令总线接口或数据总线接口的读写访问时,根据所述控制信息判断是否将所述读写访问传送给闪存控制单元;
[0009]擦除访问过滤单元,用于接收控制信息;当接收到来自配置寄存器的擦除访问时,根据所述控制信息判断是否将所述擦除访问传送给闪存控制单元;
[0010]闪存控制单元,用于根据所述读写访问或擦除访问完成针对闪存的访问。
[0011]优选地,所述闪存包括闪存用户区和闪存信息区,所述闪存控制单元针对闪存的访问包括对闪存用户区的访问和对闪存信息区的访问,所述控制信息包括分区保护工作方式、读保护级别和读保护状态,所述闪存控制器还包括分区保护控制单元和读保护控制单元;
[0012]读保护控制单元,用于接收选项字节;判断当前对闪存用户区的访问是否来自调试手段,以及根据所述选项字节确定读保护级别和读保护状态;将所述读保护级别、读保护状态以及当前对闪存用户区的访问是否来自调试手段等控制信息传送给所述擦除访问过滤单元和所述读写访问过滤单元;所述访问包括读写访问和擦除访问;
[0013]分区保护控制单元,用于确定当前的分区保护工作方式。
[0014]优选地,所述闪存控制器还包括选项字节镜像和调试手段监测单元;
[0015]选项字节镜像,用于复制闪存信息区中的选项字节;
[0016]调试手段监测单元,用于监测当前对闪存用户区的访问是否来自调试手段。
[0017]优选地,所述闪存控制器包括内部总线矩阵,所述读写访问包括需要立即响应的读写访问,需要延迟响应的读写访问,以及不需要响应的读写访问;
[0018]读写访问过滤单元,用于在判断为需要立即响应的读写访问时,通过内部总线矩阵传送给闪存控制单元,在所述闪存控制单元根据所述读写访问完成针对闪存的访问时,产生正确完成响应信号并传送给相应的指令总线接口或数据总线接口;
[0019]和/ 或,
[0020]读写访问过滤单元,用于在判断为需要延迟响应的读写访问时,在延迟指定的时间后,通过内部总线矩阵传送给闪存控制单元,在所述闪存控制单元根据所述读写访问完成针对闪存的访问时,产生正确完成响应信号并传送给相应的指令总线接口或数据总线接P ;
[0021]和/ 或,
[0022]读写访问过滤单元,用于在判断为不需要响应的读写访问时,产生错误完成响应信号并传送给相应的指令总线接口或数据总线接口。
[0023]优选地,所述读写访问包括更改选项字节的访问;
[0024]读写访问过滤单元,还用于在所述读写访问为更改选项字节的访问时,将所述更改选项字节的访问传送给选项字节镜像。
[0025]优选地,所述擦除访问包括需要响应的擦除访问和不需要响应的擦除访问;
[0026]擦除访问过滤单元,用于在判断为需要响应的擦除访问时,将所述需要响应的擦除访问传送给所述闪存控制单元,在闪存控制单元根据所述擦除访问完成针对闪存的访问时,产生成功擦除响应信号并传送给所述配置寄存器;
[0027]和/ 或,
[0028]擦除访问过滤单元,用于在判断为不需要响应的擦除访问时,产生失败擦除响应信号并传送给所述配置寄存器。
[0029]优选地,所述配置寄存器包括擦除访问完成状态位;
[0030]配置寄存器,用于在接收到所述成功擦除响应信号或者所述失败擦除响应信号时,更改所述擦除访问完成状态位;
[0031]优选地,所述配置寄存器包括出错标志位;
[0032]配置寄存器,用于在接收到所述失败擦除响应信号时,更改所述出错标志位。
[0033]优选地,所述内部总线矩阵为指令总线和数据总线的互联矩阵。
[0034]优选地,所述闪存控制器包括主控单元,
[0035]所述主控单元,用于控制闪存控制器各个模块协调工作。
[0036]本发明实施例还公开了一种闪存控制器的控制方法,所述闪存控制器包括指令总线接口、数据总线接口、配置寄存器、擦除访问过滤单元、读写访问过滤单元和闪存控制单元;
[0037]采用所述读写访问过滤单元接收控制信息;当接收到来自指令总线接口或数据总线接口的读写访问时,根据所述控制信息判断是否将所述读写访问传送给闪存控制单元;
[0038]采用所述擦除访问过滤单元接收控制信息;当接收到来自配置寄存器的擦除访问时,根据所述控制信息判断是否将所述擦除访问传送给闪存控制单元;
[0039]采用所述闪存控制单元根据所述读写访问或擦除访问完成针对闪存的访问。
[0040]优选地,所述闪存包括闪存用户区和闪存信息区,所述闪存控制单元针对闪存的访问包括对闪存用户区的访问和对闪存信息区的访问,所述控制信息包括分区保护工作方式、读保护级别和读保护状态,所述闪存控制器还包括分区保护控制单元和读保护控制单元;所述的方法还包括:
[0041]采用读保护控制单元接收选项字节;判断当前对闪存用户区的访问是否来自调试手段,以及根据所述选项字节确定读保护级别和读保护状态;将所述读保护级别、读保护状态以及当前对闪存用户区的访问是否来自调试手段等控制信息传送给所述擦除访问过滤单元和所述读写访问过滤单元;所述访问包括读写访问和擦除访问;
[0042]采用分区保护控制单元确定当前的分区保护工作方式。
[0043]优选地,所述闪存控制器还包括选项字节镜像和调试手段监测单元;所述的方法还包括:
[0044]采用选项字节镜像复制闪存信息区中的选项字节;
[0045]采用调试手段监测单元监测当前对闪存用户区的访问是否来自调试手段。
[0046]优选地,所述闪存控制器包括内部总线矩阵,所述读写访问包括需要立即响应的读写访问,需要延迟响应的读写访问,以及不需要响应的读写访问;所述的方法还包括:
[0047]采用读写访问过滤单元在判断为需要立即响应的读写访问时,通过内部总线矩阵传送给闪存控制单元,在所述闪存控制单元根据所述读写访问完成针对闪存的访问时,产生正确完成响应信号并传送给相应的指令总线接口或数据总线接口;
[0048]和/ 或,
[0049]采用读写访问过滤单元在判断为需要延迟响应的读写访问时,在延迟指定的时间后,通过内部总线矩阵传送给闪存控制单元,在所述闪存控制单元根据所述读写访问完成针对闪存的访问时,产生正确完成响应信号并传送给相应的指令总线接口或数据总线接P ;
[0050]和/ 或,
[0051]采用读写访问过滤单元在判断为不需要响应的读写访问时,产生错误完成响应信号并传送给相应的指令总线接口或数据总线接口。
[0052]优选地,所述读写访问包括更改选项字节的访问;所述的方法还包括:
[0053]采用读写访问过滤单元在所述读写访问为更改选项字节的访问时,将所述更改选项字节的访问传送给选项字节镜像。
[0054]优选地,所述擦除访问包括需要响应的擦除访问和不需要响应的擦除访问;所述的方法还
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1