CN208444289U - 基于片上flash存储器的otp控制器 - Google Patents
基于片上flash存储器的otp控制器 Download PDFInfo
- Publication number
- CN208444289U CN208444289U CN201821006152.2U CN201821006152U CN208444289U CN 208444289 U CN208444289 U CN 208444289U CN 201821006152 U CN201821006152 U CN 201821006152U CN 208444289 U CN208444289 U CN 208444289U
- Authority
- CN
- China
- Prior art keywords
- flash memory
- module
- read
- data
- otp
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 230000009466 transformation Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Abstract
本实用新型提供了一种基于片上FLASH存储器的OTP控制器。该OTP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在OTP控制器与片上FLASH存储器的存储单元之间的传输。本实用新型的OTP控制器能够对FLASH存储器进行一次性编程的数据读写,并能够保护OTP数据不被改写。
Description
技术领域
本实用新型涉及半导体器件领域,特别涉及一种基于片上FLASH存储器的OTP控制器和控制方法。
背景技术
微控制器和片上系统中经常要对片上部分程序代码和/或数据做严格保护,只有被授权的使用者通过特定方式才能读取这些代码和/或数据,同时这些代码和/或数据一旦被写入后,任何使用者均不能更改或删除这些代码和/或数据。如果这些关键性的代码和/或数据被未授权的使用者读取到,或者被更改/删除,将会严重影响整个系统的性能与可靠性。
在早期的微控制器和系统芯片设计中,这些需要被保护的代码和/或数据被固化在片上只读存储器(Read-Only-Memory,ROM)中。但ROM里的内容在芯片制造时即被固定下来,同一款芯片无法针对不同的用户或应用在ROM里存储不同的代码和/或数据。为提高灵活性,目前主流设计将基于反熔丝技术或浮栅技术的OTP(One Time Programmable,一次性可编程)EPROM存储器嵌入芯片中,其内容可在芯片出厂后由用户自行写入,同时由于OTPEPROM只能被写入一次,因此内容无法被更改/删除,从而实现数据保护。
嵌入式FLASH存储器是一种被广泛使用在微控制器和系统芯片上用于存储程序代码和/或数据的非易失存储器件。与OTP EPROM相比,嵌入式FLASH存储器具有存储规模大,可多次重复编程,方便测试的优点。因此,现在有越来越多的芯片设计使用嵌入式FLASH存储器来取代OTP EPROM。
由于嵌入式FLASH存储器是可重复擦写的,要保护其中的关键数据不被改写或未授权用户读出,就需要依靠片上其他硬件或软件来控制对嵌入式FLASH存储器的读取、删除和编程操作。嵌入式FLASH存储器的一个特点其内部存储单元是按扇区组织的,删除操作的最小对象也是一个扇区,相应的控制嵌入式FLASH存储器操作的软件或硬件也都也一个扇区为最小控制对象。
目前对片上FLASH存储器内数据的保护电路基本只能保护一个扇区或多个地址连续的扇区内的数据,如需要保护的数据小于一个扇区,或数据地址不连续,则保护数据所在扇区的其它存储单元也无法被当作普通存储单元由使用者任意读写,造成资源浪费,增加了产品成本。
公开于该背景技术部分的信息仅仅旨在增加对本实用新型的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
实用新型内容
本实用新型的目的在于提供一种基于片上FLASH存储器的OTP控制器,其能够对FLASH存储器进行一次性编程的数据读写。
本实用新型的另一目的在于提供一种基于片上FLASH存储器的OTP控制器,其能够保护OTP数据不被改写。
为实现上述目的,本实用新型提供了一种基于片上FLASH存储器的OTP控制器,对所述片上FLASH存储器的读写操作进行控制。该OTP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在所述OTP控制器与所述片上FLASH存储器的存储单元之间的传输。
在一优选的实施方式中,所述OTP控制器还包括:缓存模块,其与所述片上FLASH存储器进行数据通信,用于缓存FLASH存储器的OTP数据。
在一优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。
在一优选的实施方式中,所述通信总线模块的总线类型为AXI或AHB类型。
在一优选的实施方式中,读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。
在一优选的实施方式中,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作。
在一优选的实施方式中,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。
本实用新型的另一方面提供了一种具有OTP控制器的片上FLASH存储器,所述片上FLASH存储器能够进行OTP数据的读写操作。该片上FLASH存储器包括:FLASH存储单元、以及以上提到的OTP控制器。该OTP控制器包括:通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储单元的读写状态;和OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在所述OTP控制器与所述片上FLASH存储器的存储单元之间的传输。
在优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。所述通信总线模块的总线类型为AXI或AHB类型。
与现有技术相比,根据本实用新型的基于片上FLASH存储器的OTP控制器,利用与片上FLASH存储器紧密耦合的OTP控制器,对片上FLASH存储器内任意地址范围内任意数量的存储单元做严格的读写保护,避免了片上FLASH存储单元的浪费,并提高了微控制器和系统芯片软硬件设计的灵活性。
附图说明
图1是根据本实用新型一实施方式的基于片上FLASH存储器的OTP控制器的示意图。
具体实施方式
下面结合附图,对本实用新型的具体实施方式进行详细描述,但应当理解本实用新型的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
图1是根据本实用新型一优选实施方式的基于片上FLASH存储器的OTP控制器的示意图,该片上FLASH存储器对OTP数据进行读写操作。如图1所示,OTP控制器包括:通信总线模块101、总线协议转换模块102、读写状态控制模块103和OTP接口105。处理器通过该通信总线模块101用于对片上FLASH存储器和OTP控制器进行数据读写,该通信总线模块101的总线类型为AXI或AHB类型。总线协议转换模块102与所述通信总线模块101进行通信,将该通信总线模块101的总线协议转换为片上FLASH存储器的读写总线协议。读写状态控制模块103与所述总线协议转换模块102进行通信,用于控制所述片上FLASH存储器的读写状态。OTP接口105与所述总线协议转换模块102以及所述片上FLASH存储器进行通信,用于OTP数据在OTP控制器与所述片上FLASH存储器的存储单元之间进行传输。
在一优选的实施方式中,所述OTP控制器还包括缓存模块104,其与所述片上FLASH存储器进行数据通信,用于缓存FLASH存储器的OTP数据。
在一优选的实施方式中,所述缓存模块的容量等于所述片上FLASH存储器的单个数据扇区的容量。
具体而言,为避免浪费FLASH存储单元,本实用新型的实施方式中,在OTP控制器内增加一块FLASH单个数据扇区块大小的缓存区域来缓存OTP数据。当处理器编程OTP数据所在扇区时,OTP控制器中的读写状态控制模块103先将OTP数据从FLASH存储器内读出并写入到缓存模块105中,然后擦除FLASH扇区,再将处理器写操作的数据与缓存下来的OTP数据合并写入FLASH存储器,最大限度的利用了存储器的地址空间。
在本实用新型的另一个优选实施方式中,还提供了一种具有OTP控制器的片上FLASH存储器,所述片上FLASH存储器对OTP数据进行读写操作。该片上FLASH存储器包括:FLASH存储单元、以及上述的OTP控制器。
下面对根据本实用新型优选实施方式的具有OTP控制器的片上FLASH存储器的工作原理进行简单描述。总线协议转换模块102将通信总线模块101的读操作转换为一个或多个FLASH读数命令,总线的读地址根据预定义的规则映射到FLASH存储器内部地址;片上数据总线的写操作转换为一个或多个FLASH扇区的擦除命令、和一个或多个FLASH编程命令。读写状态控制模块103将来自总线协议转换模块102的FLASH存储器内部访问地址与预定义的需要被保护的一个或多个FLASH数据地址作比较;如访问地址不是被保护地址,则该访问地址不做任何变换即被输出到FLASH存储器地址接口;如访问地址是被保护地址之一,则对访问地址做预定义的变换,如加上固定偏移值等,后再输出到FLASH存储器。
在对被保护数据地址做编程操作前,读写状态控制模块103从片上数据存储模块的FLASH存储器预定义地址中读取被保护数据状态记录,只有当记录表明该被保护地址从未被编程过时才会产生相应的FLASH擦除指令和编程指令;如记录表明该被保护地址已经被编程过,则跳过本次编程操作,保证被保护单元的一次可编程特性。在对非保护数据做擦除/编程操作前,根据预先定义的规则检查操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将FLASH该扇区的被保护数据读出并缓存到缓存模块104中,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自总线协议转换模块102的待写入数据依次写入到FLASH该扇区内。
综上所述,根据本实用新型的基于片上FLASH存储器的OTP控制器,利用与片上FLASH存储器紧密耦合的OTP控制器,对片上FLASH存储器内任意地址范围内任意数量的存储单元做严格的读写保护,避免了片上FLASH存储单元的浪费,并提高了微控制器和系统芯片软硬件设计的灵活性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。前述对本实用新型的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本实用新型限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本实用新型的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本实用新型的各种不同的示例性实施方案以及各种不同的选择和改变。本实用新型的范围意在由权利要求书及其等同形式所限定。
Claims (8)
1.一种基于片上FLASH存储器的OTP控制器,对所述片上FLASH存储器的读写操作进行控制,其特征在于,该OTP控制器包括:
通信总线模块,处理器通过该通信总线模块用于对片上FLASH存储器和OTP控制器进行数据读写;
总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储器的读写总线协议;
读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储器的读写状态;以及
OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储器进行通信,用于OTP数据在所述OTP控制器与所述片上FLASH存储器的存储单元之间的传输。
2.如权利要求1所述的OTP控制器,其特征在于,所述读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。
3.如权利要求2所述的OTP控制器,其特征在于,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作。
4.如权利要求3所述的OTP控制器,其特征在于,该OTP控制器还包括缓存模块,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。
5.一种具有OTP控制器的片上FLASH存储器,所述片上FLASH存储器能够进行OTP数据的读写操作,其特征在于,该片上FLASH存储器包括:
FLASH存储单元;以及
OTP控制器,该OTP控制器包括:
通信总线模块,处理器通过该通信总线模块用于对片上FLASH单元和OTP控制器进行数据读写;
总线协议转换模块,其与所述通信总线模块进行通信,将该通信总线模块的总线协议转换为片上FLASH存储单元的读写总线协议;
读写状态控制模块,其与所述总线协议转换模块进行通信,用于控制所述片上FLASH存储单元的读写状态;和
OTP接口,其与所述总线协议转换模块以及所述片上FLASH存储单元进行通信,用于OTP数据在所述OTP控制器与所述FLASH存储单元之间的传输。
6.如权利要求5所述的具有OTP控制器的片上FLASH存储器,其特征在于,读写状态控制模块对来自所述通信总线模块的FLASH存储器内部访问地址与预定义的需要保护的一个或多个FLASH地址作比较,确认内部访问地址是否被保护,当该内部访问地址不是被保护地址,则该内部访问地址直接被输出到所述FLASH存储器的地址接口,当该内部访问地址为被保护地址,则对该内部访问地做预定义变换后在输出到FLASH存储器的地址接口。
7.如权利要求6所述的具有OTP控制器的片上FLASH存储器,其特征在于,所述读写状态控制模块对预定义地址的需要保护的一个或多个FLASH地址中读取被保护数据的状态记录,当被保护的内部访问地址从未编程过,则产生相应的FLASH擦除指令和编程指令,并将来自通信总线模块的数据发送到FLASH存储器的数据接口;当被保护的内部访问地址已被编程过,则跳过编程操作。
8.如权利要求7所述的具有OTP控制器的片上FLASH存储器,其特征在于,所述OTP控制器还包括缓存模块,在进行数据擦除或编程操作前,所述读写状态控制模块根据预定义规则检查待操作的FLASH扇区内是否含有被保护数据,如扇区内有被保护的数据,则先将该扇区的被保护数据读出并缓存到所述缓存模块内,然后执行该扇区的擦除操作,再将缓存的被保护数据和来自所述通信总线模块的待写入数据依次写入到所述扇区内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201821006152.2U CN208444289U (zh) | 2018-06-28 | 2018-06-28 | 基于片上flash存储器的otp控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201821006152.2U CN208444289U (zh) | 2018-06-28 | 2018-06-28 | 基于片上flash存储器的otp控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN208444289U true CN208444289U (zh) | 2019-01-29 |
Family
ID=65087582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201821006152.2U Active CN208444289U (zh) | 2018-06-28 | 2018-06-28 | 基于片上flash存储器的otp控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN208444289U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563590A (zh) * | 2018-06-28 | 2018-09-21 | 北京智芯微电子科技有限公司 | 基于片上flash存储器的otp控制器和控制方法 |
CN109902035A (zh) * | 2019-02-03 | 2019-06-18 | 成都皮兆永存科技有限公司 | 复合存储器 |
-
2018
- 2018-06-28 CN CN201821006152.2U patent/CN208444289U/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563590A (zh) * | 2018-06-28 | 2018-09-21 | 北京智芯微电子科技有限公司 | 基于片上flash存储器的otp控制器和控制方法 |
CN108563590B (zh) * | 2018-06-28 | 2024-02-23 | 北京智芯微电子科技有限公司 | 基于片上flash存储器的otp控制器和控制方法 |
CN109902035A (zh) * | 2019-02-03 | 2019-06-18 | 成都皮兆永存科技有限公司 | 复合存储器 |
CN109902035B (zh) * | 2019-02-03 | 2023-10-31 | 成都皮兆永存科技有限公司 | 复合存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10082966B1 (en) | Electronic storage device | |
CN108563590A (zh) | 基于片上flash存储器的otp控制器和控制方法 | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
CN106484316B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
US8010770B2 (en) | Caching device for NAND flash translation layer | |
KR100531192B1 (ko) | 비휘발성 메모리의 제어방법 | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
CN106445398B (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
KR100533682B1 (ko) | 플래시 메모리의 데이터 관리 장치 및 방법 | |
CA2563277A1 (en) | Storage device and host apparatus | |
CN104285256A (zh) | 非易失性存储器中不插入擦除的多个写入操作 | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
CN109815160A (zh) | 最后写入页搜索 | |
US20130304964A1 (en) | Data processing method, and memory controller and memory storage device using the same | |
CN208444289U (zh) | 基于片上flash存储器的otp控制器 | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN101894591A (zh) | 一种基于lfsr的外部存储接口的随机测试装置 | |
CN102033811B (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
JP2009230414A (ja) | 複数の不揮発性メモリデバイスを有する記憶装置 | |
CN101295281A (zh) | 一种对存储设备进行访问权限限制的方法及存储设备 | |
CN107783916A (zh) | 数据传输方法、存储控制器与清单管理电路 | |
US20080059693A1 (en) | Method for improving lifespan of flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |