一种闪存烧写方法、烧写电路、闪存及设备与流程

文档序号:33478813发布日期:2023-03-15 11:22阅读:98来源:国知局
一种闪存烧写方法、烧写电路、闪存及设备与流程

1.本发明属于集成电路设计和应用技术领域,尤其是涉及一种闪存烧写方法、烧写电路、闪存及设备。


背景技术:

2.在通用的微控制器mcu中,快闪存储器(flash memory)是最常见的指令存储器,它是一种电子可擦除的只读存储器,允许在操作中被多次擦除和烧写。现阶段,flash储存器的写操作很特殊,必须是先擦除,然后才能写入数据,擦除的最小单位是扇区(sector),最小烧写单位一般是flash的行(row)。它们的划分有一定的物理意义和应用的灵活性。实际烧写单位一般是长字(long word),即flash的行(row)的位数。
3.在flash储存器的储存单位中,一个扇区包括多个行(row),在每次需要对某个扇区数据进行擦除时,都需要先将该扇区中不需要被擦除的数据暂时储存到外部存储器或者其它交换扇区中,再对该扇区进行擦除,清除掉所有数据后才能将要更新的数据和暂存在外部存储器或者其它交换扇区中的数据写入,通常需要软件的介入和消耗较多的转存时间。
4.在flash储存器中,如果该扇区有其它数据存在,还需要提前把这些数据读出保存,在扇区擦除后再逐条烧写回各flash地址。这在实际使用的过程中给软件和cpu造成很大的负担,不利于用户在程序运行过程中多次烧写flash。在常用的mcu应用中,在程序运行中烧写flash,软件需要完成以下步骤来完成flash目标地址的内容更新:1) 读出flash目标地址的值,并进行数据判断;2) 如果该地址是擦除后首次烧写则进行直接烧写,如果该地址非擦除后首次烧写则进行以下步骤操作;3) 读出该flash地址所在的整个扇区的有效值,并缓存在其它的存储器或缓存扇区中;4) 擦除该flash地址所在的扇区;5) 把缓存的有效数据和目标烧写数据逐条烧写回该flash扇区。该方案需要占用cpu或dma、存储器空间等硬件资源,以及较大的软件代码空间,降低了系统的执行效率。


技术实现要素:

