一种对Flash存储器进行编程管理的装置及方法与流程
- 国知局
- 2024-07-31 19:58:08
本申请涉及flash存储器领域,具体而言本申请实施例涉及一种对flash存储器进行编程管理的装置及方法。
背景技术:
1、在现代电子设备中,flash存储器是最常用的非易失性存储器。由于不同系列、不同架构的芯片可能需要不同参数、规格的flash存储器,为了简化flash编程和管理,开发者需要一个通用的api框架来进行flash存储器操作,如擦除、编程、验证等。但是现有的解决方案可能针对特定的flash ip特性(例如,一次编程的最短编程长度、编程前是否要求先对flash进行擦除、编程操作所需要操作的寄存器等)进行设计,并且针对不同flash的ip特性需要用不同的方法进行编程,这样缺乏足够的通用性和灵活性。
技术实现思路
1、本申请实施例的目的在于提供一种对flash存储器进行编程管理的装置及方法,采用本申请实施例强调了对flash的通用处理,提供了基础的接口,可以对flash进行自由擦除和自由编程操作,同时考虑到了验证、加密(双区代码加密模块)状态和密码区的特性,该框架将各flash的特性抽象出通用的接口,简化了上层应用的实现和移植。
2、第一方面,本申请实施例提供一种对flash存储器进行编程管理的装置,所述装置包括:内核属性参数配置模块,包括通用闪存接口flashapi部分层配置文件,在移植时被配置为通过接收的配置信息完成对所述通用闪存接口flashapi部分层配置文件的配置;基本操作代码模块,被配置为用于实现多类基本功能并提供与相应功能对应的接口,其中,所述多类基本功能包括:最大单位擦除、最小单位的擦除或最小单位编程;工具代码模块,用于实现flash设计特征的cpu性能配置并提供对应接口;以及框架接口模块,被配置为向下调用所述基本操作代码模块和所述工具代码模块所提供的接口,以向用户提供多种针对闪存的操作接口,其中,所述多种针对闪存的操作接口包括:单比特编程接口、自由编程接口、自由擦除接口以及初始化接口。
3、在一些实施例中,所述自由编程接口允许所述用户在任何位置以任何长度进行编程,所述单比特编程接口用于向所述用户提供在任何位置进行单比特编程的功能。
4、在一些实施例中,所述框架接口模块还被配置为向下调用验证接口,以实现根据芯片的加解密状态以及是否打开密码锁来验证写入内容是否正确。
5、在一些实施例中,所述验证接口可提供针对不同区域特性、dcsm状态和是否为密码区,综合判断数据的正确性。
6、在一些实施例中,所述工具代码模块的接口用于提供芯片的状态信息,其中,所述芯片状态信息包括芯片的加解密状态、密码锁是否打开、是否执行过“不可再编程”操作、是否打开密码消息认证模块cmac的密钥。
7、在一些实施例中,所述通用flashapi部分层配置文件包含flashinit、flash0base、flash相关寄存器、dcsm相关信息以及寄存器。
8、在一些实施例中,所述最小区域擦除是针对用户的一次性编程区域userotp、系统的一次性编程区域sysotp和masssector区域(即flash放工程代码和常量的区域)的擦除。
9、在一些实施例中,所述最小单位编程包括针对mass区和一次性编程区域otp区的单比特编程;所述自由编程接口用于提供包括针对mass区和otp区的自由编程,其中,所述mass区域(或称为masssector区域)是flash放工程代码和常量的区域。
10、第二方面,本申请的一些实施例提供一种对flash存储器进行编程管理的方法,应用于如上所述的对flash存储器进行编程管理的装置上,所述方法包括:确定编程方式,其中,所述编程方式至少包括最小单位编程或者自由编程;根据确认的编程方式完成编程;对编程结果进行验证。
11、在一些实施例中,所述根据确认的编程方式完成编程,包括:确认编程区域;根据确认得到的编程区域分解数据;调用擦除函数对待编程区域进行数据擦除;调用相应最小编程函数对所述编程区域进行编程。
技术特征:1.一种对flash存储器进行编程管理的装置,其特征在于,所述装置包括:
2.如权利要求1所述的装置,其特征在于,所述自由编程接口允许所述用户在任何位置以任何长度进行编程,所述单比特编程接口用于向所述用户提供在任何位置进行单比特编程的功能。
3.如权利要求1所述的装置,其特征在于,所述框架接口模块还被配置为向下调用验证接口,以实现根据芯片的加解密状态以及是否打开密码锁来验证写入内容是否正确。
4.如权利要求3所述的装置,其特征在于,所述验证接口可提供针对不同区域特性、dcsm状态和是否为密码区,综合判断数据的正确性。
5.如权利要求1所述的装置,其特征在于,所述工具代码模块的接口用于提供芯片的状态信息,其中,所述芯片状态信息包括芯片的加解密状态、密码锁是否打开、是否执行过“不可再编程”操作、是否打开密码消息认证模块cmac的密钥。
6.如权利要求1所述的装置,其特征在于,所述通用flashapi部分层配置文件包含flash初始化文件flashinit、第x个flash的配置寄存器的基址flashxbase、flash相关寄存器、双区代码加密模块dcsm相关信息以及寄存器。
7.如权利要求1所述的装置,其特征在于,所述最小区域擦除是针对用户的一次性编程区域userotp、系统的一次性编程区域sysotp和flash用于放工程代码和常量的区域masssector的擦除。
8.如权利要求1所述的装置,其特征在于,
9.一种编程的方法,基于如权利要求1-8中任一项所述的对flash存储器进行编程管理的装置进行编程,所述方法包括:
10.如权利要求9所述的方法,其特征在于,所述根据确认的编程方式完成编程,包括:
技术总结本申请实施例提供一种对Flash存储器进行编程管理的装置及方法,所述装置包括:内核属性参数配置模块,包括通用闪存接口FlashApi部分层配置文件,在移植时被配置为通过接收的配置信息完成对所述通用闪存接口FlashApi部分层配置文件的配置;基本操作代码模块,被配置为用于实现多类基本功能并提供与相应功能对应的接口;工具代码模块,用于实现CPU性能配置并提供对应接口;以及框架接口模块,被配置为向下调用所述基本操作代码模块和所述工具代码模块所提供的接口,以向用户提供多种针对闪存的操作接口。采用本申请实施例可以对Flash进行自由擦除和自由编程,同时将各Flash的特性抽象出通用的接口,简化了上层应用的实现和移植。技术研发人员:韩铎,张劲松,吴军宁受保护的技术使用者:北京中科昊芯科技有限公司技术研发日:技术公布日:2024/5/27本文地址:https://www.jishuxx.com/zhuanli/20240731/184814.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表