买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于片上FLASH存储器的OTP控制器和控制方法_北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网江苏省电力有限公司南京供电分公司_201810684179.5 

申请/专利权人:北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网江苏省电力有限公司南京供电分公司

申请日:2018-06-28

公开(公告)日:2024-02-23

公开(公告)号:CN108563590B

主分类号:G06F13/16

分类号:G06F13/16;G06F12/02

优先权:

专利状态码:有效-授权

法律状态:2024.02.23#授权;2018.10.23#实质审查的生效;2018.09.21#公开

摘要:本发明提供了一种基于片上FLASH存储器的OTP控制器和控制方法。该OTP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在OTP控制器与片上FLASH存储器的存储单元之间的传输。本发明的OTP控制器能够对FLASH存储器进行一次性编程的数据读写,并能够保护OTP数据不被改写。

主权项:1.一种基于片上FLASH存储器的OTP控制器,对所述片上FLASH存储器的读写操作进行控制,其特征在于,该OTP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在所述OTP控制器与所述片上FLASH存储器的存储单元之间的传输;其中,所述读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地址做预定义变换后在输出到FLASH存储器的地址接口;其中,该OTP控制器还包括缓存模块,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内;其中,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作;其中,所述通信总线模块的总线类型为AXI或AHB类型。

全文数据:基于片上FLASH存储器的OTP控制器和控制方法技术领域[0001]本发明涉及半导体器件领域,特别涉及一种基于片上FLASH存储器的0TP控制器和控制方法。背景技术[0002]微控制器和片上系统中经常要对片上部分程序代码和或数据做严格保护,只有被授权的使用者通过特定方式才能读取这些代码和或数据,同时这些代码和或数据一旦被写入后,任何使用者均不能更改或删除这些代码和或数据。如果这些关键性的代码和或数据被未授权的使用者读取到,或者被更改删除,将会严重影响整个系统的性能与可靠性。[0003]在早期的微控制器和系统芯片设计中,这些需要被保护的代码和或数据被固化在片上只读存储器Read-OnlyHVtemory,R0M中。但ROM里的内容在芯片制造时即被固定下来,同一款芯片无法针对不同的用户或应用在ROM里存储不同的代码和或数据。为提高灵活性,目前主流设计将基于反恪丝技术或浮栅技术的OTPOneTimeProgrammable,一次性可编程EPROM存储器嵌入芯片中,其内容可在芯片出厂后由用户自行写入,同时由于OTPEPROM只能被写入一次,因此内容无法被更改删除,从而实现数据保护。[0004]嵌入式FLASH存储器是一种被广泛使用在微控制器和系统芯片上用于存储程序代码和或数据的非易失存储器件。与〇TPEPR0M相比,嵌入式FLASH存储器具有存储规模大,可多次重复编程,方便测试的优点。因此,现在有越来越多的芯片设计使用嵌入式FLASH存储器来取代OTPEPR0M。[0005]由于嵌入式FLASH存储器是可重复擦写的,要保护其中的关键数据不被改写或未授权用户读出,就需要依靠片上其他硬件或软件来控制对嵌入式FLASH存储器的读取、删除和编程操作。嵌入式FLASH存储器的一个特点其内部存储单元是按扇区组织的,删除操作的最小对象也是一个扇区,相应的控制嵌入式FLASH存储器操作的软件或硬件也都也一个扇区为最小控制对象。[0006]目前对片上FLASH存储器内数据的保护电路基本只能保护一个扇区或多个地址连续的扇区内的数据,如需要保护的数据小于一个扇区,或数据地址不连续,则保护数据所在扇区的其它存储单元也无法被当作普通存储单元由使用者任意读写,造成资源浪费,增加了产品成本。[0007]公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成己为本领域一般技术人员所公知的现有技术。发明内容[0008]本发明的目的在于提供一种基于片上FLASH存储器的0TP控制器,其能够对FLASH存储器进行一次性编程的数据读写。[0009]本发明的另一目的在于提供一种基于片上FLASH存储器的0TP控制器,其能够保护OTP数据不被改写。[0010]为实现上述目的,本发明提供了一种基于片上FLASH存储器的0TP控制器,对所述片上FLASH存储器的读写操作进行控制。该0TP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和0TP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及0TP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于0TP数据在所述0TP控制器与所述片上FLASH存储器的存储单元之间的传输。[0011]在一优选的实施方式中,所述0TP控制器还包括:缓存模块,其与所述片上FLASH存储器进行数据通信,用于缓存FLASH存储器的0TP数据。[0012]在一优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。[0013]在一优选的实施方式中,所述通信总线模块的总线类型为AXI或AHB类型。[00M]在一优选的实施方式中,读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。[0015]在一优选的实施方式中,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址己被编程过,则跳过编程操作。[0016]在一优选的实施方式中,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。[0017]本发明的另一方面提供了一种具有0TP控制器的片上FLASH存储器,所述片上FLASH存储器能够进行0TP数据的读写操作。该片上FLASH存储器包括:FLASH存储单元、以及以上提到的0TP控制器。该0TP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和0TP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储单元的读写状态;和0TP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于0TP数据在所述0TP控制器与所述片上FLASH存储器的存储单元之间的传输。[0018]在优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。所述通信总线模块的总线类型为AH或AHB类型。[0019]本发明的再一方面提供了一种对片上FLASH存储器的0TP数据的读写控制方法,包括以下步骤:通过通信总线模块对片上FLASH存储器进行OTP数据输入;将所述通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;将需要写入FLASH存储器的数据和FLASH存储器内部地址输出到读写状态控制模块;和所述读写状态控制模块根据控制规则来确定是否对FLASH存储器进行编程操作。[0020]在优选的实施方式中,所述控制规则包括:读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。[0021]在优选的实施方式中,所述控制规则还包括:所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作。[0022]在优选的实施方式中,所述控制规则还包括:在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。[0023]与现有技术相比,根据本发明的基于片上FLASH存储器的0TP控制器,利用与片上FLASH存储器紧密耦合的0TP控制器,对片上FLASH存储器内任意地址范围内任意数量的存储单元做严格的读写保护,避免了片上FLASH存储单元的浪费,并提高了微控制器和系统芯片软硬件设计的灵活性。附图说明[0024]图1是根据本发明一实施方式的基于片上FLASH存储器的0TP控制器的示意图。具体实施方式[0025]下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。[0026]除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。[0027]图1是根据本发明一优选实施方式的基于片上FLASH存储器的0TP控制器的示意图,该片上FLASH存储器对0TP数据进行读写操作。如图1所示,0TP控制器包括:通信总线模块101、总线协议转换模块102、读写状态控制模块103和0TP接口105。处理器通过该通信总线模块101用于对片上FLASH存储器和0TP控制器进行数据读写,该通信总线模块1〇1的总线类型为AXI或AHB类型。总线协议转换模块102与所述通信总线模块101进行通信,将该通信总线模块101的总线协议转换为片上FLASH存储器的读写总线协议。读写状态控制模块103与所述总线协议转换模块102进行通信,用于控制所述片上FLASH存储器的读写状态。OTP接口105与所述总线协议转换模块102以及所述片上FLASH存储器进行通信,用于〇TP数据在0TP控制器与所述片上FLASH存储器的存储单元之间进行传输。[0028]在一优选的实施方式中,所述0TP控制器还包括缓存模块104,其与所述片上FLASH存储器进行数据通信,用于缓存FLASH存储器的OTP数据。[0029]在一优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。[0030]具体而言,为避免浪费FLASH存储单元,本发明的实施方式中,在0TP控制器内增加一块FLASH单个数据扇区块大小的缓存区域来缓存0TP数据。当处理器编程0TP数据所在扇区时,0TP控制器中的读写状态控制模块103先将0TP数据从FLASH存储器内读出并写入到缓存模块105中,然后擦除FLASH扇区,再将处理器写操作的数据与缓存下来的0TP数据合并写入FLASH存储器,最大限度的利用了存储器的地址空间。[0031]在本发明的另一个优选实施方式中,还提供了一种具有0TP控制器的片上FLASH存储器,所述片上FLASH存储器对0TP数据进行读写操作。该片上FLASH存储器包括:FLASH存储单元、以及上述的0TP控制器。[0032]下面对根据本发明优选实施方式的具有0TP控制器的片上FLASH存储器的工作原理进行简单描述。总线协议转换模块102将通信总线模块101的读操作转换为一个或多个FLASH读数命令,总线的读地址根据预定义的规则映射到FLASH存储器内部地址;片上数据总线的写操作转换为一个或多个FLASH扇区的擦除命令、和一个或多个FLASH编程命令。读写状态控制模块103将来自总线协议转换模块102的FLASH存储器内部访问地址与预定义的需要被保护的一个或多个FLASH数据地址作比较;如访问地址不是被保护地址,则该访问地址不做任何变换即被输出到FLASH存储器地址接口;如访问地址是被保护地址之一,则对访问地址做预定义的变换,如加上固定偏移值等,后再输出到FLASH存储器。[0033]在对被保护数据地址做编程操作前,读写状态控制模块103从片上数据存储模块的FLASH存储器预定义地址中读取被保护数据状态记录,只有当记录表明该被保护地址从未被编程过时才会产生相应的FLASH擦除指令和编程指令;如记录表明该被保护地址已经被编程过,则跳过本次编程操作,保证被保护单元的一次可编程特性。在对非保护数据做擦除编程操作前,根据预先定义的规则检查操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将FLASH该扇区的被保护数据读出并缓存到缓存模块104中,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自总线协议转换模块102的待写入数据依次写入到FLASH该扇区内。[0034]综上所述,根据本发明的基于片上FLASH存储器的0TP控制器,利用与片上FLASH存储器紧密耦合的0TP控制器,对片上FLASH存储器内任意地址范围内任意数量的存储单元做严格的读写保护,避免了片上FLASH存储单元的浪费,并提高了微控制器和系统芯片软硬件设计的灵活性。[0035]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。[0036]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。[0037]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。[0038]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