5.为了弥补上述问题,本技术提出一种闪存烧写方法、烧写电路、闪存及设备,其中方法技术方案包括:一种闪存烧写方法,在闪存控制器中内置sram存储器,通过sram存储器缓存flash扇区的值,以实现硬件电路自动完成对flash阵列的烧写擦除操作,其步骤包括:(1)用户发起flash地址的烧写指令,闪存的总线接口和寄存器模块收到命令后产生目标烧写执行并连通目标烧写信息发送给烧写命令执行控制器;(2)所述烧写命令执行控制器向读取控制电路发送flash地址读取请求,以获取该flash地址的信息;(3)若该flash地址读出信息为已擦除,则所述烧写命令执行控制器直接对该flash地址执行烧写,若否则转入步骤(4);(4)所述烧写命令执行控制器向数据传输控制器发送数据缓存请求;(5)所述数据传输控制器把目标扇区的数据读取到内置sram储存器进行缓存,并向所述烧写命令执行控制器发出
缓存结束信号;(6)所述烧写命令执行控制器向擦写控制电路发起flash扇区擦除请求,由所述擦写控制电路擦除该区域数据,并在擦除结束后向烧写执行控制器返回擦除结束信号;(7)所述烧写命令执行控制器在收到擦除结束信号后将目标烧写信息和缓存信息对应烧写到flash阵列中,完成烧写。
6.所述电路技术方案包括:总线接口和寄存器模块,用于产生目标烧写执行并连通目标烧写信息发送给烧写命令执行控制器;烧写命令执行控制器,用于产生flash擦/写请求、烧写数据选择、flash读取请求、数据缓存请求、sram读取请求,并接收返回的flash擦/写结束、数据缓存结束、数据判断结果和sram读取数据信号;flash阵列,用于储存数据;擦写控制电路,用于控制flash阵列数据擦/写;读取控制电路,用于对flash阵列信息进行读取;还包括,sram存储器,用于在烧写过程储存flash阵列目标扇区的相关数据;读写控制电路,用于控制sram存储器进行数据读写缓存,并能够读取sram存储器数据;其中,烧写命令执行控制器分别与总线接口和寄存器模块、擦写控制电路、读取控制电路和读写控制电路信号连通,flash阵列分别与擦写控制电路、读取控制电路信号连通,sram存储器与读写控制电路信号连通。
7.所述闪存技术方案包括:一种闪存,采用上述的方法进行数据烧写。和/或一种闪存,包括上述的烧写电路。
8.所述设备的技术方案包括:一种设备,设有上述的闪存。
9.本技术有效提高flash同地址多次烧写的效率和便利性,提高flash的存储实用性;有效降低flash同地址多次烧写所占用的软件开销和cpu负荷,提高mcu系统的执行效率;所增加的控制电路均为纯数字逻辑设计,硬件开销较小,易于在电路设计中实现,成本低。
附图说明
10.图1为本发明的方法步骤的一种实施方式的流程示意图;图2为本发明电路系统的一种实施方式的结构示意图;图1中,箭头线标识步骤流程顺序;图2中,线条表示信号连接,箭头表示在该过程中电路传输方向。
具体实施方式
11.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
12.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
13.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
14.本技术中,为了容易理解,采用单阶存储单元(slc,single-level cell)为例,也就是闪存的每一个存储单元存储1bit的数据,存储的数据代表0还是1是基于电压阈值来判定,对于闪存写入,就是对其进行充电,使得它的电压值超过电压判定点a,如存储单元表示为0(已编程,有数据),如果没有充电或者电压阈值低于a点,就表示1(已擦除,尚无数据写入),以slc举例仅为方便理解,并非本技术只能限定在slc芯片中,本技术同样适用于mlc、qlc、tlc等闪存在擦除扇区和烧写长字过程的芯片。
15.本技术中,sram存储器为静态随机存取存储器(static random-access memory,sram),通过访问接口可以随时读取或修改sram储存器的存储值,但是sram储存器并不具备掉电保持的功能。
16.结合图1,本发明一种实施方式。
17.一种闪存烧写方法,在闪存控制器中内置sram存储器,通过sram存储器缓存flash扇区的值,以实现硬件电路自动完成对flash阵列的烧写擦除操作,其步骤包括:(1)用户发起flash地址的烧写指令,闪存的总线接口和寄存器模块收到命令后产生目标烧写执行并连通目标烧写信息发送给烧写命令执行控制器;(2)所述烧写命令执行控制器向读取控制电路发送flash地址读取请求,以获取该flash地址的信息;(3)若该flash地址读出信息为已擦除,则所述烧写命令执行控制器直接对该flash地址执行烧写,若否则转入步骤(4);(4)所述烧写命令执行控制器向数据传输控制器发送数据缓存请求;(5)所述数据传输控制器把目标扇区的数据读取到内置sram储存器进行缓存,并向所述烧写命令执行控制器发出缓存结束信号;(6)所述烧写命令执行控制器向擦写控制电路发起flash扇区擦除请求,由所述擦写控制电路擦除该区域数据,并在擦除结束后向烧写执行控制器返回擦除结束信号;(7)所述烧写命令执行控制器在收到擦除结束信号后将目标烧写信息和缓存信息对应烧写到flash阵列中,完成烧写。
18.在上述实施例的基础上,本技术的烧写过程进一步改进烧写过程的具体实施方式,该烧写过程还包括,所述烧写命令执行控制器逐次读出所述sram储存器缓存数据,并判断该数据是否为有效烧写数据,若是则表示该地址为无效烧写数据,对应的flash扇区地址无需烧写,该地址无需烧写直接跳过;若否,则对该地址进行烧写。
19.在上述一个或多个实施例的基础上,本技术进一步改进,该烧写过程中,结合所述sram储存器的有效烧写数据,所述烧写命令执行控制器对有效烧写数据按对应地址发起烧写请求,若该地址为目标烧写地址,则将所述目标烧写信息烧写到该地址,若否则根据sram储存器缓存数据进行烧写。
20.在上述一个或多个实施例的基础上,本技术进一步改进,烧写过程还包括校验过程,校验所述sram储存器所缓存的数据是否都被读出,若是则结束烧写,若否则重复烧写过程的具体实施方式中所述步骤。
21.一种采用上述任意一种烧写方法的闪存烧写电路,所述电路包括:总线接口和寄存器模块,用于产生目标烧写执行并连通目标烧写信息发送给烧写命令执行控制器;烧写命令执行控制器,用于产生flash擦/写请求、烧写数据选择、flash读取请求、数据缓存请求、sram读取请求,并接收返回的flash擦/写结束、数据缓存结束、数据判断结果和sram读取数据信号;flash阵列,用于储存数据;擦写控制电路,用于控制flash阵列数据擦/写;读取控制电路,用于对flash阵列信息进行读取;还包括,sram存储器,用于在烧写过程储存flash阵列目标扇区的相关数据;读写控制电路,用于控制sram存储器进行数据读写缓存,并能够读取sram存储器数据;其中,烧写命令执行控制器分别与总线接口和寄存器模块、擦写控制电路、读取控制电路和读写控制电路信号连通,flash阵列分别与擦写控制电路、读取控制电路信号连通,sram存储器与读写控制电路信号连通。
22.在上述烧写电路实施例的基础上,本技术进一步改进,所述烧写电路还包括分别与烧写命令执行控制器、读取控制电路和读写控制电路连通的烧写命令执行控制器,烧写命令执行控制器用于根据烧写命令执行控制器所产生的数据缓存请求结合读取控制电路和读写控制电路对sram存储器执行数据缓存操作。
23.在上述烧写电路实施例的基础上,本技术进一步改进,所述烧写电路还包括分别与烧写命令执行控制器、擦写控制电路和读写控制电路连通的数据选择器,数据选择器用于根据烧写命令执行控制器所产生的烧写数据选择信号选择烧写数据来源。
24.一种闪存,所述闪存采用上述任意一种方法进行数据烧写。
25.一种闪存,所述闪存包括上述任意一种烧写电路。
26.一种设备,所述设备设有上述任意一种闪存。
27.本技术有效提高flash同地址多次烧写的效率和便利性,提高flash的存储实用性;有效降低flash同地址多次烧写所占用的软件开销和cpu负荷,提高mcu系统的执行效率;所增加的控制电路均为纯数字逻辑设计,硬件开销较小,易于在电路设计中实现,成本低。
28.上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1