闪存接口制造技术

技术编号:3081147 阅读:252 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种闪存接口,其包括:数据缓冲器、第一译码器、第一多路选择器、第一加密模块、第二多路选择器、第二加密模块、判断模块、第三多路选择器。本发明专利技术丰富了待编程数据的加密方式,可根据用户需要实现对待编程数据的灵活加密,有效保证Flash存储器中数据的安全性。

【技术实现步骤摘要】

本专利技术涉及集成电路技术,尤其是一种闪存接口。技术背景20世纪80年代后,微控制单元(Micro Controller Unit,以下简称 MCU,又称单片机或微控制器)技术得到了快速发展。从英特尔(Intel) 的8051型号芯片发展到今天,世界各公司已生产出成千上万种单片机产品, 单片机在社会经济中扮演着越来越重要的角色。目前,通常采用只读存储器与快速擦写存储器(Flash)作为单片机的 存储器。快速擦写存储器也称闪存。其中,只读存储器在使用时只能读出 其中的数据而不能向其中写入数据, 一旦向其中写入程序便无法修改;由 于快速擦写存储器具有集成度高、制造成本低、具有读写灵活性和较快的 访问速度等优点,受到了广大设计厂商和用户的欢迎。目前,很多MCU设计厂商,例如Microchip, Motorola, NEC、 Toshiba 及ST等,都推出了 Flash系列的微控制器。现有的Flash接口中,只能在 用户选择加密时,通过硬件加密的方式,对输入的编程tt据与地址同时加 密,加密方式单一,不灵活;若用户不需要对地址加密,则也不能选择对 编程数据进行加密,这样,可能用于用户的误操作而改动或擦除Flash存 储器中的源程序,无法保证源程序的安全性。
技术实现思路
本专利技术所要解决的技术问题是丰富对编程数据与地址的加密方式, 实现对编程数据与地址的灵活加密,有效保证Flash存储器中数据的安全性。为解决上述技术问题,本专利技术实施例提供的一种闪存接口 ,包括 数据緩冲器,用于接收时钟控制信号与串口发送的待编程数据,对所 述待编程数据进行緩冲,并按照所述时钟控制信号输出所述待编程数据,以及緩存并按照所述时钟控制信号输出发送给用户的数据;第一译码器,用于将所述数据緩冲器输出的待编程数据译码为指令数据与地址数据;第一多路选择器,用于接收是否对所述指令数据进行加密的第一加密 控制信号与对所述指令数据进行加密的第一密码,并在不需要对所述指令数据进行加密时将所述指令数据编程输出到存储器;第 一加密模块,用于在根据接收到的第 一加密控制信号与第 一密码对 所述指令数据进行加密编程;第二多路选择器,用于接收是否对所述地址数据进行加密的第二加密 控制信号与对所述地址数据进行加密的第二密码,并在不需要对所述地址 数据进行加密时将所述地址数据输出到存储器;以及接收数据获取请求, 所述数据获取请求中携带有地址数据,在不需要对所述地址数据进行加密 时,将所述数据获取请求发送给存储器;第二加密模块,用于在根据接收到的第二加密控制信号与第二密码对 所述地址数据进行加密,或者对所述数据获取请求中的地址数据进行加密;判断模块,用于判断所述存储器根据所述数据获取请求中的地址数据 输出的数据是否加密;第二译码器,用于在所述存储器根据所述数据获取请求中的地址数据 输出的数据加密时,根据第一加密控制信号规定的加密模式,或进一步结 合第 一密码,对所述存储器输出的数据中的指令数据进行解密;第三多路选择器,用于接收未加密的或解密后的指令数据,将该指令 数据选择发送给中央处理器或所述数据緩冲器。本专利技术提供的闪存接口,具有多种加密方式,可以选择对待编程数据 中的指令数据和/或地址数据进行加密,同时能对存储器输出数据中的指令 数据和/或地址数据按照加密模式进行相应的解密,丰富了待编程数据的加密方式,可根据用户需要实现对待编程数据的灵活加密,有效保证Flash 存储器中数据的安全性。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为本专利技术闪存接口实施例一的结构示意图; 图2为本专利技术闪存接口实施例二的结构示意图; 图3为本专利技术闪存接口实施例三的结构示意图。具体实施方式本专利技术实施例的闪存接口可以根据用户需要,对待编程数据中的指令 数据和/或地址数据分别进行编程,具有多种加密方式,丰富了待编程数据 的加密方式,实现对待编程数据的灵活加密,有效保证Flash存储器中数 据的安全性。如图l所示,为本专利技术闪存接口实施例一的结构示意图,该实施例的 闪存接口包括数据緩沖器,用于接收时钟控制信号与串口发送的待编程数据,该待 编程数据包括指令数据与地址数据,对待编程数据进行緩沖,按照时钟控 制信号输出待编程数据,以及緩存Flash存储器输出的、发送给用户的数据, 并按照时钟控制信号输出发送给用户;第一译码器,与数据緩冲器连接,用于对数据緩冲器输出的待编程数据进行译码,将其分为指令数据与地址数据;第一多路选择器,与第一译码器及Flash存储器连接,用于接收是否对指令数据进行加密的第 一加密控制信号并进行分析,该第 一加密控制信号可记为m0,其中包括进行加密所需的加密模式与相应的加密算法,其中 的加密模式可以是硬件加密或密码加密,根据第一加密控制信号需要对指 令数据进行密码加密时,接收用于对指令数据进行密码加密的第一密码, 该第一密码可记为ml,将指令数据、第一加密控制信号m0与第一密码 ml发送给第一加密模块;若根据第一加密控制信号不需要对指令数据进行 加密,则将指令数据直接编程存储到Flash存储器;第一加密模块,与第一多路选择器及Flash存储器连接,用于在根据第 一多路选择器发送的第一加密控制信号m0,若为密码加密还结合第一密码 ml,对指令数据进行加密,将加密的指令数据编程存储到Flash存储器;第二多路选择器,与第一译码器及Flash存储器连接,用于接收是否对 地址数据进行加密的第二加密控制信号并进行分析,该第二加密控制信号 可记为nO,其中包括进行加密所需的加密模式与相应的加密算法,其中 的加密模式可以是硬件加密或密码加密,根据第二加密控制信号需要对地 址数据进行加密时,接收用于对地址数据进行密码加密的第二密码,该第 一密码可记为nl,将地址数据、第二加密控制信号n0与第二密码nl发 送给第二加密模块;若根据第二加密控制信号不需要对地址数据进行加密, 则将地址数据直接存储到Flash存储器;另外,还接收数据获取请求,该数 据获取请求中携带有地址数据,在不需要对地址数据进行加密时,将数据 获取请求直接发送给Flash存储器;第二加密模块,与第二多路选择器及Flash存储器连接,用于在根据第 二多路选择器发送的第二加密控制信号n0,若为密码加密,还结合第二密 码nl,对地址数据进行加密后,将加密的地址数据存储到Flash存储器, 或者,对数据获取请求中的地址数据进行加密后发送给Flash存储器,以便 从该Flash存储器中获取与加密的地址数据相应的数据;判断模块,与Flash存储器连接,用于判断从Flash存储器根据数据获取请求中的地址数据输出的数据是否加密;第二译码器,与判断模块连接,用于在Flash存储器根据数据获取请求 中的地址数据输出的数据加密时,根据第一加密控制信号m0规定的算法, 或进一步结合第一密码ml,对Flash存储器根据数据获取请求中的地址数 据输出的数据中的指令数据进行解密;第三多路选择器,与判断模块及第二译码器连接,用于接收判断模块 发送的未加密的指令数据,及第二译码器发送的解密后获得的指令数据, 对指令数据进行选择,将需要发送给中央处理器(Central Processing Unit, 以下简称CPU)的指令数本文档来自技高网...

