CN205302306U - 一种嵌入式系统 - Google Patents
一种嵌入式系统 Download PDFInfo
- Publication number
- CN205302306U CN205302306U CN201521137982.5U CN201521137982U CN205302306U CN 205302306 U CN205302306 U CN 205302306U CN 201521137982 U CN201521137982 U CN 201521137982U CN 205302306 U CN205302306 U CN 205302306U
- Authority
- CN
- China
- Prior art keywords
- flash memory
- control unit
- flash
- storage area
- address
- 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
- 238000013507 mapping Methods 0.000 claims description 53
- 230000003068 static effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本实用新型公开了一种嵌入式系统,包括:闪存控制器、CPU和闪存芯片,闪存控制器与CPU和闪存芯片分别连接;闪存芯片包括:闪存主存储区,用于存储通用程序数据;闪存系统配置区,用于配置闪存芯片的状态信息;还包括:闪存扩展存储区,用于存储特定的用户数据;所述闪存控制器,用于与闪存系统配置区交互闪存芯片的状态信息,并根据闪存芯片的状态信息,从闪存扩展存储区中读取所述用户数据,供所述CPU执行,或者对闪存扩展存储区所存储的用户数据进行改写;还用于对闪存主存储区进行读写访问。本技术方案,通过增加闪存扩展存储区为用户提供了独立使用的存储空间,实现了用户私有数据的安全存储,同时,还具有复用,不增加额外的硬件开销的有益效果。
Description
技术领域
本实用新型实施例涉及计算机技术领域,尤其涉及一种嵌入式系统。
背景技术
微控制器(MicroControlUnit,MCU)应用非常广泛,小到儿童玩具,大到工程机械均有可能用到。
现在通用的MCU芯片中的存储空间大多为所有用户无差别使用,即为用户共用的存储空间,用户所储存的数据十分容易被可以访问该芯片的用户读取、甚至改写,导致用户存储的数据的安全性较低。尤其在某些保密性非常高的行业应用中,当需要存储一些关键密钥等保密信息时,通常会需要一些独立的私有的存储空间,而现有的MCU芯片无法独立满足用户定制存储的需求,需要借助外接其他芯片的方式实现,例如在通过在MCU芯片外接一颗小的闪存芯片或EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory,电子可擦除可编程只读存储器)等来存储用户独有的一些关键保密信息。
但是,采用现有的MCU芯片外接其他芯片的方法,首先,需要MCU芯片支持访问另外一颗闪存芯片或EEPROM;其次,外界其他芯片会增加整体占用空间,增加作业人员的工作量,操作相对繁琐,且明显增加成本以及系统开发难度。
实用新型内容
本实用新型提供一种嵌入式系统,以解决用户数据存储的安全问题。
本实用新型实施例提供了一种嵌入式系统,包括:闪存控制器、中央处理器(CentralProcessingUnit,CPU)和闪存芯片,所述闪存控制器与所述CPU和所述闪存芯片分别连接;其中,
所述闪存芯片包括:
闪存主存储区,用于存储通用程序数据;
闪存系统配置区,用于配置所述闪存芯片的状态信息;
所述闪存芯片还包括:
闪存扩展存储区,用于存储特定的用户数据;
所述闪存控制器,用于与所述闪存系统配置区交互所述闪存芯片的状态信息,并根据所述闪存芯片的状态信息,从所述闪存扩展存储区中读取所述用户数据,供所述CPU执行,或者对所述闪存扩展存储区所存储的用户数据进行改写;还用于对所述闪存主存储区进行读写访问。
进一步地,所述闪存控制器包括:
闪存系统总线接口;
闪存配置寄存器,与所述闪存系统总线接口连接;
主控单元,与所述闪存系统总线接口和所述闪存配置寄存器分别连接;
闪存控制单元,与所述闪存配置寄存器、所述主控单元和所述闪存芯片分别连接;
所述闪存系统总线接口,用于将系统总线发出的第一读指令和对应的地址发送至所述主控单元,其中,所述第一读指令,用于对所述闪存扩展存储区进行读访问;还用于将系统总线发出的第一写指令和对应的地址发送至所述主控单元,其中,所述第一写指令,用于对所述闪存扩展存储区进行写访问;
所述闪存配置寄存器,用于在所述嵌入式系统上电后,自动读取所述闪存系统配置区中的所述闪存芯片的状态信息,所述闪存芯片的状态信息包括:闪存扩展存储区是否有效信息;将与所述闪存系统总线接口交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息;并向所述主控单元提供闪存扩展存储区的地址映射信息和闪存扩展存储区是否有效信息;
所述主控单元,用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线发出的第一读指令和对应的地址是否有效,若是,则控制所述闪存控制单元对所述闪存芯片中闪存扩展存储区所存储的用户数据进行读取;还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线发出的第一写指令和对应的地址是否有效,若是,则控制所述闪存控制单元对所述闪存芯片中闪存扩展存储区所存储的用户数据进行改写;
所述闪存控制单元,用于根据所述主控单元的控制,对所述闪存芯片中闪存扩展存储区所存储的用户数据进行读取或改写。
进一步地,所述闪存配置寄存器包括:
扩展存储使能寄存器,用于上电后自动从所述闪存芯片中的所述闪存系统配置区读取扩展存储区是否有效信息,并提供至所述主控单元;
扩展存储映射地址寄存器,用于将与所述闪存系统总线接口交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元;
相应的,所述闪存系统总线接口,还用于直接对所述闪存配置寄存器进行读写访问。
进一步地,所述闪存配置寄存器还包括:闪存密钥寄存器和/或闪存操作寄存器;
所述闪存密钥寄存器,用于存放访问所述闪存芯片中的所述闪存系统配置区的密钥;
所述闪存操作寄存器,用于对所述闪存芯片中的所述闪存系统配置区的数据进行擦除、写入或读取。
进一步地,所述主控单元包括:
操作控制单元,用于控制所述闪存控制单元对所述闪存芯片进行擦除、写入或读取操作;
扩展存储地址比较单元,用于判定接收到的所述系统总线发出的第一读指令和对应的地址或发出的第一写指令和对应的地址是否有效。
进一步地,述系统还包括:静态随机存储器(StaticRandomAccessMemory,SRAM),用于在上电后存储所述闪存芯片中的通用程序数据和用户数据;
所述闪存控制器还包括:SRAM控制单元,与所述闪存系统总线接口、所述主控单元、所述闪存控制单元和所述SRAM分别连接;
所述主控单元,还用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一读指令和对应的地址是否有效,若是,则控制所述SRAM控制单元对所述SRAM中所存储的用户数据进行读取;还用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一写指令和对应的地址是否有效,若是,则控制所述SRAM控制单元对所述SRAM中所存储的用户数据进行改写,或控制所述闪存控制单元对所述闪存芯片中所存储的用户数据进行改写;
所述SRAM控制单元,用于根据所述主控单元的控制,对所述SRAM中所存储的用户数据进行读取或改写。
进一步地,所述闪存扩展存储区包括至少一个闪存扩展存储块;
相应的,所述扩展存储使能寄存器,用于上电后自动从所述闪存芯片中的所述闪存系统配置区读取任意一个或者任意多个闪存扩展存储块是否有效信息,并提供至所述主控单元。
进一步地,所述扩展存储映射地址寄存器,还用于将与所述闪存系统总线接口交互的多个不同的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的相同的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元。
进一步地,所述闪存扩展存储区的存储空间小于所述闪存主存储区的存储空间。
本实用新型实施例所提供的技术方案,通过在闪存芯片中增加闪存扩展存储区,可定制给特殊用户独立使用,为用户提供了独立使用的存储空间,且任何其他用户不可见,实现了用户私有数据的安全存储,通过闪存控制器能够对闪存扩展存储区进行读写访问;同时,由于闪存芯片一般都会有一些闲置空间,采用上述技术方案,可以将闪存芯片的闲置空间用作闪存扩展存储区,不需要增加闪存芯片面积,同时节省了外接一颗小的闪存芯片或EEPROM,不需要增加额外的硬件开销,而且还具有读取、擦写所述闪存扩展存储区的逻辑可与读取、擦写闪存主存储区的逻辑复用的有益效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本实用新型实施例一所提供的一种嵌入式系统的结构示意图;
图2A是本实用新型实施例二所提供的一种嵌入式系统的结构示意图;
图2B本实用新型实施例二所提供的一种嵌入式系统中闪存芯片中的闪存系统配置区的改写方法的流程图;
图3是本实用新型实施例三所提供的一种嵌入式系统的结构示意图;
图4A是为本实用新型实施例四提供的一种闪存扩展存储区的结构示意图;
图4B为本实用新型实施例提供的一种嵌入式系统的闪存扩展存储区的读写方法的流程图。
具体实施方式
下面结合附图和实施例对本实用新型作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本实用新型,而非对本实用新型的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本实用新型相关的部分而非全部结构。
实施例一
图1为本实用新型实施例一所提供的一种嵌入式系统的结构示意图,如图1所示,本实施例所提供的嵌入式系统,包括:闪存控制器110、中央处理器(CPU)120和闪存芯片130,闪存控制器110与CPU120和闪存芯片130分别连接;其中,CPU120用于控制闪存控制器110与闪存芯片130的运行;闪存芯片130可读,可擦写,在断电情况下所存储的数据信息不丢失。
其中,闪存控制器110、CPU120配置在嵌入式系统的主芯片上,可采用MCP(MultipleChipPackage)技术将主芯片与闪存芯片制造在同一个封装内,形成嵌入式系统。
在本实用新型实施例中,闪存芯片130包括:闪存主存储区131和闪存系统配置区132。
其中,闪存主存储区131用于存储通用程序数据,通常为所有用户均可使用的存储区域,一般在闪存芯片130中所占有的空间相对较大,例如可以为几百千字节到几兆字节。闪存系统配置区132用于配置所述闪存芯片的状态信息。闪存系统配置区132通常预先配置于闪存芯片中,在实际使用过程中,闪存系统配置区132通常用户不可见也不可修改。闪存系统配置区132一般比较小,例如可以为几个字节到几十个字节不等。
闪存芯片130还包括:闪存扩展存储区133,用于存储特定的用户数据。闪存扩展存储区133尤其适用于存储关键保密的用户数据,比如密码等,闪存扩展存储区133所存储的用户数据,任何其他用户无法直接访问,可以有效保证用户数据的安全性及保密性,满足用户对私有数据的独立存储的需求。
闪存控制器110,用于与所述闪存系统配置区132交互闪存芯片130的状态信息,并从闪存扩展存储区133中读取所述用户数据,供CPU120执行,或者对闪存扩展存储区133所存储的用户数据进行改写;还用于对闪存主存储区131进行读写访问。所述嵌入式系统通过闪存控制器110对闪存芯片130的操作一般主要为读操作,可直接从闪存芯片130中读取用户数据;当闪存芯片130中的数据需要修改时,也可执行写操作,写操作需要先擦除闪存芯片130中相应的位置,然后通过编程的方式改写数据。
本实用新型实施例所提供的技术方案,通过在闪存芯片中增加闪存扩展存储区,可定制给特殊用户独立使用,为用户提供了独立使用的存储空间,且任何其他用户不可见,实现了用户私有数据的安全存储,通过闪存控制器能够对闪存扩展存储区进行读写访问;同时,由于闪存芯片一般都会有一些闲置空间,采用上述技术方案,可以将闪存芯片的闲置空间用作闪存扩展存储区,不需要增加闪存芯片面积,同时节省了外接一颗小的闪存芯片或EEPROM,不需要增加额外的硬件开销,而且还具有读取、擦写所述闪存扩展存储区的逻辑可与读取、擦写闪存主存储区的逻辑复用的有益效果。
实施例二
图2A为本实用新型实施例二提供的一种嵌入式系统的结构示意图,如图2所示,本实施例在上述实施例的基础上,提供了闪存控制器210的优选实现方案。
闪存控制器210包括:闪存系统总线接口211、闪存配置寄存器212、主控单元213和闪存控制单元214。
其中,闪存配置寄存器212与闪存系统总线接口211连接;主控单元213与闪存系统总线接口211和闪存配置寄存器212分别连接;闪存控制单元214与闪存配置寄存器212、主控单元213和闪存芯片230分别连接。
闪存系统总线接口211,用于将系统总线220发出的第一读指令和对应的地址发送至主控单元213,其中,所述第一读指令,用于对所述闪存扩展存储区进行读访问;还用于将系统总线220发出的第一写指令和对应的地址发送至主控单元213,其中,所述第一写指令,用于对所述闪存扩展存储区进行写访问具体的,可以通过控制通路1发送至主控单元213。
闪存配置寄存器212,用于在所述嵌入式系统上电后,自动读取所述闪存系统配置区中的闪存芯片230的状态信息,闪存芯片230的状态信息包括:闪存扩展存储区是否有效信息;将与闪存系统总线接口211交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片230中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息;并向主控单元213提供闪存扩展存储区的地址映射信息和闪存扩展存储区是否有效信息。
主控单元213,可以用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线220发出的第一读指令和对应的地址是否有效,若是,则控制闪存控制单元214对闪存芯片230中闪存扩展存储区所存储的用户数据进行读取;还用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线220发出的第一写指令和对应的地址是否有效,若是,则控制闪存控制单元214对闪存芯片230中闪存扩展存储区所存储的用户数据进行改写。
进一步地,主控单元213还可以根据系统总线220的第一读指令和对应的地址或者第一写指令和对应的地址,通过控制通路2发送至闪存控制单元214。
闪存控制单元214,可以用于根据所述主控单元213的控制,对闪存芯片230中闪存扩展存储区所存储的用户数据进行读取或改写。闪存控制单元214可以通过数据通路2将闪存芯片230中的闪存系统配置区中的闪存芯片230的状态信息,提供至闪存配置寄存器212,进一步的,闪存配置寄存器212可以通过控制通路3为主控单元213提供闪存芯片230中的通用程序数据和用户数据信息。
此外,系统总线220还可通过数据通路1(为闪存系统总线接口211到闪存配置寄存器212之间的数据通路)配置闪存配置寄存器212的信息。
闪存系统总线接口211的功能除了将系统总线220的读写访问转化为对闪存芯片230的读写访问之外,还可以用于将系统总线220的读写访问转化为对闪存配置寄存器212的读写访问,从地址可以区分。当对闪存配置寄存器212读写时,则直接通过数据通路1读出或写入到闪存配置寄存器212中。
在上述实施例的基础上,所述主控单元213可以包括:操作控制单元2131和扩展存储地址比较单元2132。
其中,操作控制单元2131,用于控制所述闪存控制单元214对所述闪存芯片230进行擦除、写入或读取操作;具体的,在控制所述闪存控制单元214对所述闪存芯片230中的闪存扩展存储区进行擦除、写入或读取操作时,需要在扩展存储地址比较单元2132判定当前操作为有效的情况下才会进行。
扩展存储地址比较单元2132,用于判定接收到的所述系统总线发出的第一读指令和对应的地址或发出的第一写指令和对应的地址是否有效。
也就是说,主控单元213可通过控制通路1从闪存系统总线接口211得到系统总线220要执行的操作,比如读操作,或写操作。通过控制通路2,给闪存控制单元214发出指令,如擦除,编程,或读指令等。具体的,如果读写闪存芯片230中的闪存扩展存储区中的用户数据,从控制通路1得到系统总线220发出的读写指令以及地址,从控制通路3得到闪存扩展存储区的地址映射信息,以及扩展存储区是否有效信息,通过扩展存储地址比较单元,判断系统总线220发出的读写指令以及地址是否有效,如有效则对闪存芯片230中的闪存扩展存储区进行读写,如无效,则忽略系统总线220的操作。
在上述实施例的基础上,所述闪存配置寄存器212可以包括:
扩展存储使能寄存器2123,用于上电后自动从所述闪存芯片230中的所述闪存系统配置区读取闪存扩展存储区是否有效信息,并提供至所述主控单元213;需要说明的是,所读取的闪存扩展存储区是否有效信息为闪存芯片230中的闪存系统配置区所配置的闪存芯片230的状态信息中的其中一种。
扩展存储映射地址寄存器2124,用于将与闪存系统总线接口211交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片230中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元213。
相应的,闪存系统总线接口211,还用于直接对闪存配置寄存器212进行读写访问,系统总线220可以通过闪存系统总线接口211到闪存配置寄存器212之间的数据通路1配置闪存寄存器212信息;闪存芯片230的所述闪存系统配置区还包括扩展存储使能寄存器2123以及扩展存储映射地址寄存器2124的状态信息。在上电后,扩展存储使能寄存器2123以及扩展存储映射地址寄存器2124的状态信息可以自动更新到扩展存储使能寄存器2123和扩展存储映射地址寄存器2124中。
在上述实施例的基础上,所述判定接收到的所述系统总线220发出的第一读指令和对应的地址或发出的第一写指令和对应的地址是否有效,具体可以是:
1、判定系统总线220发出的第一读指令对应的地址是否在闪存扩展存储区设定的有效地址范围之内;
2、通过比较扩展存储映射地址寄存器2124与系统总线220发出的第一读指令对应的地址,判定当前地址是否在地址映射范围之内;
3、通过扩展存储使能寄存器2123判定当前地址对应的闪存扩展存储区是否有效。
当3步均判定成功后,则操作控制单元2131发出相应的读取操作指令。
需要说明的是,此处以读取闪存芯片230中的闪存扩展存储区为例进行说明,对闪存扩展存储区而言,改写,擦除或编程指令和对应的地址是否有效的判断类似。
在上述实施例的基础上,闪存配置寄存212器还可以包括:闪存密钥寄存器2121和/或闪存操作寄存器2122。其中,所述闪存密钥寄存器2121,用于存放访问闪存芯片230中的所述闪存系统配置区的密钥,密钥通常预先配置于闪存密钥寄存器2121中,在需要改写闪存系统配置区中的数据时,需要判断密钥是否正确,闪存密钥寄存器2121可以有效防止非法改写。闪存芯片230中闪存系统配置区为厂家配置,为用户不可用,不可见,通过判断密钥是否正确来阻止非法改写。
闪存操作寄存器2122,可以用于对闪存芯片230中的所述闪存系统配置区的数据进行擦除、写入或读取。具体的,当厂家需要改写闪存芯片230中闪存系统配置区时,可通过闪存操作寄存器2122发出擦除,以及编程操作指令,以达到改写闪存芯片230中闪存系统配置区的目的。
本实施例所执行的一种嵌入式系统中闪存芯片中的闪存系统配置区的改写方法,参见图2B,所述方法具体包括:
S210、上电复位,读取闪存芯片中闪存系统配置区中的系统状态信息。
S220、CPU通过系统总线读取闪存芯片中的通用程序数据,控制系统运行。从闪存芯片中读取程序数据,通过系统总线的程序数据总线提供到CPU中,所述嵌入式系统开始正常运行。
S230、判断主控单元是否接收到系统总线的第一写指令和对应的地址,若是,执行S240,若否,则返回S220。也就是说,判断是否需要改写系统配置,若是,则进入写密钥的步骤。
S240、闪存密钥寄存器判定接收到的密钥是否正确,若是,执行S250、若否,则返回S210。只有闪存密钥寄存器判定接收到的密钥正确,才可以执行相应的擦写所述闪存芯片的状态信息的操作,否则将接收到的系统总线的第一写指令和对应的地址视为非法操作。
S250、根据所述系统总线的所述第一写指令和对应的地址,在闪存芯片中的闪存系统配置区,擦除并写入相应的所述闪存芯片的状态信息。本案中,系统总线写入所述扩展存储使能寄存器和所述扩展存储映射地址寄存器要更新的值,由闪存操作寄存器根据系统总线的第一写命令和对应的地址,通过数据通路2改写闪存系统配置区的闪存芯片的状态信息。
在上述技术方案的基础上,所述方法还可以包括:所述闪存操作寄存器根据所述系统总线写入的第一读指令,将当前闪存系统配置区的所述闪存芯片的状态信息更新到闪存配置寄存器中。进一步地,然后通过系统总线读取当前所述闪存芯片的状态信息,并与所述第一写指令进行比对;根据比对结果,确定当前闪存系统配置区的系统配置状态。具体的,如当前所述闪存芯片的状态信息与所述第一写指令一致,则判定所述闪存芯片的状态信息正确,否则,判定所述闪存芯片的状态信息错误,可以根据需要,直接丢弃改芯片,或重新配置所述闪存系统配置区的所述闪存芯片的状态信息。
采用上述技术方案,通过增加扩展存储使能寄存器,扩展存储映射地址寄存器以及扩展存储地址比较单元,既满足了需要存储关键保密信息的用户的需求,便于用户开发,并且在扩展用户存储空间,保护用户数据私有性和独立性的同时,有效保护闪存芯片数据的安全性。
实施例三
图3为本实用新型实施例二提供的一种嵌入式系统的结构示意图,如图3所示,本实施例的技术方案是在上述实施例的基础上进一步的优化,相比较与上述实施例,所述系统还包括:
静态随机存储器(SRAM)310,用于在上电后存储闪存芯片320中的通用程序数据和用户数据。所述嵌入式系统对闪存芯片320的读操作,可直接从闪存芯片320中读取,由于闪存芯片320的读取速度较慢,优选是可通过SRAM310读取,可以实现对闪存芯片320中通用程序数据和用户数据的实时读取,提高对闪存芯片320中通用程序数据和用户数据的读取速度。
为了更好地满足快速读取闪存芯片320中的通用程序数据和用户数据,并考虑到SRAM面积及所占用的地址空间,SRAM310可以包括主SRAM和辅助SRAM,主SRAM的地址空间一般不能太大,比如可以为几十千字节,在具体操作中,当主SRAM的地址空间不足时,可以采用辅助SRAM。
所述闪存控制器330还包括:SRAM控制单元331,与闪存系统总线接口332、主控单元333、闪存控制单元334和SRAM310分别连接;
主控单元333,还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线340发出的第一读指令和对应的地址是否有效,若是,则控制SRAM控制单元331对SRAM310中所存储的用户数据进行读取;还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线340发出的第一写指令和对应的地址是否有效,若是,则控制SRAM控制单元331对SRAM310中所存储的用户数据进行改写,或控制闪存控制单元334对闪存芯片320中所存储的用户数据进行改写。
在上述实施例的基础上,系统总线340还可以发出用于对闪存芯片320中闪存主存储区所存储的通用程序数据进行改写的指令与对应的地址,所述闪存控制单元334通过数据通路5与闪存系统总线接口332交互所述指令与对应的地址,从而实现对闪存芯片320中的闪存主存储区中所存储的通用程序数据进行改写。
在本实施例中,闪存配置寄存器335的具体结构和功能与上述实施例相同。
主控单元333接收系统总线340通过控制通路1发出的第一读指令和对应的地址,并根据闪存配置寄存器335提供的地址映射信息和扩展存储区是否有效信息,判断系统总线340发出的第一读指令和对应的地址有效,优选是通过SRAM310读取闪存芯片320中的数据。若所述嵌入式系统上电后,主控单元333所需读取的目标数据在存储在SRAM310中,则直接从SRAM310中读取,并通过数据通路1发送至系统总线340中;如所述目标数据未存储于SRAM310中,则可以先从闪存芯片320中将所述目标数据读取数据到SRAM310中,再从SRAM310中读取。
具体的,SRAM310所存储的用户数据可以通过闪存控制单元到SRAM控制单元之间的数据通路4,将闪存芯片320中的通用程序数据和用户数据读取到SRAM310中,并且所述嵌入式系统上电后,SRAM310可以自动读取并存储闪存芯片320中闪存主存储区中的通用程序数据或闪存扩展存储区中的用户数据。
SRAM控制单元331,用于根据所述主控单元333的控制,对SRAM310中所存储的用户数据进行读取或改写。SRAM控制单元331可以将接收到的主控单元333通过控制通路4的第一读指令和对应的地址翻译成SRAM310的第一读指令和对应的地址,还可以将接收到的主控单元333的第一写指令和对应的地址翻译成SRAM310的第一写指令和对应的地址。
在上述实施例中,主控单元333可以通过主SRAM310读取闪存芯片320中的通用程序数据和用户数据,例如具体可以是主SRAM进行1:1复制闪存芯片320中的闪存主存储区中需要实时响应的通用程序数据,通过数据通路4提供至闪存系统总线接口332,也就是说,此部分数据系统总线可以直接从主SRAM中读取,为实时读取,没有等待周期,读取速度最快;也可以通过辅助SRAM读取闪存芯片320中的通用程序数据和用户数据,若辅助SRAM中有相应的目标数据,则直接从辅助SRAM中读取,若辅助SRAM中没有相应的数据,可以先将需要读取的数据从闪存芯片320中读取到辅助SRAM中,由辅助SRAM提供通过数据通路3至闪存系统总线接口332。也就是说,通过类似cache的操作方式,如果辅助SRAM中有相应的数据(类似于cachehit),则直接从辅助SRAM中读取,如果辅助SRAM中没有相应的数据(类似于cachemiss),先将需要读取的数据从闪存芯片读取到辅助SRAM中,系统总线再从辅助SRAM中读取。
辅助SRAM一般存储海量不常更改的数据。对读取速度要求不高,一般读取均有一定的等待周期。在本案中,闪存扩展存储区比较小(比如1Kbytes),可通过主SRAM进行1:1复制,这样可实时读取,但会增加SRAM的面积。也可通过辅助SRAM读取,读取方式与前面所述一致,这样读取会增加一些等待周期,但不会增加SRAM面积。
综上,上述技术方案通过SRAM310读取所述闪存芯片320中的通用程序数据和用户数据,有效加快了所述嵌入式系统对所述闪存芯片320中的通用程序数据和用户数据的读取速度,并实现了实时读取,极大提升了用户体验。
实施例四
本实用新型实施例提供两种嵌入式系统,在上述各实施例的基础上,实现多用户存储。
方式一
图4A为本实用新型实施例四提供的一种闪存扩展存储区的结构示意图,如图4A所示,本实施例的技术方案是在上述实施例的基础上进一步的优化,相比较与上述实施例,区别在于,优选是,闪存扩展存储区410包括至少一个闪存扩展存储块411。其中,闪存扩展存储块411的大小可以根据实际需求进行设定,在此不做限定。例如,闪存扩展存储区410总共为128K字节,分为32个扩展存储块411,每个块为4千字节大小。
相应的,所述扩展存储使能寄存器,用于上电后自动从所述闪存芯片中的所述闪存系统配置区读取任意一个或者任意多个闪存扩展存储块411是否有效信息,并提供至所述主控单元。采用本技术方案可以将闪存扩展存储区410分割成多个闪存扩展存储块411,进而可配置每个闪存扩展存储块411是否有效,这样可配置给多个用户,每个用户的闪存扩展存储块411在物理存储上隔离。而且,可灵活配置任意一个或多个闪存扩展存储块411有效,以满足不同用户对扩展存储块411大小的需求。
举例而言,假设闪存扩展存储区410有32个闪存扩展存储块411,每个闪存扩展存储块4有114Kbytes(字节),总共占用128Kbytes的空间;所述扩展存储使能寄存器为32bits,每bit控制1个闪存扩展存储块411是否有效。现有6个用户分别需要4KB、4KB、8KB、16KB、32KB、64KB大小的扩展存储区域,则可以分别配置所述扩展存储使能寄存器为32’h1(最低位为1,其他为0)、32’h2、32’hC、32’hF0、32’hFF00、32’hFFFF_0000。除这上述6个用户外,其他所有的通用标准用户均没有扩展存储区域,则配置成32’h0(所有bit为0)。这样此6家用户均可使用不同的闪存扩展存储块411,从而实现6个用户存储在闪存扩展存储区410的数据互相隔离,达到保密效果。
方式二
在方式一中,由于每增加一个闪存扩展存储块411则需要在闪片芯片中增加同样的物理空间,为了使得闪存扩展存储区410可以满足更多用户的数据存储需求,所述扩展存储映射地址寄存器,优选是还用于将与所述闪存系统总线接口交互的多个不同的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的闪存扩展存储区410的相同的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元。
其中,所述闪存扩展存储区的地址映射信息通常作为闪存扩展存储区410的相同的物理地址信息的逻辑地址信息,以供用户通过系统总线实现对闪存扩展存储区410的读写访问。
举例而言,假设第一用户需要4K扩展存储区对应第一闪存扩展存储块,扩展存储使能寄存器为32’h1,可配置扩展存储映射地址寄存器为0,若总共4Kbytes的逻辑地址范围,则映射到的系统总线地址为32’h00C0_0000到32’h00C0_0FFF;第二用户同样使用第一闪存扩展存储块,扩展存储使能寄存器仍为32’h1,此时可以配置所述扩展存储映射地址寄存器为1,则映射到的系统总线地址为32’h00C2_0000到32’h00C2_0FFF。这样由于两家用户访问所述闪存扩展存储区的逻辑地址不同,同样可以达到数据隔离,互相保密的效果。
上述技术方案,采用所述扩展存储映射地址寄存器将同一个所述闪存控制快的物理地址信息映射为系统总线的多个不同的逻辑地址信息,由于用户在实际操作中,通常只需要使用系统总线的逻辑地址信息,使得同一所述闪存扩展存储块可配置给不同用户,从而实现可以满足更多用户的数据存储需求,将闪存芯片有限的物理空间,更好地配置给更多用户进行数据存储。
为了更好的满足用户对所述闪存芯片的需求,合理分配空间,优选是所述闪存扩展存储区的存储空间小于所述闪存主存储区的存储空间。
采用上述技术方案所提供的嵌入式系统,即使存储有用户A的数据信息的闪存芯片A,被用户B破解,用户B也只能读取闪存芯片A中闪存主存储区的通用程序数据,由于用户A的芯片的闪存扩展存储区所用的物理地址或逻辑地址与用户B的扩展存储区所用的物理地址和/或逻辑地址不同,使得闪存芯片A中闪存主存储区的通用程序数据无法在用户B的闪存芯片B上使用,充分保护了每个用户的数据存储的私有性、独立性,大大提高了安全性。
图4B为本实施例所述执行的一种嵌入式系统的闪存扩展存储区的读写方法的流程图,所述方法包括:
S410、上电复位,读取闪存芯片中闪存系统配置区中的系统状态信息。具体包括,上电复位后,闪存芯片中的闪存系统配置区所存储的扩展存储使能寄存器的信息,以及扩展存储映射地址寄存器的信息,可以自动更新至扩展存储使能寄存器和扩展存储映射地址寄存器中。
S420、CPU通过系统总线读取闪存芯片中的通用程序数据,控制系统运行。
S430、判断所述系统总线的指令是否为读写闪存芯片中的闪存扩展存储区,若是,执行S440;若否,则返回S420。
S440、主控单元根据所述系统总线的指令执行相应的操作。
S450、若所述系统总线指令为第一读指令和对应的地址,则所述主控单元根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一读指令和对应的地址是否有效,若是,执行S470,若否,则返回S420。
S460、若所述系统总线指令为第一写指令和对应的地址,则主控单元根据所述闪存芯片中的所述闪存系统配置区的系统状态信息配置闪存控制器,执行S480。
S470、所述CPU通过闪存控制单元读取闪存扩展存储区相应的数据。
S480、所述主控单元根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一写指令和对应的地址是否有效,若是,执行S490;若否,则返回S420。
在S450和S480中,所述主控单元可以通过扩展存储地址比较单元判断所述系统总线发出的第一读指令和对应的地址或发出的第一写指令和对应的地址否为闪存扩展存储区有效地址。
举例而言,假设扩展存储使能寄存器2123为32bits,总共有32个扩展存储块,每块4Kbytes,变量设为ext_en[31:0](从0~31,总共32个配置)。扩展存储映射地址寄存器2124可将每个扩展存储块的物理地址映射为32个不同的逻辑地址,变量设为ext_ad[4:0],则需要逻辑地址范围为32x4KBx32=4096KB,可以设定闪存扩展存储区的逻辑地址范围为32’h00C0_0000~32’h00FF_FFFF,其中,每种逻辑地址的映射范围为4096/32=128KB,而每个128KB分为32个扩展存储块。则每个闪存扩展存储块为128KB/32=4KB。此时系统总线发出读指令,读地址为addr。此时,需要通过扩展存储地址比较单元判定当前地址是否为闪存扩展存储区的有效地址,判定步骤为:
1.addr<=32’h00FF_FFFF且addr>=32’h00C0_0000;
2.addr[21:17]==ext_ad[4:0];
3.ext_en[addr[16:12]]为1。
当3个判定条件均满足时,则说明当前地址为扩展存储区的有效地址。
S490、所述CPU通过主控单元中的操作控制单元擦写所述闪存扩展存储区。
采用上述技术方案,不仅可以满足多用户的私有存储的需求,而且在读写闪存扩展存储区时,通过对地址有效性的判断,充分保证数据的安全。
注意,上述仅为本实用新型的较佳实施例及所运用技术原理。本领域技术人员会理解,本实用新型不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本实用新型的保护范围。因此,虽然通过以上实施例对本实用新型进行了较为详细的说明,但是本实用新型不仅仅限于以上实施例,在不脱离本实用新型构思的情况下,还可以包括更多其他等效实施例,而本实用新型的范围由所附的权利要求范围决定。
Claims (9)
1.一种嵌入式系统,其特征在于,包括:闪存控制器、中央处理器CPU和闪存芯片,所述闪存控制器与所述CPU和所述闪存芯片分别连接;其中,
所述闪存芯片包括:
闪存主存储区,用于存储通用程序数据;
闪存系统配置区,用于配置所述闪存芯片的状态信息;
所述闪存芯片还包括:
闪存扩展存储区,用于存储特定的用户数据;
所述闪存控制器,用于与所述闪存系统配置区交互所述闪存芯片的状态信息,并根据所述闪存芯片的状态信息,从所述闪存扩展存储区中读取所述用户数据,供所述CPU执行,或者对所述闪存扩展存储区所存储的用户数据进行改写;还用于对所述闪存主存储区进行读写访问。
2.根据权利要求1所述的系统,其特征在于,所述闪存控制器包括:
闪存系统总线接口;
闪存配置寄存器,与所述闪存系统总线接口连接;
主控单元,与所述闪存系统总线接口和所述闪存配置寄存器分别连接;
闪存控制单元,与所述闪存配置寄存器、所述主控单元和所述闪存芯片分别连接;
所述闪存系统总线接口,用于将系统总线发出的第一读指令和对应的地址发送至所述主控单元,其中,所述第一读指令,用于对所述闪存扩展存储区进行读访问;还用于将系统总线发出的第一写指令和对应的地址发送至所述主控单元,其中,所述第一写指令,用于对所述闪存扩展存储区进行写访问;
所述闪存配置寄存器,用于在所述嵌入式系统上电后,自动读取所述闪存系统配置区中的所述闪存芯片的状态信息,所述闪存芯片的状态信息包括:闪存扩展存储区是否有效信息;将与所述闪存系统总线接口交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息;并向所述主控单元提供闪存扩展存储区的地址映射信息和闪存扩展存储区是否有效信息;
所述主控单元,用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线发出的第一读指令和对应的地址是否有效,若是,则控制所述闪存控制单元对所述闪存芯片中闪存扩展存储区所存储的用户数据进行读取;还用于根据所述地址映射信息和所述闪存扩展存储区是否有效信息,判断系统总线发出的第一写指令和对应的地址是否有效,若是,则控制所述闪存控制单元对所述闪存芯片中闪存扩展存储区所存储的用户数据进行改写;
所述闪存控制单元,用于根据所述主控单元的控制,对所述闪存芯片中闪存扩展存储区所存储的用户数据进行读取或改写。
3.根据权利要求2所述的系统,其特征在于,所述闪存配置寄存器包括:
扩展存储使能寄存器,用于上电后自动从所述闪存芯片中的所述闪存系统配置区读取扩展存储区是否有效信息,并提供至所述主控单元;
扩展存储映射地址寄存器,用于将与所述闪存系统总线接口交互的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元;
相应的,所述闪存系统总线接口,还用于直接对所述闪存配置寄存器进行读写访问。
4.根据权利要求3所述的系统,其特征在于,所述闪存配置寄存器还包括:闪存密钥寄存器和/或闪存操作寄存器;
所述闪存密钥寄存器,用于存放访问所述闪存芯片中的所述闪存系统配置区的密钥;
所述闪存操作寄存器,用于对所述闪存芯片中的所述闪存系统配置区的数据进行擦除、写入或读取。
5.根据权利要求2-4任一所述的系统,其特征在于,所述主控单元包括:
操作控制单元,用于控制所述闪存控制单元对所述闪存芯片进行擦除、写入或读取操作;
扩展存储地址比较单元,用于判定接收到的所述系统总线发出的第一读指令和对应的地址或发出的第一写指令和对应的地址是否有效。
6.根据权利要求2所述的系统,其特征在于,所述系统还包括:静态随机存储器SRAM,用于在上电后存储所述闪存芯片中的通用程序数据和用户数据;
所述闪存控制器还包括:SRAM控制单元,与所述闪存系统总线接口、所述主控单元、所述闪存控制单元和所述SRAM分别连接;
所述主控单元,还用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一读指令和对应的地址是否有效,若是,则控制所述SRAM控制单元对所述SRAM中所存储的用户数据进行读取;还用于根据所述地址映射信息和所述扩展存储区是否有效信息,判断系统总线发出的第一写指令和对应的地址是否有效,若是,则控制所述SRAM控制单元对所述SRAM中所存储的用户数据进行改写,或控制所述闪存控制单元对所述闪存芯片中所存储的用户数据进行改写;
所述SRAM控制单元,用于根据所述主控单元的控制,对所述SRAM中所存储的用户数据进行读取。
7.根据权利要求5所述的系统,其特征在于:所述闪存扩展存储区包括至少一个闪存扩展存储块;
相应的,所述扩展存储使能寄存器,用于上电后自动从所述闪存芯片中的所述闪存系统配置区读取任意一个或者任意多个闪存扩展存储块是否有效信息,并提供至所述主控单元。
8.根据权利要求7所述的系统,其特征在于:所述扩展存储映射地址寄存器,还用于将与所述闪存系统总线接口交互的多个不同的与所述第一读指令对应的地址或与所述第一写指令对应的地址,映射为闪存芯片中的所述闪存扩展存储区的相同的物理地址信息,作为闪存扩展存储区的地址映射信息,提供至所述主控单元。
9.根据权利要求1所述的系统,其特征在于:所述闪存扩展存储区的存储空间小于所述闪存主存储区的存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201521137982.5U CN205302306U (zh) | 2015-12-31 | 2015-12-31 | 一种嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201521137982.5U CN205302306U (zh) | 2015-12-31 | 2015-12-31 | 一种嵌入式系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205302306U true CN205302306U (zh) | 2016-06-08 |
Family
ID=56470315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201521137982.5U Active CN205302306U (zh) | 2015-12-31 | 2015-12-31 | 一种嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN205302306U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934258A (zh) * | 2015-12-31 | 2017-07-07 | 北京兆易创新科技股份有限公司 | 一种嵌入式系统 |
CN107315699A (zh) * | 2017-06-12 | 2017-11-03 | 记忆科技(深圳)有限公司 | 一种tf卡 |
CN113741792A (zh) * | 2020-05-29 | 2021-12-03 | 广州极飞科技股份有限公司 | 用于单片机存储数据的方法、单片机及可读存储介质 |
-
2015
- 2015-12-31 CN CN201521137982.5U patent/CN205302306U/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934258A (zh) * | 2015-12-31 | 2017-07-07 | 北京兆易创新科技股份有限公司 | 一种嵌入式系统 |
CN106934258B (zh) * | 2015-12-31 | 2023-12-15 | 兆易创新科技集团股份有限公司 | 一种嵌入式系统 |
CN107315699A (zh) * | 2017-06-12 | 2017-11-03 | 记忆科技(深圳)有限公司 | 一种tf卡 |
CN113741792A (zh) * | 2020-05-29 | 2021-12-03 | 广州极飞科技股份有限公司 | 用于单片机存储数据的方法、单片机及可读存储介质 |
CN113741792B (zh) * | 2020-05-29 | 2023-09-01 | 广州极飞科技股份有限公司 | 用于单片机存储数据的方法、单片机及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162556B2 (en) | Multi-partitioning of memories | |
KR100797325B1 (ko) | 통합 메모리 및 컨트롤러 | |
US9128845B2 (en) | Dynamically partition a volatile memory for a cache and a memory partition | |
CN109376123B (zh) | 管理文件的方法、分布式存储系统和管理节点 | |
WO2017000658A1 (zh) | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US20070016719A1 (en) | Memory device including nonvolatile memory and memory controller | |
KR20070070122A (ko) | 하드 디스크 드라이브 캐시 메모리 및 재생 장치 | |
CN205302306U (zh) | 一种嵌入式系统 | |
CN105786725B (zh) | 基于异构混合内存的内存管理方法和系统 | |
JP7547231B2 (ja) | メモリシステムおよび制御方法 | |
CN103403803A (zh) | 可以很容易在其中设定扩展功能的存储器系统 | |
US20230185476A1 (en) | Management of Storage Space in Solid State Drives to Support Proof of Space Activities | |
CN112840325B (zh) | 存储装置上的名称空间中的错误检查 | |
CN104423894A (zh) | 数据储存装置以及快闪存储器控制方法 | |
US11775188B2 (en) | Communications to reclaim storage space occupied by proof of space plots in solid state drives | |
WO2016155282A1 (zh) | 一种存储分区的方法及终端 | |
CN102693191B (zh) | 半导体器件和存储器保护方法 | |
CN106934258B (zh) | 一种嵌入式系统 | |
CN106227683A (zh) | 电子设备及信息处理方法 | |
TWI673716B (zh) | 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 | |
US11500583B2 (en) | Storage device, an operation method of a storage system including the storage device in which data stored in apinned buffer area and a non-pinned buffer area is flushed according to a flush request/policy, and a host device controlling the storage device | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
CN100437485C (zh) | 用于配置计算机系统的系统和方法 | |
KR20080045833A (ko) | 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템 | |
WO2017107163A1 (zh) | 基于异构混合内存的内存管理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CP03 | Change of name, title or address |