权利要求:1.一种基于片上FLASH存储器的OTP控制器,对所述片上FLASH存储器的读写操作进行控制,其特征在于,该0TP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和0TP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及0TP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于0TP数据在所述0TP控制器与所述片上FLASH存储器的存储单元之间的传输。2.如权利要求1所述的0TP控制器,其特征在于,所述读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。3.如权利要求2所述的0TP控制器,其特征在于,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址己被编程过,则跳过编程操作。4.如权利要求3所述的0TP控制器,其特征在于,该0TP控制器还包括缓存模块,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。5.—种具有0TP控制器的片上FLASH存储器,所述片上FLASH存储器能够进行0TP数据的读写操作,其特征在于,该片上FLASH存储器包括:FLASH存储单元;以及0TP控制器,该0TP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH单元和0TP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储单元的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储单元的读写状态;和0TP接口,其与所述总线协议转换模块以及所述片上FLASH存储单元进行通信,用于0TP数据在所述0TP控制器与所述FLASH存储单元之间的传输。6.如权利要求5所述的具有0TP控制器的片上FLASH存储器,其特征在于,读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。7.如权利要求6所述的具有OTP控制器的片上FLASH存储器,其特征在于,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作。8.如权利要求7所述的具有OTP控制器的片上FLASH存储器,其特征在于,所述OTP控制器还包括缓存模块,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。9.一种对片上FLASH存储器的OTP数据的读写控制方法,包括以下步骤:通过通信总线模块对片上FLASH存储器进行OTP数据输入;将所述通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;将需要写入FLASH存储器的数据和FLASH存储器内部地址输出到读写状态控制模块;和所述读写状态控制模块根据控制规则来确定是否对FLASH存储器进行编程操作。10.如权利要求9所述的对片上FLASH存储器的OTP数据的读写控制方法,其中所述控制规则包括:读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。11.如权利要求10所述的对片上FLASH存储器的OTP数据的读写控制方法,其中所述控制规则还包括:所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址己被编程过,则跳过编程操作。12.如权利要求11所述的对片上FLASH存储器的0TP数据的读写控制方法,其中所述控制规则还包括:在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。

百度查询: 北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网江苏省电力有限公司南京供电分公司 基于片上FLASH存储器的OTP控制器和控制方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。