【技术保护点】
一种闪存接口,其特征在于,包括:    数据缓冲器,用于接收时钟控制信号与串口发送的待编程数据,对所述待编程数据进行缓冲,并按照所述时钟控制信号输出所述待编程数据,以及缓存并按照所述时钟控制信号输出发送给用户的数据;    第一译码器,用于将所述数据缓冲器输出的待编程数据译码为指令数据与地址数据;    第一多路选择器,用于接收是否对所述指令数据进行加密的第一加密控制信号与对所述指令数据进行加密的第一密码,并在不需要对所述指令数据进行加密时将所述指令数据编程输出到存储器;    第一加密模块,用于在根据接收到的第一加密控制信号与第一密码对所述指令数据进行加密编程;    第二多路选择器,用于接收是否对所述地址数据进行加密的第二加密控制信号与对所述地址数据进行加密的第二密码,并在不需要对所述地址数据进行加密时将所述地址数据输出到存储器;以及接收数据获取请求,所述数据获取请求中携带有地址数据,在不需要对所述地址数据进行加密时,将所述数据获取请求发送给存储器;    第二加密模块,用于在根据接收到的第二加密控制信号与第二密码对所述地址数据进行加密,或者对所述数据获取请求中的地址数据进行加密;    判断模块,用于判断所述存储器根据所述数据获取请求中的地址数据输出的数据是否加密;    第二译码器,用于在所述存储器根据所述数据获取请求中的地址数据输出的数据加密时,根据第一加密控制信号规定的加密模式,或进一步结合第一密码,对所述存储器输出的数据中的指令数据进行解密;    第三多路选择器,用于接收未加密的或解密后的指令数据,将该指令数据选择发送给中央处理器或所述数据缓冲器。...

【技术特征摘要】
CN 2007-2-14 20071003756951、一种闪存接口,其特征在于,包括数据缓冲器,用于接收时钟控制信号与串口发送的待编程数据,对所述待编程数据进行缓冲,并按照所述时钟控制信号输出所述待编程数据,以及缓存并按照所述时钟控制信号输出发送给用户的数据;第一译码器,用于将所述数据缓冲器输出的待编程数据译码为指令数据与地址数据;第一多路选择器,用于接收是否对所述指令数据进行加密的第一加密控制信号与对所述指令数据进行加密的第一密码,并在不需要对所述指令数据进行加密时将所述指令数据编程输出到存储器;第一加密模块,用于在根据接收到的第一加密控制信号与第一密码对所述指令数据进行加密编程;第二多路选择器,用于接收是否对所述地址数据进行加密的第二加密控制信号与对所述地址数据进行加密的第二密码,并在不需要对所述地址数据进行加密时将所述地址数据输出到存储器;以及接收数据获取请求,所述数据获取请求中携带有地址数据,在不需要对所述地址数据进行加密时,将所述数据获取请求发送给存储器;第二加密模块,用于在根据接收到的第二加密控制信号与第二密码对所述地址数据进行加密,或者对所述数据获取请求中的地址数据进行加密;判断模块,用于判断所述存储器根据所述数据获取请求中的地址数据输出的数据是否加密;第二译码器,用于在所述存储器根据所述数据获取请求中的地址数据输出的数据加密时,根据第一加密控制信号规定的加密模式,或进一步结合第一密码,对所述存储器输出的数据中的指令数据进行解密;第三多路选择器,用于接收未加密的或解密后的指令...

【专利技术属性】
技术研发人员:岳卫杰陈光胜史卫东刘桂荣潘松
申请(专利权)人:上海海尔集成电路有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利